September 2nd, 2021

2021 год

Алгоритмика

Информатика, её поддисциплины и её инженерная практика
Дэвид Дойч считает информатику/computer science (https://en.wikipedia.org/wiki/Computer_science) одной из четырёх нитей, без которых не получается объяснить структуру нашей реальности (другие – это квантовая физика в интерпретации Эверетта, эволюционная эпистемология Поппера, эволюционная теория репликаторов Докинза).

Иногда информатику делят (https://cstheory.stackexchange.com/questions/1521/origins-and-applications-of-theory-a-vs-theory-b) на Theory A как алгоритмику, занимающуюся вопросами сложности алгоритмов и их эффективностью, и Theory B, занимающуюся вопросами теории информации, семантики и логики вычислений.

В интеллект-стеке мы рассматриваем SoTA информатики как научной практики в разных местах стека. Более того, мы встречаем в интеллект-стеке информатику не только как научную дисциплину/science (теорию и средства моделирования для теории), но и как опирающуюся на её теорию инженерную практику в составе труда (компьютерную и программную инженерию как виды инженерии: создание компьютеров как физических вычислителей и программного обеспечения к ним). Грамотный человек сегодня не только умеет сам умеет читать сложный текст и писать слепым десятипальцевым методом на клавиатуре, но и может сам отмоделировать какой-то кусок мира, и даже сам выполнить какие-то несложные вычисления с помощью компьютера -- как предки с трудом научились умножать "в столбик", как дедушки-бабушки научились это делать при помощи калькулятора, так любой школьник должен уметь сделать это на каком-то языке программирования, хотя бы программируя на языке электронных таблиц MS Excel или Google Tables.

Понятие алгоритма как некоторой последовательности вычислений, из входных данных получающих выходные данные, все знают ещё из школы. Сегодня понятно (первый доклад в https://vimeo.com/553810189, слайды https://yadi.sk/i/F6e33aVANX3J3g), как алгоритмику в объёме требований по программированию из текущего ЕГЭ дать уже к окончанию начальной школы, причём детям на это требуется решать задачи всего около 16 часов (да, так мало!), а взрослым около 8 часов (они всё-таки более организованы, чем дети). Удивителен сам факт, что дети и взрослые осваивают азы мастерства императивного/процедурного программирования за примерно одинаковое время, а для этого достигают понимания основных понятий: алгоритма, вычислителя/интерпретатора алгоритма, языка программирования, программиста (составляющего алгоритм), шага алгоритма, данных. Эта учебная программа уже преподаётся десяткам тысяч детей.

Но всё-таки компьютеры в массе своей в труде используются только как ручка-бумажка-на-стероидах. Не "вычислитель" (computer -- это вычислитель!), а просто "счёты с хорошей коллективной памятью". Память при при этом, конечно, структурированная -- она содержит не просто какие-то тексты и картинки, а описания мира/модели, обширные "базы данных" с довольно кучерявыми "моделями данных". Или даже неструктурированную информацию для полнотекстового поиска в корпоративных хранилищах документов. Как устроены эти описания мира разной степени формальности в computer science разбирается в рамках Theory B (теория информации, логика, семантика, далее мы будем ещё рассматривать онтологию с многоуровневым мета-моделированием, они все идут по этой линии Theory B): как мы думаем о мире, как записываем наши мысли, что означают знаки, как представлены знаки на физических носителях, как их интерпретировать.

Выычислительная мощь компьютеров в бизнесе пока задействуется примерно в объёме бухгалтерских счётов-на-стероидах, простейшие сложения и умножения. Это вычисления человека, который использует компьютеры и компьютерную связь для помощи в управлении личным и коллективным вниманием, для организации общения с другими людьми, для умощнения памяти. Вычислять ничего не нужно, знание о том, как составить простой алгоритм и объяснить его компьютеру на языке программирования школьники получают, сдают ЕГЭ -- и дальше не используют.

Проблема в том, что в 21 веке алгоритмика (Theory A из computer science/информатики) поменялась, и нужно с ней разбираться заново.

Новая алгоритмика: изучение универсальных алгоритмов
В Theory A предметом заботы является алгоритмика, вычисления как таковые -- нахождение таких способов вычислений, которые как дают точный результат, так и укладываются в ресурсный бюджет. Проблема в том, что точность моделирования мира и потребность в вычислительных ресурсах в большинстве случаев увязаны между собой. Если вы хотите отмоделировать мир точно, то вам нужно много исходных данных и много вычислений. Иногда это удаётся обойти придумыванием нового способа моделирования, новых алгоритмов вычислений, но иногда теория говорит, что в общем случае это невозможно. Например, сегодня для многих и многих задач находится максимум какой-то функции методом градиентного спуска. В конце 2021 года выяснилось, что точность и вычислительная сложность (время вычисления) для таких задач связаны пропорционально . Если точность удвоить, то время нужно увеличить вчетверо (и это обычно приемлемо), но если для некоторых приложений нужна точность в квадрате, то время (число вычислительных шагов) нужно увеличивать тоже в квадрате – и это может оказаться за пределами разумного. Скажем, 1млрд шагов одинарной точности могут выполняться одну секунду, но вот миллиард секунд для квадрата этой точности – это 32 года работы вычислителя!

Похожие рассуждения по ресурсным (а не теоретическим!) ограничениям на вычисления есть и для многих других классов задач. Например, криптографические задачи основываются на том, что вы легко проверяете ключ на его правильность, за долю секунды. Но вот найти этот ключ, если вы его не знаете, может потребовать тысяч лет вычислений. Ситуация осложняется тем, что при переходе на другую физику (например, квантовый вычислитель/компьютер разбрасывает нужные для получения операции по бесконечному числу вселенных, а потом собирает их результаты для получения конечного ответа, подробно это рассказывается в книгах Дэвида Дойча) оценка сложности алгоритмов меняется. И ещё всё время придумываются новые алгоритмы, причём нахождение нового алгоритма – это творческий процесс, для многих классов задач до сих пор (2021) непонятно, можно ли вообще найти быстрый алгоритм получения решения (проблема перебора, https://ru.wikipedia.org/wiki/Равенство_классов_P_и_NP ): можно ли для задач, которые заведомо решаются методом перебора придумать алгоритм, который решает их не за экспоненциальное по отношению к объёму входных данных время, а за меньшее, полиномиальное или даже линейное. Алгоритмика до сих пор не даёт ответа на этот важный вопрос!).

Есть математический результат 1989 года (теорема Джоржа Цыбенко, https://ru.wikipedia.org/wiki/Теорема_Цыбенко ), который показывает, что нейронная сеть с одним скрытым слоем является универсальным аппроксиматором, то есть может отмоделировать с заданной точностью любую функцию, если в ней есть "достаточное количество нейронов". Любая функция -- это таки математически любая, например, "распознавание речи" это из входных бит огибающей сигнала на выходе аналого-цифрового преобразователя с сигнала микрофона вычислить по фукнции распознавания речи последовательность бит слов текста в подходящей символьной кодировке. Синтез речи -- это обратная функция, из букв в звуки. Диагноз -- это функция из входных данных множества анализов больного в выходные с текстом диагноза. Назначение лечения -- обратная функция.

Проблема только в том, что на существующих классических компьютерах моделирование даже простых функций занимает на такой нейронное сети огромное время, это математически очень крутой результат, но практически он бесполезен. Алгоритмика как раз наука о том, как получить практически полезные результаты. Так, если сделать глубокую нейронную сеть (несколько скрытых слоёв), то свойства универсального аппроксиматора остаются, но время моделирования оказывается вполне приемлемым -- хотя опыт показывает, что один расчёт по сегодняшним ценам может стоить несколько миллионов долларов за аренду вычислительных мощностей для этого (нейронная сеть GPT-3 была вычислена за примерно $4.6 миллиона долларов, а если на том же уровне цен обучать нейросеть GPT-4, то это обошлось бы в $8.6 миллиардов долларов, https://www.reddit.com/r/MachineLearning/comments/i49jf8/d_biggest_roadblock_in_making_gpt4_a_20_trillion/).

Интеллект компьютеров, похоже, зависит главным образом от вычислительной мощности -- это так называемый "горький урок" (http://incompleteideas.net/IncIdeas/BitterLesson.html), полученный анализом всех прошлых прорывов в области AI. Все эти прорывы оказывались прорывами не столько в хитрых конструкциях самого интеллекта как исполняемого на хитрых компьютерах хитрыми алгоритмами, сколько прорывами в не очень хитрой вычислительной мощности, которую отдавали относительно простым универсальным алгоритмам. То есть вы в конечном итоге терпите неудачу, когда пытаетесь сочинить сложный алгоритм, управляющий каким-нибудь автомобилем в поездке. Но если вы в автомобиль включаете суперкомпьютер, и этот суперкомпьютер выполняет относительно простые вычисления в нейросети, то вы получите такие результаты, какие не получите от специально разрабатываемого традиционного "алгоритма вождения автомобиля". Поэтому внимание исследователей искусственного интеллекта обращается к HPC, high performance computing и универсальным аппроксиматорам, вычисления с которыми ведутся на этих компьютерах.

Новые универсальные алгоритмы отличаются тем, что сами функции не программируются/моделируются/описываются вручную/аналитически, но познаются/выучиваются/learn/вычисляются компьютером при минимальном вмешательстве человека. Распознавание речи, изображений, поиск аномалий (тут нюанс: аномалия характеризуется тем, что нужно распознать не то, что компьютер уже видел, а наоборот -- то, чего он ещё не видел!) компьютер делает уже лучше, чем человек.

А алгоритмы творчества есть такие? Если вернуться к универсальным алгоритмам, которые работают с универсальными аппроксиматорами, могут ли они творить? Да, могут. Творчество идёт по тому же пути, что и эволюция: в шуме (например, шуме, получаемом при помощи генератора случайных чисел на тепловом шуме, чтобы надёжно этот шум был свободен от любых закономерностей) потенциально содержится всё новое, что может быть придумано в мире. И дальше можно просто модифицировать этот шум так, чтобы он попал под необходимые ограничения. Если немного поманипулировать со сжатием информации (схематизацией/моделированием) и последующим разжатием (демоделированием/рендерингом), то вычислительно это всё может быть вполне осмысленным. Если каждый алгоритм распознавания основывается на какой-то модели, сохраняющей знания о важном для распознавания аспекте входных сигналов, то можно всегда предложить алгоритм порождения, который в выходном сигнале сохранит это важное -- алгоритм распознавания признает творчески сгенерированный новый объект "своим". Алгоритм устроен примерно так: тренируют подалгоритм распознавания, и на вход ему подают шум от подалгоритма генератора -- распознаватель говорит "это не то" и сообщает генератору, что ему особо не понравилось. Генератор подстраивает свой выход, чтобы понравиться распознавателю -- и так много раз, пока ему не удаётся обмануть распознаватель. Если распознаватель умеет распознавать картины Ван Гога, то генератор в конце концов сумеет сделать картину, которую и человек и этот распознаватель (качество распознавателей сейчас уже не хуже, чем у людей) признают, как картину Ван Гога, но готовил эту картину не Ван Гог, а генератор. Это и есть алгоритмика: придумать такого сорта алгоритм!

В статье 2017 года "Software 2.0" (https://karpathy.medium.com/software-2-0-a64152b37c35) Andrej Kaprathy (сегодня он главный по искусственному интеллекту в Tesla) сделал пророчество, что при наличии достаточных вычислительных ресурсов качество алгоритма, которое даст оптимизация градиентным спуском (иногда это называют дифференцируемым программированием/differentiable programming, https://ailev.livejournal.com/1464563.html) будет выше качества алгоритма, которое разрабатывается программистами, и поэтому людям-программистам придётся заняться чем-нибудь ещё.

Уместна ли алгоритмика в интеллект-стеке?
Кому нужно знать про универсальные аппроксиматоры и алгоритмы, их реализующие? Нужно ли людям сегодня понимание того, как и зачем используются алгоритмы, какие они бывают, где используются вычисления по самым разным алгоритмам? Грубо говоря: нужна ли алгоритмика в интеллект-стеке?

Да, она нужна. Ибо мы не только запоминаем-вспоминаем информацию, но и как то над ней задумываемся, погружаемся в размышления/вычисления, которые требуют ресурсов. По большому счёту, вычисления нужны для:
-- познания/исследований: создание объяснительных моделей на основе восприятия окружающего мира и учёта уже имеющихся объяснений
-- деятельности на нескольких системных уровнях: в цикле/динамике вычисление/инференс/вывод/апдейт предсказаний по имеющимся моделям на основе восприятия/внешних данных, планирование действий, которые приведут предсказания к нас устраивающим, и действия/выполнение плана/актуация

Познание как построение всё более и более мощных объяснений/описаний/моделей мира, дающих всё более и более точные предсказания и деятельность по изменению мира в сторону благоприятных для нас предсказаний по имеющимся объяснениям -- это и есть жизнь.

Это всё не очень ново, так как в такой общей постановке вопроса не отличается от классических задач той области computer science, которая называлась artificial intelligence и занималась поиском решения отдельных проблем, имеющих большую вычислительную сложность, и поэтому не подвластную старым компьютерам: это как раз задачи представления знаний (моделирования/познания мира, и тут мы опять попадаем в семантику и логику), а также задачи планирования. Про человеческий "интеллект" говорили, но это всегда казалось далёкой целью. Почему же это была отдельная область знаний от всей остальной информатики? Потому как решения этих задач в общем виде никак не давалось алгоритмизировать, получающиеся в результате расчёта модели и планы были хуже тех, которые готовил человек. А сейчас за очень дорого (для самых интересных приложений это миллионы долларов за один расчёт, а этих расчётов нужно много!) модели и планы начинают быть лучше тех, которые могли бы приготовить люди.

Прежде всего это относится к таким расчётам, которые делаются для предобучения глубоких нейронных сетей, это лучшие универсальные аппроксиматоры (напомним, что речь идёт о свойстве с какой-то заданной точностью аппроксимировать любую функцию как преобразования из входных данных в выходные, под это можно подогнать практически любую задачу). Алгоритмы глубокого обучения -- это первый обнаруженный людьми класс алгоритмов, который показал удивительную особенность: качество полученных моделей растёт при добавлении вычислительных ресурсов. Уточнение решений для этих алгоритмов заканчивается не потому, что уже ничего там улучшить не удастся, сколько не вычисляй, а просто потому, что слишком дорого вычислять. Было бы дешевле, получили бы решение получше! Это очень, очень дорогие на сегодняшний день расчёты, их цена падает с годами экспоненциально, но и потребность в них растёт экспоненциально, потому как если потратить столько же денег завтра, сколько тратим сегодня, закупив на эту же сумму побольше вычислений, то получим результаты лучше! Этот класс алгоритмов был придуман в 1987 году, но другие алгоритмы этот класс алгоритмов смог обогнать только тогда, когда было использовано компьютерное "железо", особо подходящее под эти алгоритмы (GPU, https://towardsdatascience.com/what-is-a-gpu-and-do-you-need-one-in-deep-learning-718b9597aa0d), на обычных компьютерах эти алгоритмы не работают, ибо не хватает вычислительной мощности.

Отвлекаясь от конкретных алгоритмов решения вычислительных задач, где сегодня используется компьютерная мощь, именно вычисления, где можно подглядеть то будущее, которое нас ждёт при реализации тренда экспоненциального падения стоимости вычислительных ресурсов?

Получается такой разрыв: понимание, почему вычисления такие дорогие, и как их сделать дешевле -- это предмет алгоритмики, которая находится довольно низко по интеллект-стеку. А использование этого понимания должно быть в бизнесе. Вот идём в бизнес. Квантовые компьютеры обещают дать нам невиданную вычислительную мощность, которая явно избыточна для тех, кому компьютеры нужны как ручка-бумажка-на-стероидах. Кто уже сегодня интересуется квантовыми компьютерами, для каких расчётов будут использовать их головокружительные вычислительные возможности? Если посмотрим на разные предложения по использованию (https://www.idquantique.com/quantum-safe-security/quantum-computing/real-world-applications/, https://hbr.org/2021/07/quantum-computing-is-coming-what-can-it-do, https://builtin.com/hardware/quantum-computing-applications), то заметим там примеры того, о чём мы тут писали, наши догадки верны:
-- создание объяснительных теорий в естественных науках (физика, метеорология, химия, биология и медицина, криптография)
-- предсказания и обновления предсказаний (инженерия, медицина, трейдинг, компьютерная безопасность -- смотри все те прикладные практики, которые задействуют объяснительные теории из естественных наук)
-- планирование (всё те же прикладные практики, которые задействуют предсказания из предыдущего пункта)

Продажи нынешних не очень ещё мощных квантовых компьютеров уже идут в научные учреждения (познание), финансовые институты (алгоритмический трейдинг -- задачи предсказания), логистические фирмы (задачи планирования), маркетинг (рекомендательные системы, распознавание голоса), медицина (диагностика и планирование лечения, создание новых лекарств, генная инженерия), инженерия (создание новых материалов и цифровые двойники). Все они не могут себе позволить прозевать момент, когда квантовые компьютеры будут доступны, но их специалисты не смогут их использовать, ибо не будут уметь их программировать. Все эти организации попросту проиграют в конкуренции!

Как отследить тренд на вычислительные модели в которых существенно задействована алгоритмика, а не просто использование компьютеров для накопления данных и их красивого показа? Цифровой двойник/digital twin как понятие сегодня быстро размывается в значении, но всё-таки его создание подразумевает создание какой-то модели физического двойника на стадии и эксплуатации тоже, для того, чтобы иметь предсказания и предупреждения (вот тут вычисления!) по поводу состояния физического двойника по состоянию отмоделированного цифрового двойника (https://ailev.livejournal.com/1546514.html, https://ailev.livejournal.com/1570630.html). На сегодняшний день в инженерии принимаются решения на основе традиционных алгоритмов физического моделирования, базирующихся на вручную составляемых людьми системах дифференциальных уравнений, которые потом решает компьютер (https://ailev.livejournal.com/1549559.html). Но и тут работает тот же тренд: физическое моделирование на универсальных аппроксиматорах оказывается надёжней, цифровые двойники тоже переходят на использование универсальных алгоритмов моделирования, сегодня это прежде всего алгоритмы на глубоких нейронных сетях.

А пока квантовых и иных с "новой физикой" дешёвых и мощных компьютеров нет, новые универсальные алгоритмы вычисляются на "обычных" компьютерах с кремниевыми чипами как центральных процессоров (CPU), так и ускорителей вычислений на базе GPU.

Как и где эти алгоритмы применяются? Как и естественный интеллект: везде, в самых неожиданных местах, которые только можно придумать!

Например, алгоритм NVIDIA на основе глубоких нейронных сетей сокращает требуемый для видеоконференций трафик вдесятеро, https://syncedreview.com/2020/12/02/nvidia-neural-talking-head-synthesis-makes-video-conferencing-10x-more-bandwidth-efficient/. Если вы занимаетесь видеоконференциями, и не знаете об этом прогрессе в алгоритмике, то вы покинете рынок. Главная тут мысль -- такое происходит сегодня повсеместно, универсальные алгоритмы появляются в самых неожиданных местах и дают самые неожиданные результаты. Если вы не знаете, как про эти алгоритмы говорить, сколько они стоят, как и кто их разрабатывает, отслеживают ли их появление айтишники вашей фирмы -- вашей фирме не жить. Алгоритмика важна. Первая волна компьютеризации "управления коллективным вниманием" в фирмах быстро переходит во вторую волну, где компьютер берёт на себя часть мышления/вычислений в двух ситуациях:
-- слишком дорого заказывать эти вычисления людям. Так, миллиарды переводов с самых разных одних естественных языков на самые разные другие, которые делают за сутки автоматические переводчики Гугля, Фейсбука, Яндекса и других технических гигантов, просто не были бы выполнены. Да, они пока ужасного качества, на уровне десятиклассника, едва знакомого с языком, но они есть -- и не были бы выполнены, если бы нужно было обращаться к людям. Переводчики не потеряли работу, но часть работы взяли на себя алгоритмы
-- алгоритмы выполняют работу, которая раньше людям была недоступна. Законы Кеплера компьютер уже может переоткрыть из данных наблюдения за планетой (https://arxiv.org/abs/2011.11981). А фирма Сони не стесняясь говорит о создании компьютера-учёного, которому выдадут нобелевскую премию, что ожидается к 2050 году, https://www.engadget.com/sonys-head-of-ai-research-wants-to-build-robots-that-can-win-a-nobel-prize-180059012.html. Это всё алгоритмика, эти алгоритмы нужно создать, и эти алгоритмы нужно использовать.

Куда развивается алгоритмика в части развития универсальных алгоритмов?
В этой универсальности нейросетей не хватает сегодня:
-- предсказания нейронных сетей, равно как их творечство необъяснимы на сегодняшний день. Этой проблемой занимаются, какие-то успехи тут уже есть. Нам нужно не просто аппроксимирование какой-то функции, нам нужно ещё и объяснение ситуации, объяснение решения!
-- выход из чисто вычислительной работы в реальность, то есть восприятие и актуация (extended/embodied cognition).
-- осознанности, которую связывают в том числе и с возможностью строить длинные цепочки рассуждений по поводу рассуждений (алгоритм выбора алгоритма, алгоритм управления вниманием как выделением ресурсов для вычислений)

Есть много разных подклассов универсальных алгоритмов. Об этой погоне за универсальностью, за Master Algorithm рассказывает книжка Pedro Domingos, но она выпущена аж в 2015 году, это уже хорошее историческое введение, за шесть прошедших лет в алгоритмике много чего произошло нового (и продолжает происходить со скоростью два прорыва в неделю, https://syncedreview.com/). Сейчас нужно было бы писать новую книгу, примерно той же направленности, но дополненную новыми знаниями, полученными за последние шесть лет.

Например, учёные из DeepMind заявили (https://www.sciencedirect.com/science/article/pii/S0004370221000862), что настоящую универсальность дают алгоритмы reinforcement learning, в которых алгоритм "дрессируется" как животное: за достижение цели (или хотя бы приближение к цели) выдаётся награда. Тут же развязалась широкая дискуссия о том, что никакой особо универсальности от этих алгоритмов ждать не приходится, ибо типичная ситуация в том, что мы избегаем неприятностей/выживаем, при этом понятия не имеем, что такое "награда" или даже какого сорта могут встретиться "неприятности". Интеллект сам выбирает, что у него награда, ибо осознанность включает в себя и свободу выбора! Эволюционные алгоритмы -- с ними всё в порядке насчёт универсальности (человека-то они сделали!), но для них никогда не хватит вычислительных ресурсов. Чтобы сделать человека, вся Земля несколько миллиардов лет была эдаким вычислителем! Ещё одна заявка на "безнаградные" алгоритмы -- это отсылка к понятиям predictive coding, active inference, а вместо "награды" агенты с такими алгоритмами стремятся к минимизации свободной энергии/free energy principle (помним, что "энергия" эта не из физики, а из математики для физики, как и "энтропия" в теории информации). Алгоритмы этого подхода (чаще всего его называют active inference, больше информации можно найти в общественной организации, координирующей самых разных исследователей этого класса алгоритма, Active Inference Lab/ActInfLab, https://www.activeinference.org/), крайне элегантны (кратки и универсальны), но пока не продемонстрировали каких-то впечатляющих практических результатов по сравнению с другими видами универсальных алгоритмов. Алгоритмы формального логического вывода (раньше это называли "экспертные системы", потом "системы представления знаний", теперь самый распространённый термин -- knowledge graphs) показали, что они сами по себе работают плохо, их неудача повлекла так называемую "зиму искусственного интеллекта", когда науку универсальных алгоритмов практически перестали финансировать, вплоть до 2012 года, когда обратили внимание на глубокое обучение. И так далее, по многим и многим классам претендующих на универсальность алгоритмов. И при этом работает теорема бесплатного обеда: что универсально для какого-то класса задач, будет ужасно для другого. Хотите решения для многих разных классов проблем -- имейте много разных алгоритмов, выполняющихся на вычислителях с разной физикой! Так что "самый универсальный алгоритм" будет, скорее всего, каким-то сочетанием идей изо всех этих подходов.

Алгоритмика не только про способы вычислений на компьютерах, она и про способы мышления людей!
Но это всё разнообразие подходов к универсальности вычислений и дороговизна универсальных расчётов не снимает факта, что люди перестают заниматься алгоритмикой как придумывание людьми специальных алгоритмов для отдельных частных прикладных вычислений и больше внимания уделяют универсальным алгоритмам, а уж прикладные вычисления потом делаются по итогам работы универсальных вычислителей. Классическая алгоритмика, конечно, останется (программирование самих универсальных вычислителей включает и классическую алгоритмику), но акценты меняются буквально на глазах: алгоритмика 2016 года и 2021 года существенно разная. Так, архитектура универсального алгоритма Transformer была опубликована в 2017 году впервые, https://arxiv.org/abs/1706.03762, её просто не существовало в 2015 году (году публикации книги Педро Домингоса), но сейчас она по факту основная архитектура для всех универсальных алгоритмов, большинство практических применений следует идеям этой архитектуры и её модификаций. Ограничения такой архитектуры тоже уже хорошо известны, поэтому активно идёт поиск новых и новых универсальных алгоритмов -- более универсальных, более скоростных, менее требовательных к памяти. В 2026 году будут уже вполне в ходу квантовые компьютеры, но есть и аналогово-фотонные идеи (https://scitechdaily.com/novel-nanophotonic-analog-processor-developed-for-high-performance-computing/), и множество других аппаратных идей, так что и алгоритмика будет для них другой: сложность алгоритмов существенно зависит от физики вычислителя, что трудно для одного вычислителя, то нетрудно и быстро для другого.

Компьютерные вычисления и человеческое мышление одинаковы в том смысле, что это вычисления. Физику нашего "мокрого вычислителя" в голове мы тоже ведь дополняем "ускорителями" в виде разных компьютеров, так что они не только одинаковы, но и по большей части неразделимы. Весь этот наш подход "образования для образованных" через предобучение универсального интеллекта на основе интеллект-стека из фундаментальных трансдисциплин -- это такой же сдвиг от человека как "опытного" в части владения многими-многими прикладными специализированными алгоритмами решения отдельных прикладных задач к "умному", который способен справиться с самыми разными проблемами при помощи своего универсального интеллекта. Хотя по классификации Chollet -- ещё не универсального для всех классов проблем во вселенной, но всё-таки уже "экстремального" интеллекта, в отличие от текущего компьютерного интеллекта. Ход тот же самый, что и в современной алгоритмике: один и тот же универсальный аппроксиматор, задействуемый для решения самых разных проблем.

Люди тоже всё меньше будут просто "помнить и проверять, узнавать и передавать" (линейные менеджеры, передающие указания от топ-менеджеров персоналу, и собирающие отчёты по работе персонала, становятся не нужны, равно как не нужны и прочие клерки), но больше думать/рассуждать -- и плохо или хорошо это будет происходить тоже будет определяться способом их мышления, алгоритмами. Трансдисциплины интеллект-стека описывают лучшие известные человечеству способы мышления/алгоритмы мышления/последовательности действий, которые нужно выполнить интеллекту, чтобы решить проблему.

В интеллект-стеке нужна алгоритмика как мыслительная практика рассуждений о вычислениях/мышлении в той части, как рационально расходовать свой человеческий вычислительный ресурс, а также ресурс вычислительной техники. Мышление людей дорого, мышление компьютеров тоже дорого. Через некоторое время окажется, что самые дорогие, самые умные люди озадачивают самые дорогие компьютеры (и озадачить эти компьютеры помогают не менее дорогие компьютеры!), и хорошо бы, чтобы эти люди понимали, что способ вычисления/алгоритм имеет значение!