Category: наука

Category was added automatically. Read all entries about "наука".

2019

Онтологический статус практик/деятельностей: материал для машинки типов

В связи с введённой в https://ailev.livejournal.com/1548229.html типологией мышления (Мышление бывает познанием и выводом, познание бывает исследованием и обучением) можно уточнить онтологический статус практики/practice (в СМД-подходе ближайший термин "[предметная] деятельность"), как она понимается в системном мышлении (и вспомним, что Ivar Jacobson недаром в своей hump diagram называл практики disciplines). Кратко мы говорили "практика -- это дисциплинарное мышление, развёрнутое в голове и оперирование технологиями, развёрнутыми на местности". Но совсем кратко формула была "практика -- это дисциплины плюс технологии", что онтологически многих смущало, ибо тут была уже непонятка с типами, вот эту непонятку и уточним.

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

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

Помним также, что когда мы говорим о мышлении, то мы не различаем мышление "биологического человека из его неандертальского прошлого, то есть без компьютера" и мышление современного человека, которое не происходит без письма и компьютерных вычислений (самых разных: от использования калькулятора для численных прикидок до использования гугля для ответа на какой-то вопрос -- "вспомнить что-то из собственной памяти" и "вспомнить что-то из памяти человечества" становится вполне сравнимым по времени и усилиям).

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

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

Конечно, все эти роли будут использовать какой-то инструментарий: прежде всего различные моделеры, а также просто zettelkasten для удержания внимания ("лабораторные журналы", вот как мой этот блог, который вы сейчас читаете), и вот использование этого инструментария в составе мышления как составной его части на сегодня не оговаривается -- идеи extended cognition ещё не слишком распространены. Скорее, сегодня практику печати слепым десятипальцевым методом вытащат из мышления в простые телесные практики, хотя без неё мышлению будет туго (да, я понимаю, что это заявление породит холивары: покушаюсь на святое). Повторим: ответ сильно зависит от проекта. Или вы хотите что-то сделать с мышлением (например, учить деятельностям познания и познавательному мышлению в их составе -- как исследовательскому, так и ученическому, вот я этим занимаюсь, "усилением интеллекта"), или спрашиваете из абстрактного любопытства (тогда вам произвольно любые ответы могут нравиться или не нравиться, заведомо не договоримся).

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

И традиционный DISCLAIMER: что не сказано в этом посте, то просто не сказано. В этом посте нельзя сказать, что такое машинка типов (но об этом уже говорилось, https://ailev.livejournal.com/1532144.html), дать основные схемы СМД-методологии (это просто tribute, я знаю, что меня читает много СМД-методологов, им проще будет понять содержание), пересказать учебник системного мышления (в котором в том числе говорится, что практика не может быть системой, ибо это поведение, а вот проектная роль, которую кто-то играет -- запросто, ибо это функциональный объект), пересказать материал про extended cognition/mind (и то же мышление письмом/моделированием/кодированием https://ailev.livejournal.com/1513051.html и инструментарий для него https://ailev.livejournal.com/1515735.html-- и т.д.).
2019

Куда думать в первом квартале -- 2021

Мои исследовательские планы ближайшего месяца (на каникулы):
-- сделать проход по обзорам digital twins (тему поднял в https://ailev.livejournal.com/1546514.html, а обзор обзоров поминает их в теме интеграции моделей https://ailev.livejournal.com/1548016.html)
-- докрутить тему внимания и удерживания его на разных временных горизонтах (удерживание планов/стратегирование тут смежная тема).
-- собрать с учётом этого материал по вычислительному мышлению (предыдущая сборка была в докладе https://ailev.livejournal.com/1545919.html, а с начала декабря много чего было сформулировано -- с конечным выходом на понятийный минимум по интеллекту и мышлению в https://ailev.livejournal.com/1548229.html)
-- докрутить выход вычислительного мышления на архитектуру предприятия, и не только digital twins, но и идею внимания, многоуровневого по системным уровням и временнЫм горизонтам.

Мои методические и преподавательские планы:
-- начитать на видео с учётом всего нового материала лекционный материал для курса "Системный менеджмент и стратегирование 2021" (старт там будет 31 января 2021, https://system-school.ru/sms). Новые тексты сделать будет очень времязатратно -- там только слайдов объём в целую книжку! Тексты точно написать не успею, если книгописательством займусь. Но лекционные куски из предыдущих потоков обновлю, жизнь не стоит на месте, курс продолжит меняться.
-- распланировать по-новому классную и домашнюю работу студентов на курсе "Системный менеджмент и стратегирование 2021" с учётом новых возможностей Aisystant (нашей школьной LMS).
-- провести очередной поток курса в виртуреальном формате (очный класс с добравшимися до офиса, и удалённое участие одновременно. Так раньше проводили)

Мои планы в научном руководстве:
-- всё-таки запуск курса вычислительного мышления. Продвижения уже заметны, но нужно довести начатое до конца: начать преподавание. В принципе, одно это дело требует full time, но в текущем повороте понимания "просто мышление" -- это "верхнеуровневое универсальное вычисление", так что без продвижения в вычислительном мышлении говорить о том, что мы преподаём системное, инженерное, танцевальное и т.д. мышление -- это говорить без опоры на теорию. Мы таки будем осторожными, и не будем говорить о "курсе мышления" (верхнеуровневых универсальных вычислений и их приложений), но о вычислительном мышлении в целом. А там посмотрим. Материал "Мышление -- это работа интеллекта по познанию (исследования и обучение) и прикладной вывод" https://ailev.livejournal.com/1548229.html получился достаточно неожиданным даже для меня. И он требует осмысления.
-- переформатирование кругозорных курсов системной инженерии, менеджмента, предпринимательства (в том числе курс предпринимательства требует новых дисциплин праксеологии и экономики). Тут уже есть множество разных идей (в том числе и радикальных, типа "инженерия -- это reverse-epistemology" из https://ailev.livejournal.com/1544639.html, или "инженерия это про решение задачи архитектурного синтеза, а наука и искусство (как вариант науки) дают анализ, функциональные элементы" .
-- переформатирование курса онтологики и коммуникации (тут потихоньку идут подвижки, и хочется выйти в какой-то момент на полноценный набор курсов, сегодняшний вариант знакомит с предметом, но нам нужна как минимум надёжная инсталляция в мозг машинки типов)
-- курс по собранности (откуда выкинуты будут все старинные модели внимания и сознания из поп-психологии. Никакого больше "бессознательного" и "внесознательного", только SoTA из современных теорий сознания и внимания. Ну, и опора на extended cognition: компьютеры в помощь управлению вниманием).
-- осознать, что за курс получается "введение в системное мышление" (по содержанию он похож на более попсовый вариант "Образования для образованных", ибо собственно системного мышления там не так много).
-- курс "танцевальное введение в системное мышление" (выпускники последних танцевальных курсов и курса системного фитнеса с удивлением обнаружили, что они как-то разобрались с идеей системных уровней и выделением их вниманием в динамической системе, с построением системных/многоуровневых планов развития, с различением функциональных и конструктивных объектов. Вот нужно эту линию освоения методологического материала на практике докрутить: сделать теперь материал системного мышления основным, а танцы и системный фитнес давать как "сквозной рабочий пример сложней механической системы, но проще предприятия" -- в учебнике ведь они именно так проходят. А поскольку речь идёт о танцевальном и телесном интеллекте, то и материал вычислительного мышления там тоже будет осваиваться по необходимости).
-- важно: переписать книжку/курс "Образование для образованных 2021" (хотя это вряд ли получится сделать до лета, но уже сейчас есть понимание, что это нужно сделать)
-- дописать книжку для организаторов образования (у меня есть уже собранный черновичок постов на 300 книжных страниц, вот взять этот черновичок и пройтись по нему сверху вниз -- переписать из формата постов в формат книжки). Но это небольшой приоритет. Для текущей работы хватит и иногда появляющихся тут постов в блоге, а книжку непонятно, кто будет читать. "Образование для образованных 2020" писалась для широкой аудитории, а тут аудитория в разы и разы меньше. Овчинка, скорее всего, не стоит выделки.

Мои планы по телесной/физической и танцевальной культуре:
-- продолжать лаборатории по моделированию отдельных танцев (сейчас идёт самба, и возбновить танго нуэво -- включая походы на альтернативные милонги). Заодно и сам научусь.
-- второй фестиваль зука (проверить гипотезу, что "три фестиваля -- и я чуть-чуть танцую на вечеринках"), 6-8 января семинар ламбазука
-- потихоньку продолжать распрямляться, для чего включить силовые упражнения ("лодочки" и "отжимания в мостик" в положении лёжа -- из системного фитнеса).

Предыдущие посты серии:
-- куда думать в четвёртом квартале 2020, https://ailev.livejournal.com/1535897.html (там предлагалось выбрать какие-то проекты для фокусирования на них, и после консультаций с окружающими неожиданно победило фокусирование на вычислительном мышлении -- чем и занялся практически фуллтайм)
-- куда думать в первом квартале 2020, https://ailev.livejournal.com/1501024.html (страшно подумать, год назад ещё не было онлайн-курсов! Сейчас кажется, что они всегда были!).
2019

Мышление/learning и трансдисциплины, мыследействование/inference (привет СМД-методологам)

Снова и снова возникает вопрос про мышление: поскольку слово бытовое, и каждый волен его трактовать как хочешь, приходят разные люди со своими размышлениями (двамышлениями, измышлениями, измышлизмами и т.д.). "Мышление -- это оперирование образами", "мышление -- это осознанный поиск правильных интуиций", "мышление -- это поиск лучшего научного описания проблемы" и это первая линия ad hoc определений, а вторая линия приходит как пересказ случайно выдернутой из литературы разных лет идеи из какой-нибудь околохудожественной философской школы. Скажем, берём Ницше и гуглим "Ницше мышление" -- и там сразу "воля к власти как осуществление мышления", и дальше можно уже бесконечно развлекаться словесными построениями вообще вне связи с идеями Ницше или его последователей. Обязательно придёт в дискуссию кто-то, кто погуглил "Анохин мышление", и он будет рассказывать про афферентацию и мозг, и полное отсутствие связи с волей власти его волновать не будет (равно как любителей Ницше не будет волновать афферентация).

Мы говорим об интеллекте как вычислителе, который способен находить решение разнообразных проблем. Вычисления этого интеллекта -- это и есть мышление. Больше разнообразие этих проблем -- выше уровень интеллекта, мощнее мышление, используем модель Chollet -- https://ailev.livejournal.com/1498481.html.

Затруднения возникают, когда мы говорим о системном интеллекте, системном мышлении. Если мы определяем, что трансдисциплины определяют важные объекты, которые выделяет своим вниманием интеллект этой трансдисциплины, то возникает вопрос: если дан набор понятий из учебника кулинарии, можем ли мы считать это "кулинарным мышлением"? Чем отличаются учебники кулинарии (в любом учебнике обычно дают какой-то набор понятий для настройки внимания интеллекта, полученного путём изучения учебника) от учебника кулинарного мышления? Учебники инженерии от учебника инженерного мышления? Учебники системного подхода от учебников системного мышления? Да, принято говорить, что мышление с использованием понятий системного подхода — это и есть системное мышление. Или использование понятий, связанных с вычислениями — это вычислительное мышление. Но использование понятий "кулинарного подхода" или "понятий кулинарии" -- это "кулинарное мышление"?

Есть ещё примеры, как люди определяют виды мышления. Мне наиболее запомнился Дейкстра, который вводил виды мышления (его интересовало программистское мышление, близкое к нужному нам в вычислительном мышлении) на примерах: "Хотя во времена, к которым относится наша история, человечество не знало ЭВМ, неизвестный, нашедший это решение, был первым в мире компетентным программистом. Я рассказывал эту историю разным людям. Программистам, как правило, она нравилась, а их начальники обычно сердились все больше и больше по мере ее развития. Hастоящие математики, однако, не могли понять, в чем соль." — это знаменитая история о туалетах, http://hosting.vspu.ac.ru/~chul/dijkstra/pritcha/pritcha.htm.

Помним, что "программирование" — это для Дейкстры "структурное программирование", то есть алгоритмика на императивном языке с простыми структурами данных. Но вот это "чем мышление программиста отличается от мышления математика" — это важно, Дейкстра различал виды мышления. "Хвост коровы Маргариты это часть стада" для системного мыслителя неправильное высказывание, а для математика -- правильное. Системный интеллект и математический интеллект мыслят по-разному!

Тут произошёл незаметный, но важный сдвиг: мы говорим уже не о мышлении как таковом, а о видах мышления, его специализациях. Не об интеллекте в целом, а о видах интеллекта, специализациях. Или частях общего мышления? В онтологии это вопрос удобства выбора отношения: виды/специализации это мышления и интеллекта, классы/классификации или части.

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

В AI эта "одновременность" обсуждается как life long learning: все акты inference далее обрабатываются на то, насколько они оказались успешными, и эти результаты идут в learn. При этом времени на learn не хватает в живой природе, и по итогам inference обучение идёт ещё и во сне (мозг пересматривает записи того, что там происходило в ходе inference и перестраивает вычислитель).

Творчество и импровизация — это всё то же самое, но режиме generative алгоритмов, то есть в inference работаем с шумом как входными данными для inference и на выходе получаем выходные приемлемые результаты. А чтобы улучшить порождение/генерацию, нужно всё равно делать шаг learn. Можно ещё пообсуждать функцию награды в рамках reinforcement learning, исследовательскую деятельность в рамках self-supervised learning, самонаграждение в рамках исследований и т.д.. Но это пока лишнее (но на втором такте рассуждений придётся затрагивать, конечно).

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

Если у нас в мозгу решение прикладных задач по уже известным объектам внимания, то есть вывод/inference (не меняем синаптические связи мокрой нейронной сетки, то есть не занимаемся работой с понятиями, работаем в режиме GPT-3 на нейроморфном вычислителе), то это мыследействование в рамках мыследеятельности (неразрывно связанных мышления и деятельности). Если занимаемся образованием новых объектов (скажем, выделяем системный уровень тогда, когда он очевидно не выделяется "по правилам", то есть нет прямого алгоритма его получения — не описано в каком-то учебнике), то это чистое мышление/learning. Когда генерируем/строим /кладём гипотезы о том, какие это могли бы быть понятия, каким объектам в жизни они могли бы соответствовать, чтобы была удобна деятельность — вот тогда чистое мышление/learning. Если нейронная сетка (хоть мокрая, хоть кремниевая, хоть оптическая) не меняется сама, а только используется — тогда чистый вывод/inference/мыследействование. Понятно, что любая принадлежность к классам (в том числе классам вычислений inference и learning) определяется статистически.

Learning в жизни ещё известен как программирование, онтологизирование, моделирование. А вот всякие "вычисления программы", "интерпретация модели", "использование онтологии" — это inference/мыследействование. Если плохо вывелось, в мыследействовании затык — идём в мышление, продолжаем мыследеятельность в мышлении.

Трансдисциплины как раз обслуживают learning, это алгоритмы (описания вычислителя-интеллекта), дающие inductive biases для определения целевых понятий в ходе learning/мышления. Для inference потом просто тренируешь мозг обезьянки, и далее S1 хватает. А для понятийных размышлений в S2 нужно построить понятия, в терминах которых дальше будет автоматический (с небольшой утерей качества, но быстрый и лёгкий) S1. В природе они круто перемешаны, конечно, выделяются нашим вниманием, но имеют слегка разные конструктивы и чуток таки разведены во времени. Мы предпочитаем эти "слегка" и "чуток" доводить до экстремума в наших схематизациях мышления и мыследействования в рамках общей мыследеятельности.

В СМД-методологии в ходе деятельности люди занимаются не столько мышлением, сколько мыследействованием, перемежаемым мыслекоммуникации -- и у них есть для этого схема мыследеятельности aka "трёхслойка" (вот публикация с её рассмотрением 1987 года, https://gtmarket.ru/laboratory/basis/3961/3974). Переведём часть той схемы на современный язык, то есть скажем чуть другими словами то, что я уже сказал чуть выше: для мыследействования речь идёт не о мышлении как функции интеллекта по способности найти/выучить/learn алгоритм решения какого-то класса проблем, а о применении этого выученного ранее алгоритма к решению прикладной проблемы данного класса, проведению вычисления/inference по этому алгоритму. Нет вычисления мышления/learn, есть вычисление мыследействования/inference. "Выход в мышление" — это когда вывод/inference на имеющихся понятиях как объектах внимания в деятельности с заземлением/grounding их на имеющиеся объекты в физическом мире невозможны, и требуется ввести новые объекты внимания (или подкорректировать старые), то есть выполнить обучение или дообучение/learning. Работа интеллекта — чистое мышление, разборка с новым типом задач, для этого используем в качестве объектов внимания понятия из трансдисциплин. А когда идёт inference по шаблону - не мышление, а мыследействование, использование выученных в ходе мышления понятий прикладных дисциплин. Про коммуникацию из схемы пока будем молчать, в полной схеме мыследеятельности есть и она.

Дальше СМД-методологи любят прибавить, что чистое мышление так же часто встречается в мире, как танцы лошадей. То есть этих вычислений у человечества по объёму не так много: вычисления системного мышления, вычислительного мышления, эпистемологического мышления и т.д. редки, как танцы лошадей. Хотя и бывают. А основной объём "думания" на планете -- это мыследействование/inference, использование плодов интеллекта: создаваемых интеллектом прикладных алгоритмов решения каких-то классов задач, для которых понятна понятийная структура. Нет затыков в (мысле)деятельности -- мозг работает в режиме автомата, лёгкий режим с использованием S1 (как GPT-3 -- работает "интуиция", новые теории при этом не порождаются). Есть затыки -- это значит, что наше описание мира/модель неверна, нужно выдвигать новую модель, описывать мир получше. Это делается дообучением/learning, и проверки/доказательства для полученных решений -- это понятийная работа, логические рассужения "по правилам", использование S2.

Примат мыследействования/inference активно обсуждается: по объёму в датацентрах вывода (распознавания голоса, например), в разы и разы больше в части задействования ресурсов. Но чтобы выучить/learn/вычислить_интеллектом этот распознаватель, ресурсов тоже немало нужно. Но всё одно меньше, чем ресурсов для задействования итогового распознавателя голоса.

У мыслителей, которые главным образом вырабатывают новые понятия (наука, да и существенная часть инженерии) мышления/learning много. А вот у каких-нибудь клерков среднего звена — понятийной работы ноль, сплошной вывод (вот их, замечу, и списывают за ненадобностью, заменяют компьютерами, это легко. Плохо понятно, как выучить компьютер пока, требуются разработчики софта со всем их искусством нахождения мыследействования и пересадки его в компьютер, но хорошо понятно, как заставить софт делать могучий вывод, когда его выучили/learn мозгом, а потом записали в машинночитаемой форме ("разработали"). А уж если не просто "автоматизируют", пересаживая мыследействование в компьютер, а задействуют чистое мышление разработчиков (получают новые объекты внимания и уже их воплощают в софте), то тогда вообще могут говорить о "цифровой трансформации" (ага, это я даю ретроспективное придание смысла бессмысленным словосочетаниям, навеянным современной атишной музыкой).

Тут в комменты обязательно придут СМД-методологи сказать, что я схему мыследеятельности в СМД-методологии не понимаю. Привет! (тот самый -- из заголовка поста). Я им отвечу, что они сами её не понимают, а я довольно много этой схемой занимался -- впервые я увидел её зимой 1988 года на ОДИ. И любил спрашивать: на каком холсте нарисована эта схема, то есть что там за foundational ontology, upper ontology для этой схемы? Молчание мне обычно было ответом. Ну вот, считайте, что я этим постом двинул СМД-методологию, связал хоть как-то с современностью. Цели СМД-методологов хорошие, я их вполне разделяю -- вот об этом мой текст 2011 года, https://ailev.livejournal.com/718446.html. Но вот средства существенно устарели, там ведь десятки лет уже ничего не происходит. И хотя пожилые уже СМД-методологи могут сказать, что "всё это они говорили прямо в момент появления схемы мыследеятельности, ничего нового не сказано и мир только ещё через десяток лет поймёт всю глубину трёхслойки", я отвечу, что идеи людям на планете приходят в голову давно уже очень похожие, терминология только разная -- и различение learning и inference из современного AI имеет больше шансов стать рабочим языком человечества, нежели различение "мышления" и "мыследействования" по схеме-трёхслойке.

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

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10220035178483821
2019

Алгоритмика-2020

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

Мой тезис в том, что алгоритмы многоуровневы, алгоритмика системна "из коробки" (мой заход 2016 года на системную информатику в https://ailev.livejournal.com/1272169.html, а самое свежее рассуждение недельной давности про нахождение в интеллект-стеке выше системного мышления -- https://ailev.livejournal.com/1544639.html, обсуждения курса вычислительного мышления идёт в чате https://t.me/comp_thinking).

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

Исторически развитие compute science рассматривалось как развитие алгоритмики: всё более и более кучерявые вычислители над сравнительно простыми данными. Потом жизнь резко изменилась:
-- в компьютерах медленно, но верно победила концепция RISC (споры на эту тему по факту утихли), и это даже не самый нижний уровень, ибо ниже идёт физика вычислений (а RISC это уже "программирование физики" в предположении, что она у нас классическая "кремниевая").
-- на среднем уровне победили простые алгоритмы обработки десятков тысяч плотно связанных таблиц в корпоративных базах данных (кучерявые реляционные и далее графовые модели данных)
-- на уровне, когда появляется слово "интеллект" (общий вычислитель, который можно настроить для разных типов задач) всерьёз рассматривается "горький урок Sutton" ровно про то же самое: все прорывы связаны с простыми алгоритмами, работающими над всё более сложными и объёмными структурами данных, просто этим алгоритмам в самом низу алгоритмического стека дают достаточную вычислительную мощь.

Развитие многоуровнево: на каком уровне сейчас развивается алгоритмика? Ответ: на всех.

1. Физика вычислителя.
-- Уже заговорили о "квантовом пузыре" (имеется ввиду инвестиционный пузырь), в прошлом году не очень уверенно, а сегодня уже уверенно: https://www.pcmag.com/news/quantum-computing-a-bubble-ready-to-burst. Квантовое превосходство (и тут политика: слово "превосходство"/supremacy некоторым намекает расовое превосходство белых над чёрными -- и хотят это слово заменить!) уже подтверждено, вот вчерашнее сообщение о "квантовом преимуществе" (таки заменили слово!): https://science.sciencemag.org/content/early/2020/12/02/science.abe8770, там преимущество в скорости квантового вычисления -- 10**14 (за 200 секунд работы квантового вычислителя было выполнено вычисление, которое требует 2.5млрд лет работы суперкомпьютера Fugaku). Алгоритмика никогда уже не будет прежней. И деньги в квантовый софт уже пошли, вот Zapata raises $38 million for quantum machine learning, https://venturebeat.com/2020/11/19/zapata-raises-38-million-for-quantum-machine-learning/
-- оптика тоже рулит, вот свежий декабрьский 2020 обзор по оптике в AI, https://www.nature.com/articles/s41586-020-2973-6 (увы, там paywall), но там просто вал новых работ. Скажем, кремниевый оптический передатчик на 100Gbps https://phys.org/news/2020-11-world-all-silicon-optical-transmitter-100gbps.html -- кремний вроде тот же (совместимый техпроцесс с CMOS), но физика другая.
-- и даже питание имеет свои новации, "анти-лазеры" уже доказано, что возможны: https://www.livescience.com/anti-laser-wireless-charging.html. The new anti-laser demonstrated in this experiment accounts for all that, and it receives scattered energy beamed around a space in an unpredictable pattern — still receiving 99.996% of the sent power. The formal term for the method they used is "coherent perfect absorption" (CPA). CPA uses one machine to send power across the room, and another (the "anti-laser") to suck it back up.

2. На уровне "железа" классических машин (это просто "реализация алгоритмов в железе"):
-- побеждает классическая архитектура с RISC, засилье wintel потихоньку заканчивается (например, https://www.zdnet.com/article/risc-v-the-linux-of-the-chip-world-is-starting-to-produce-technological-breakthroughs/ -- As just one example, a recent microprocessor design using RISC-V has a clock speed of 5 gigahertz, well above a recent, top-of-the-line Intel Xeon server chip, E7, running at 3.2 gigahertz. Yet the novel RISC-V chip burns just 1 watt of power at 1.1 volts, less than one percent of the power burned by the Intel Xeon. ... "It's kind of amazing," said David Patterson, a professor at the University of California at Berkeley who helped create RISC-V. "I think IBM mainframes have a 5-gigahertz product that's liquid-cooled, and takes 100 watts" to run).
-- GPU это "новый CPU", тут просто гонка (попытки угадать алгоритмы следующего поколения в AI, и подстроиться именно под них. Хотя NVIDIA делает ставку на то, что не только нейросетями будет живо человечество). Обсуждение железа для задач AI на русском ведётся в чате "железячников" в телеграме, https://t.me/hw_ml. Всякие заметки типа "Амазон сделал кастом чип для обучения нейросетей для своего облака" (декабрь 2020, https://venturebeat.com/2020/12/01/amazon-debuts-trainium-a-custom-chip-for-machine-learning-training-workloads/), скорее всего, будут там.
-- средства выражения алгоритмов (языки программирования): там после десятилетия застоя в нулевых годах наметилась тихая революция: Rust, Go, Julia. Тренд: высокий уровень абстракции при высокой скорости исполнения этих абстракций (в Julia это описывается как "проблема двух языков": чтобы писать быстро и высокоуровнево, как на Python, а исполнять на железе быстро, как на C". Интересно, что лет тридцать назад тренд был "поддержать язык железом" (типа LISP-машины и PROLOG-машины). А сейчас LLVM в компиляторах идёт как отдельный абстрагирующий слой от железа! То есть "железный вычислитель", далее LLVM-вычислитель, далее уже язык как вычислитель.
-- с базами данных идёт сдвиг к GPU ускорителям, "типовые алгоритмы должны уходить в железо": The global GPU Database market size is expected to gain market growth in the forecast period of 2020 to 2025, with a CAGR of 16.0% in the forecast period of 2020 to 2025 and will expected to reach USD 279 million by 2025, from USD 153.8 million in 2019. Это из https://www.orbisresearch.com/reports/index/global-gpu-database-market-2020-by-company-regions-type-and-application-forecast-to-2025, эти алгоритмы уходят в железо, что очень похоже на "мейнфреймы, команды которых микропрограммируются" (тоже несколько уровней вычислителей)
-- Intel не прекратила баловаться с нейроморфными архитектурами, вот https://venturebeat.com/2020/12/03/intel-showcases-neuromorphic-computing-innovations-at-labs-day/, Loihi solutions required 75 times less power than conventional mobile graphics cards without perceivable losses in performance. In fact, in a study accepted to the 2020 Conference on Robot Learning, the Rutgers team concluded that Loihi could learn tasks with 140 times lower energy consumption compared with a mobile graphics chip. Основная проблема как раз с алгоритмикой для этой архитектуры, и софтом с этой алгоритмикой. Но тут трудно говорить о "другой физике". Архитектура другая, но вот физика (пока в нейроморфной архитектуре не задействуют мемристоры) та же, что и у классики -- и там тоже два уровня, используется микропрограммирование (https://en.wikichip.org/wiki/intel/loihi).

3. На уровне "обычных алгоритмов" -- это предыдущая алгоритмика. Думать тут нужно о томах Кнута: алгоритмы сортировок последовательностей, генерации случайных чисел, обхода графов, удаления невидимых линий в трёхмерной графике и т.д.. Тут полно результатов, только они сегодня не так интересны. Например, Гугль сказал, что его квантовый компьютер решает за 200 секунд задачу, которую суперкомпьютер IBM решает за 10тыс. лет. IBM предложила новый алгоритм, и он решает на суперкомпьютере эту задачу за 2.5 дня (https://www.ibm.com/blogs/research/2019/10/on-quantum-supremacy/). Но эти алгоритмы мало кого волнуют сегодня, это стало уделом узких спецов -- знание алгоритмики сегодня идёт в плюс программистам, но по большому счёту оно уже не считается фронтирным, рок-н-ролл ушёл в другие места. Да, кого-то ещё может взволновать крошечное (после 44 лет исследований!) улучшение алгоритма нахождения кратчайшего пути коммивояжёра -- https://www.quantamagazine.org/computer-scientists-break-traveling-salesperson-record-20201008/, но по большому счёту такие достижения вдруг перестали считаться интересными.

4. А вот "универсальные алгоритмы" (варианты The Master Algorithm, как он описан у Pedro Domingos в книжке https://yadi.sk/i/TxIe5tc1SWekdQ) как раз очень бурно развиваются. Именно про них был горький урок Sutton, именно им нужно добавлять вычислительную мощь. Вот только некоторые из результатов этой "новейшей алгоритмики":
-- по факту замена алгоритмов свёрточных нейронных сетей алгритмами архитектруры работы с вниманием -- трансформерами, впрямую использовали эту архитектуру для работы с изображениями и получили SoTA: https://ai.googleblog.com/2020/12/transformers-for-image-recognition-at.html. Теперь и CNN, и RNN заменены на трансформеры, появившиеся в 2017 (и появилось много вариантов, типа Reformer, эффективный вариант от января 2020 -- https://ai.googleblog.com/2020/01/reformer-efficient-transformer.html)/
-- алгоритмический прорыв в алгоритмах сворачивания белков, AlphaFold, 50 лет стояла эта задача в биологии, и оказалась решена (существенно раньше, чем в любых прогнозах. Так же, как задача победы человека в игре Го), https://deepmind.com/blog/article/alphafold-a-solution-to-a-50-year-old-grand-challenge-in-biology
-- алгоритмический прорыв в решении уравнения Шрёдингера, https://syncedreview.com/2019/09/18/quantum-chemistry-breakthrough-deepmind-uses-neural-networks-to-tackle-schrodinger-equation/
-- алгоритм NVIDIA, сокращающий требуемый для видеоконференций трафик вдесятеро, https://syncedreview.com/2020/12/02/nvidia-neural-talking-head-synthesis-makes-video-conferencing-10x-more-bandwidth-efficient/
-- ... и этот поток нескончаем. Универсальные алгоритмы -- это универсальные аппроксиматоры. Если их научиться обучать, то можно решить множество самых разных задач (в том числе, конечно, инженерные расчёты, химические расчёты, физические расчёты и т.д.). Вот, например, обзор расчётов турбулентности методами машинного обучения: https://www.tu-ilmenau.de/fileadmin/media/tsm/papers/Schumacher2020_3.pdf. Но рассчитывать этими методами можно очень много чего, практически всё! Можно ли из этих расчётов потом вынуть математическую модель, "физическую модель"? Да, таких алгоритмов тоже полно, этим не занимаются только ленивые. Вот пример: https://arxiv.org/abs/2009.11500, Discovery of Governing Equations with Recursive Deep Neural Networks или https://arxiv.org/abs/2012.00428 по попыткам подбирать уравнения покомпактнее -- таких работ множество, "перевести данные в какие-то короткие формулы" скоро будет уделом стандартных библиотек. Я бы выделил вот эту работу: https://arxiv.org/abs/2011.11981, там уравнения в частных производных открываются генетическим алгоритмом из редких и зашумленных данных. Законы Кеплера легко открываются из данных, не нужно ждать сотни лет. Неполноприводное движение тоже обеспечивается сегодня выучиванием алгоритмов этого движения, а не программированием.

Мой пойнт в том, что алгоритмика многоуровнева и стремительно развивается. И пока непонятно, чему учить в алгоритмике
-- "простых людей" (алгоритмика в составе трансдисциплины вычислительного мышления -- мой интерес. Думаем об абстрактном "директоре стадиона", который должен уметь поддержать разговор со своими айтишниками на уровне более детальном, чем "сделайте мне красиво", тьфу, "вычислите мне что-нибудь, и подешевле"),
-- прикладных специалистов (инженеров, которым нужно делать инженерные расчёты. Или учёным, которым нужно "открывать законы природы"),
-- программистов (которых разных сортов уже столько, что не факт, что их нужно учить одной и той же алгоритмике -- скажем, спецов по квантовым компьютерам какой алгоритмике учить? А спецов в data science? А спецов в AI? Или они все уже не "программисты"?

И спросить не у кого. Такой момент в истории, когда никто ничего про алгоритмику в целом не знает. Как в притче о слоне и семи мудрецах, один видит в алгоритмике продолжение дела Кнута, другой дифференцируемое программирование (differentiable programming, https://ailev.livejournal.com/1464563.html), третий рассуждения про применимость теоретических работ Тьюринга к нейроморфным компьютерам на мемристорах и квантовым компьютерам (computer science -- естественная наука), и алгоритмика как-то теряется как цельная дисциплина. И даже непонятно, нужно ли стремиться компактифицировать знание об алгоритмике, сделать его более универсальным, или плюнуть и считать алгоритмику разъехавшейся по каким-то частным дисциплинам?

И это даже не всё вычислительное мышление. Кроме алгоритмики в вычислительном мышлении что-то должно быть сказано и про моделирование данных. Ибо без данных алгоритмы не бывают. А там тоже всё чудесато. Ибо алгоритмы и данные -- это две стороны одной медали, и не только в классической информатике. Графы знаний и коннективистские модели данных (скажем, language models как те же нейросети), моделирование данных в ходе DDD (domain-driven development) -- и вот уже и моделирование данных оказывается весьма бурно развивающимся. Хотя результаты этого моделирования, скорее всего, мы узнаем как "вот открыли ещё один тип алгоритма, который эффективно работает с вот этим видом данных" -- и новизна вида данных потухнет перед новизной алгоритма. Эту ситуацию с недооценкой моделирования данных в информатике тоже нужно исправлять. Есть чат "Типы в языках программирования, моделирования, представления знаний", https://t.me/typeslife, там 439 интересующихся. И поддержать какой-то осмысленный разговор на тему связи структур данных (Arrays, Linked Lists, Stacks, Queues, Maps & Hash Tables, Graphs, Trees самых разных видов, Disjoint Set Union и т.д.), типов данных (целое, строка, плавающее и т.д. -- активно развиваются сейчас плавающие для ускорения вычислений универсальных алгоритмов AI, тех же нейронных сетей), типов (они ж необязательно "данных"), баз данных (где "модель данных" уже звучит вполне знакомо), баз знаний/онтологий/графов знаний и т.д. -- там это не получается почему-то. Разговор сразу рассыпается, увы. Но будем проблемы решать по очереди. Пока решим, что делать с алгоритмикой.

UPDATE: обсуждение в чате блога с https://t.me/ailev_blog_discussion/5058, в чате по типам -- https://t.me/typeslife/7958
2019

Вычислительное мышление в интеллект-стеке уровнем выше, чем системное

Что выше по интеллект-стеку -- вычислительное мышление, или системное мышление? Разлепить эти две трансдисциплины в жизни практически невозможно, они весьма тесно переплетены. Но нам разлепить таки нужно: надо как-то выстроить обучение.

1. Вариант "вычислительное мышление с онтологикой ниже системного мышления, сначала нужно освоить вычислительное мышление".
По факту, это продолжение линии Дэвида Дойча про его сцепленные намертво четыре теории, вместе составляющие классическую "теорию всего", рациональное мировоззрение (https://yadi.sk/i/Rv9Tob18A6mxyA, стр.398):
"по отдельности все четыре теории [квантовая физика в интерпретации Эверетта, вычисления в докрученной Дойчем до разных физик вычислителя интерпретации Тьюринга, эпистемология в интерпретации Поппера с добавкой самого Дойча и теория эволюции с репликаторами в докрученной Дойчем интерпретации Докинза] содержат объяснительные пробелы из-за которых они могут показаться узкими, бесчеловечными и пессимистичными. Но я считаю, что как только их будут рассматривать совместно, как единое объяснение структуры реальности, это неудачное свойство изменится на прямо противоположное. Далекое от отрицания свободной воли, далекое от помещения человеческих цен­ностей в контекст, где они становятся тривиальными и неважными, далекое от пессимизма, это фундаментально оптимистичное мировоз­зрение помещает человеческий разум в центр физической вселенной, а объяснение и понимание — в центр стремлений людей".

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

В системном мышлении мы явно говорим о воплощении системы (физический мир) и об описаниях системы/veiws, методах описания системы/viewpoints -- и вычислительное мышление в этом клубке "теории всего" нам нужно для того, чтобы вести тут внятный разговор в рамках системного мышления.

Например, если мы берём такие описания, как требования системы, то в интеллект-стеке начинает работать рассуждение на уровень ниже. По Дойчу, так требование выдвигается, как "гипотеза" или им же предложенный термин "заблуждение" (все эти нюансы с выявляется/discover по Дойчу абсолютно однозначны: ничего не выявляется, а прямо изобретается/придумывается творческим мышлением). И выдвигается огромное количество требований, которые конкурируют между собой за своё качество сначала в голове выдвигающего требование, а затем и в коллективе людей и компьютеров проекта.

Качеством моделей/описаний (в нашем случае требований, но это просто пример общего паттерна мышления) занимается эпистемология. Она отвечает на вопрос "как вы узнали"? SoTA эпистемология говорит, что хороша та модель (те требования), которая нам даёт объяснение, а не просто предсказание. И что вот так понимаемое качество — это про то, какое описание из многих возможных нужно выбрать (а потом оказывается, что всегда можно сделать описание получше, но это только потом, когда найдётся случай, плохо описываемый — жизнь и описание расходятся). Этот выбор описаний (требований в их начальных вариантах) осуществляется путём фальсификации вариантов двумя путями:
— доказательством непротиворечивости (в том числе с ранее известными хорошими описаниями). И тут вспоминаем, что доказательства -- это вычисления, информатика это "наука о доказательствах", чуть подробней тут: https://ailev.livejournal.com/1540866.html (впрочем, и выдвижение требований это тоже вычисление, generative алгоритмы именно про "творческое мышление").
— измерением предсказанного описанием (эксперимент). Тут do-calculus, контрфактуальность, вычисления байесовских сетей, причинный вывод/causal inference. Тоже вычисления/вывод/доказательства.

Про такие описания, как требования, всё это вполне применимо. И тут же вылезает тот самый assurance case, который про доказательства (в том числе логические, и в том числе экспериментальные — описания). Для работы с требованиями через assurance case нужно вычислительное мышление. Нет -- вместо культурной работы с требованиями будет работа "на коленке", "требовательное кулибинство" (pun intended).

Разница только в том, что в требованиях мир (целевую систему) подгоняют потом под описания, а в классической эпистемологии описания под требования. В этом плане инженерия (в том числе инженерия требований) -- это reverse-epistemology, на этом уровне интеллект-стека это ближе к прагматике и праксиологии. И эту мысль нужно ещё продумать. Если требования невыполнимы в принципе — то это плохие требования. Они должны быть возможны. Это одна из проверок описаний, их физичность (выполнимость в жизни) — как раз это Дойч хорошо описывает, он в этом направлении хорошо дополнил SoTA эпистемологию Поппера. Так что да,
-- выявление требований, валидация требований и проверка требований с использованием assurance case берём из практик системной инженерии
-- объекты (целевая система) и их описания (требования) берём из системного мышления,
-- а вот читать для более глубокого понимания, что это такое и зачем нужно Дойча (который рекомендует читать более старого Поппера, чьи идеи он разделяет) -- это эпистемология, вычислительное мышление, эволюция, физика. Поверх всего этого читаем Judea Pearl, который говорит о том, что все эти объяснения — это объяснения причин и следствий, и даёт формальную модель для этого.

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

Но Дойч не использует в полной мере понятия "система": кроме системных уровней и эмерджентности у него из системного подхода нет практически ничего. Да и вряд ли он знает о системном мышлении в его современной версии. В старинных работах по общей теории систем системное мышление выглядит как ряд простых идей вокруг понятия "эмерджентность", это и использует Дойч. Это используют и другие авторы более-менее системных "теорий всего", тот же Уилбер, у которого вместо физики и реализма на ведущем месте вдруг "духовность", а из системного мышления идея холона трактуется более-менее произвольно в части соблюдения отношения часть-целое и эмерджентности, зато множественность методов описания/viewpoints на первом месте. У Дойча множественность методов описания по факту не отмечается, он всё больше про "универсальность" говорит и у него практически ничего про прагматизм и разделение труда, разнообразие ролей и интересов/concerns, влекущих разнообразие методов описаний. На более-менее полноценную трансдисциплину, которая рассказывает о структурировании мышления о проектах, а не только о целевых системах этих проектов, системное мышление 1.0 из общей теории систем не претендует, и именно оно у Дойча. А вот современная версия 2.0, развиваемая в системной инженерии -- она уже претендует. Тем не менее, идея "на разных системных уровнях используются разные описания, разные доказательства" -- она уже требует для своего понимания системного мышления.

А ещё в вычислительном мышлении нужно говорить о вычислительном стеке: внизу там физика, выше конструкция вычислителя, выше софт. Что-то по линии текста "сколько уровней в интеллект-стеке", https://ailev.livejournal.com/1382464.html (7 уровней только аппаратуры классического компьютера, и при этом я интеллект-стек я понимал как стек вычислителя, это сейчас я работаю именно с понятием интеллекта и мышления, обсуждая этот стек в "Образовании для образованных 2020").

Ход от вычислительного мышления (computer science) к инженерии (computer engineering, software engineering -- стек там слишком большой, чтобы говорить об одной инженерии) тоже требует системного мышления, ибо сегодня вся частная инженерия по факту специализация системной. Делаем-то successful computer system, successful software system. Но это не слишком сильное тут соображение в пользу "сначала системное мышление, потом вычислительное", ибо можно сказать, что "сначала вычислительное мышление, потом системное, потом уже инженерия, менеджмент, предпринимательство".

3. Почему системным мышлением и вычислительным мышлением нужно заморачиваться прямо сейчас?
Вот тут несколько моих комментов по поводу выступления Ольги Максименковой на тему современного IT-образования: https://www.facebook.com/olga.maksimenkova/posts/3812043265482152.

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

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

Если нет, то каждый айтишник должен стать учителем по вычислительному мышлению для окружающих его людей. Просто чтобы мочь обсудить постановку задачи с тем же условным директором стадиона на уровне чуть выше, чем "сделайте мне красиво".

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

Айтишникам же примерно так задачу и ставят: "Нарисуйте нам айти стратегию, а затем реализуйте её". То есть у айтишника в образовании должна быть ещё и учительская компетенция для дисциплины "вычислительное мышление" aka "информатика 2020" (и это ни разу не школьная сегодняшняя дисциплина).

При этом в самом айти огромное количество системных уровней (в модели OSI только семь!). Каждый из них требует своей дисциплины, своей практики, своего инструментария/технологии. Системность (а не систематичность) образования именно во многоуровневости, программы развития айтишника должны быть многоуровневыми. Для этого нужно учить айтишника работать с айти системно. Это где в его образовании?

Если неайтишное окружение айтишника и сам айтишник будут работать на разных системных уровнях, то ведь не договорятся никогда! А образователи не договорятся, чему учить. Так что сама идея системных уровней в образовании по вычислительному мышлению, похоже, уже должна присутствовать.

Но системности в разговоре про современные вычисления -- с гулькин нос, только эхо от разговоров старых компьютерщиков. В этом-то и беда момента. А поскольку парадигма вычислений меняется (алгоритмы AI это не алгоритмы Кнута, квантовый компьютинг -- это даже не функциональное программирование), и время этой смены становится сравнимым со временем образования, бессистемность становится вообще фатальной. Тему непонятно без этой многоуровневости даже как обсуждать. Разве что ограничиться "принципиальной вычислимостью" как у Тьюринга: формально, академично, но бесполезно без последующего развития в сторону неизбежной многоуровневости вычислителей.

4. А если таки попробовать говорить на системном языке в вычислительном мышлении с самого начала? Сделать системное мышление пререквизитом?

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

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

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

В системном языке вроде как получается меньше размахивать руками, и потом проще переходить к инженерии. Поэтому пока выбираем вариант "вычислительное мышление в интеллект-стеке уровнем выше, чем системное".

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219884643120531, в чате лаборатории вычислительного мышления -- https://t.me/comp_thinking/384
2019

lytdybr

Книгу "Системное мышление 2020" уже можно заменить (или купить, если не было) в ЛитРесе и Амазоне -- https://www.litres.ru/anatoliy-levenchuk/sistemnoe-myshlenie/, https://www.amazon.com/Системное-мышление-Учебник-Левенчук-Анатолий-ebook/dp/B079Z19R9W/. Чат поддержки курса/книги с бесплатным вариантом (в припиненном посте) -- https://t.me/systemsthinking_course

Начинаю потихоньку раскапывать (ох, как это всё медленно):
-- вычислимость теоретическая против реальной (типа как машина Тьюринга вычислит всё, но часть вычислений будут длиться дольше, чем время существования вселенной. Отличаются прежде всего наличием вычислительного ресурса на достаточное время. Вычисления по time boxing -- в реальном времени, выбор алгоритма "быстрого, но не точного", а ещё зависимости не только от скорости операций, но и от памяти, зависимости мощности узла и пропускной способности, включая разборки с законом Amdahl и т.д.). Вроде как эффективность обучения и вывода в нейросетях и других архитектурах AI (эволюция, аналогиии и т.д.) тоже тут. Это вроде как computer science и computational science, взятые как естественные науки -- и их две. И там большая путаница чистой инженерии и инженерных эвристик с именно что наукой.
-- исследование операций, которое Берталанфи указал как одну из ведущих дисциплин, следующих из системного подхода (наряду с системной инженерией). Это про использование ограниченных ресурсов с максимальной эффективностью. Reinertsen приводит как источники знания для исследования операций как ведущей дисциплины операционного менеджмента довольно много всего айтишного.
-- экономика, которая про распределение редких ресурсов, но на базе праксеологии. Тем не менее, всякие типы аукционов для определения стоимости ресурсов -- это вроде как нужно искать в экономике.

Большой очередной флейм с моим участием про бесполезность визуального мышления. Как всегда, быстро скатываемся к обсуждению эпистемологии (ибо сразу ставится тезис о помощи визуальных средств мышлению), и тут же начинает пробуксовывать логика и онтология: https://www.facebook.com/groups/264158970440888/permalink/1503819776474795/. Спорщики остались при своём, я считаю, что очередная критика моей книги https://ridero.ru/books/vizualnoe_myshlenie/ так и не состоялась, ни одного нового аргумента в пользу "визуального мышления". Осторожней при проходе по ссылке на тред, там поводом художественная выставка того самого Фоменко (он ещё ведь и художник! Визуальный мыслитель, так сказать).

Обсуждение эпистемологии с Вячеславом Мизгулиным (у него в посте неожиданно появилась кибернетика 2.0 от РАН по поводу "фундаментальной организационной науки", и я откомментировал "второе пришествие трупа"): https://www.facebook.com/viacheslav.mizgulin/posts/3482001025187326. Свелось к спору о терминах, до эволюционной (попперианской и пост-попперианской) эпистемологии так и не дошло. А ведь обсуждение "настоящей организационной науки" делается как раз в эпистемологии, изнутри самой оргнауки её обсудить нельзя!

Вот тут обсуждаю геноцид норок армией Дании в отличие от отказа Швецией забивать своих норок (в России за шесть лет были планы удвоить поголовье норок, интересно, что будет теперь): https://www.facebook.com/eugene.peskin/posts/3636497223075836?comment_id=3636553696403522. Мой коммент -- реакция на то, что "норок жалко, их что сейчас забьют, что позже на мех". Я интересуюсь, попадут ли в Красную книгу норки, если их перестанут разводить на мех (сейчас их на фермах десятки миллионов) -- то есть лучше не забивать на мех и быть в Красной книге, или иметь популяцию в десятки миллионов, но кончать жизнь принудительно, а не от природных невзгод? Ну и дальше в таком духе.

Усомневаю 150-летние производственные циклы в https://www.facebook.com/petr.shchedrovitskiy/posts/3429153077171565, привожу графики Тони Себа по ускорению распространения технологий.

Роли ассистентов Монтессори педагогов -- кейс Лии Султановой по системному мышлению (когда-то приложил к этому руку), https://www.facebook.com/liya.sultanova/posts/3382993551814731

Лучшая картинка по поводу американского голосования:


UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219754105657176
2019

Квантовый учёт, учётная квантовость: мышление о неотличимостях

Квантовая теория учёта прав собственности, которой мы когда-то развлекались (вот мой текст 2004 года со ссылками на работы А.Сёмина и Б.Черкасского -- https://ailev.livejournal.com/213313.html), неожиданно посмотрелась в зеркало. Если в теории учёта прав собственности говорилось о принципиальной невозможности разобраться, кто же собственник бумаги в момент путешествия сообщения между учётными системами -- и вот эту неопределённость объясняли со ссылкой на квантовую физику, отсюда "квантовая" в "квантовой теория прав".

Вот писал Б.Черкасский (http://zhinkin.narod.ru/articles/article09.htm):
когда бумага с одного счета ушла, а до другого еще не дошла, кого считать собственником и включать в реестр: отправителя или получателя. Некоторые циники договариваются даже до того, что в этот период, якобы, у бумаги собственника нет. Конечно мы вместе со всем прогрессивным юридическим сообществом таких отщепенцев гневно осуждаем, справедливо утверждая, что этого не может быть, потому что этого не может быть никогда. Но имеющиеся трудности это, увы не устраняет.
Все эти проблемы возникали из-за того, что учётная информация распространяется по сети депозитариев (учётной сети) не мгновенно. Но и в квантовой физике "волна дифференциации" расхождения идентичности двух вселенных в мультивселенных тоже идёт не мгновенно, а со скоростью света. И возникающие проблемы тоже нужно описывать.

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

Самое забавно, что сами квантовые физики объясняют свои понятия как раз ссылками на проблемы учёта прав. Вот писал Дэвид Дойч (https://yadi.sk/i/0fLMVlwgN59BHA):
Как ни странно, это не так. Две идентичные сущности при детерминистических и симметричных законах вполне могут стать различными. Но чтобы это случилось, изначально они должны быть больше, чем точными образами друг друга: они должны быть неотличимы [fungible], что означает идентичность буквально во всех аспектах, за исключением того, что их две. В моем рассказе понятие неотличимости будет появляться неоднократно. Этот термин заимствован из юриспруденции, где он относится к юридической фикции, признающей определенные сущности идентичными для таких целей, как оплата долгов. Например, долларовые банкноты неотличимы по закону, то есть если вы взяли в долг доллар, то, если не оговорено обратное, необязательно возвращать именно эту конкретную банкноту. Баррели нефти (определенного сорта) также неотличимы. А вот лошади нет: если вы одолжили у кого-то лошадь, то вернуть придется именно ее; не подойдет даже ее однояйцевый близнец. Но физическая неотличимость, о которой я здесь говорю, не основана на признании. Ее смысл заключается в том, чтобы быть идентичными, а это совсем другое и контринтуитивное свойство. Лейбниц в своем учении о «тождестве неразличимых» дошел до того, что исключил существование таковых в принципе. Но он ошибался. Даже независимо от физики мультивселенной, мы теперь знаем, что фотоны и при некоторых условиях даже атомы могут быть
неотличимы. Первое достигается в лазерах, второе – в устройствах, называемых «атомными лазерами». Последние выбрасывают сгустки чрезвычайно холодных, неотличимых атомов. Как такое возможно без возникновения трансмутации, взрывов и тому подобного, я расскажу ниже.

Во многих учебниках и научных статьях по квантовой теории, даже в тех немногих, которые поддерживают многомировую интерпретацию, понятие неотличимости практически не обсуждается и даже не упоминается. Тем не менее оно присутствует повсеместно, прямо под концептуальной поверхностью, и я считаю, что его явное выражение поможет объяснить квантовые явления безо всяких ухищрений. Как вскоре станет ясно, это свойство еще более странное, чем предполагал Лейбниц, гораздо более странное, чем, например, множественные вселенные, которые в конечном счете не противоречат здравому смыслу – просто их много. Это свойство допускает совершенно новые типы движения и информационных потоков, отличные от всего, что можно было себе представить до появления квантовой физики, а значит, и радикально иную структуру физического мира.

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

Доллары, лежащие на банковских счетах, можно назвать «конфигурационными» сущностями: это состояния или конфигурации объектов, а не то, как мы обычно представляем себе сами физические объекты. Ваш банковский счет воплощается в состоянии определенного устройства для хранения информации. В каком-то смысле вы владеете этим состоянием (согласно закону изменить его без вашего согласия никто не может), но само устройство или любая его часть вам не принадлежит. И в этом смысле доллар – абстракция. В действительности это фрагмент абстрактного знания. Я отмечал в главе 4, что, как только знание воплощается в физической форме в какой-либо подходящей среде, оно стремится там остаться. Таким образом, когда физический доллар изнашивается и уничтожается монетным двором, абстрактный доллар вынуждает монетный двор перевести его в электронную форму или заново напечатать в бумажном виде. Это абстрактный репликатор, с тем отличием (не свойственным репликаторам), что он старается не распространиться, а скопироваться в бухгалтерские книги и резервные копии в памяти компьютера.
Другим примером неотличимых конфигурационных сущностей в классической физике служит количество энергии: если крутить педали велосипеда, пока не наберется кинетическая энергия десять килоджоулей, а затем тормозить, пока половина ее не рассеется в виде тепла, то не важно, рассеялись ли первые пять набранных килоджоулей, или вторые, или какая-то их комбинация. Важно, что рассеялась половина имевшейся энергии. Оказывается, что в квантовой физике элементарные частицы тоже являются конфигурационными сущностями. Вакуум, который мы считаем пустым по обыденным меркам и даже на атомном уровне, на самом деле не пустота, а богато структурированная сущность, называемая «квантовым полем».

Элементарные частицы представляют собой высокоэнергичные конфигурации этой сущности – «возбуждения вакуума». Так, например, фотоны в лазере – это конфигурации вакуума внутри его «резонатора». Когда в нем представлены несколько таких возбуждений с идентичными свойствами (энергией и спином), то невозможно указать, какое из них появилось первым или какое покинет резонатор
следующим. Есть только свойства, характеризующие каждое из них, а также их количество.

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

Достаточно трудным для понимания является тот факт, что если объекты просто идентичны (в том смысле, что являются точными копиями друг друга) и подчиняются детерминистическим законам, которые не проводят между ними различия, то они никогда не станут различными, а вот неотличимые объекты, которые на первый взгляд похожи друг на друга даже больше, могут. Это первое из странных свойств неотличимости, о которых Лейбниц никогда не задумывался и которые я считаю центральными для явлений квантовой физики.

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

Наверно, но только из-за размытости термина. Безусловно, нет смысла говорить, что налоговой службе принадлежит один цент от каждого доллара, поскольку мы столкнемся с тем, что и центы на счету тоже неотличимы. Но в любом случае, заметим, что проблема, поднимаемая этим «многообразием в пределах неотличимости», только языковая. Непонятно, как словами описать некоторые аспекты ситуации. Саму
же ситуацию никто не считает парадоксальной: компьютер получил команду выполнить определенные правила, и относительно того, что случится в результате, никогда не будет никакой двусмысленности. Как станет ясно в дальнейшем, многообразие в пределах неотличимости – широко распространенное явление в мультивселенной. Одно важное отличие от случая взаимозаменяемых денег заключается в том, что в последнем примере нам не нужно интересоваться или предсказывать, каково это – быть долларом. Другими словами, каково это быть неотличимым, а затем приобрести отличия. Многие приложения квантовой теории требуют от нас как раз этого.
Какая мораль всей этой истории? В какой-то мере вся онтология базируется на множествах, даже если речь идёт о хитрых случаях non-well-founded sets как в ISO 15926. Множества/типы предполагают как неотличимость (в части принадлежности ко множеству, а не членству по порядковому номеру в списке) объектов, которые в них попали (в случае понятий -- подведены под класс, а хоть и вероятностно), так и различие (всё-таки есть разные экземпляры!). И в моменты передачи информации об изменениях/вычислениях/выводе/размышлениях нужно уметь об этом размышлять. Похоже, это "мышление о различимостях и неразличимостях" -- какой-то более-менее автономный и важный кусочек вычислительного мышления (ну, или онтологического мышления, это как поглядеть).

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219654129277829
2019

Только одна из компьютерных физик: заказан цифровой компьютер с 0.01 секстиллиона операций в секунду

NVIDIA получила заказ на изготовление цифрового компьютера Leonardo вычислительной мощностью 0.2экзафлопс, если замерять в FP64, стоить он будет примерно €0.24 миллиарда, строиться начнёт в следующем году летом, а в 2022 году вступит в строй -- нынешний экзафлопс FP64 идёт по цене миллиарда долларов, https://www.hpcwire.com/2020/10/15/nvidia-and-eurohpc-team-for-four-supercomputers-including-massive-leonardo-system/.

Но если брать AI вычисления, то речь в Leonardo уже идёт о мощности в 10 экзафлопс (10 квинтиллионов, то есть 10**18 операций половинной точности в секунду) -- https://venturebeat.com/2020/10/15/nvidia-will-supply-hardware-for-leonardo-a-10-exaflop-supercomputer/. Мы уже привыкли к классическим цифровым компьютерам, и вроде как шла борьба за экзафлопс, но она плавно перешла в борьбу за зетафлопс (это уже 0.01зетта -- начинаем учить новый префикс, секстиллионы). Ещё можно поспорить, о каких флопсах говорится, https://medium.com/@moocaholic/fp64-fp32-fp16-bfloat16-tf32-and-other-members-of-the-zoo-a1ca7897d407 (самым популярным становится TF32, который подразумевает 19 бит в умножении, но 32 бита в сложении -- https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/, у Intel это FP19. Скорее всего, речь идёт именно о 10экзафлопс с именно такими плавающими -- 32 бита в памяти, в сложении, но 19 бит в умножении). Если вы ухитряетесь делать умножения на калькуляторе за одну секунду, то чтобы выполнить 10экзафлоп операций с этой скоростью вам нужно будет потратить 316887650000 лет (т.е. почти 17 миллиардов лет, Земле всего 4.5 миллиарда лет, нужно было бы работать вчетвером, чтобы управиться за время от зарождения Земли до настоящего времени вычислить с дикой скоростью одного умножения в секунду столько умножений, сколько их будет делать Leonardo всего за секунду. Там ведь примерно 14тыс. NVIDIA A100GPU, да ещё на водяном охлаждении! Невероятная мощьность).

Вот я писал про квинтиллионы операций в секунду (и желание иметь нейросетки с тера/триллионом параметров) в сентябре -- https://ailev.livejournal.com/1536283.html, вот про ускорение и перестройку в айтишном мире по состоянию на осень 2020 -- https://ailev.livejournal.com/1540648.html, тут лишь добавлю несколько штрихов.

Computer science это естественная наука, ответ на вопрос о том, что может быть вычислено, а что не может быть вычислено даётся теориями computer science, а работающие теории выбираются экспериментами, а не математически. Ужас в том, что в евклидовой геометрии сумма углов треугольника 180 градусов, но если реально замерить сумму углов треугольника вблизи Земли, то это будет (искривление пространства-времени большой массой!) 180,0000002 градуса, и если эту поправочку "из физики" не учитывать, то нельзя построить GPS. То же самое относится к любым другим объектам: математическая точка и физическая точка (особенности с учётом особенностей квантовой физики) это очень разные объекты. И математическое понятие вычисления и физическое вычисление -- это разные объекты. Так, математическое вычисление прежде всего даёт нам легко имитируемые аналоговыми цепями классического цифрового компьютера операции логики (и, или, не) с нулями и единицами. А теперь поменяем физику компьютера с цифрового на квантовый, где ровно вот эти операции делаются с огромным трудом, но зато какое-нибудь разложение на множители -- раз плюнуть. Что теперь с computer science? Можем мы быть уверенными в результатах вычислений квантовых компьютеров? А если это оптический компьютер (например, https://venturebeat.com/2020/06/03/lighton-researchers-explain-how-they-trained-an-ai-model-on-an-optical-co-processor/) -- то что именно он считает, и насколько мы должны быть уверенными, что он считает именно это? Кто это должен сказать: математики или физики? Кто должен сопоставить "математические треугольники" и "физические треугольники" для тамошних вычислений?

Чтобы было понятней: классический компьютер имеет алгоритмы, которые при добавлении одного разряда к разлагаемому на множители числу утраивают время вычисления. Время вычисления растёт в геометрической прогрессии. Рекорд прошлого года -- 240 десятичных разрядов, и речь идёт о примерно четырёх тысячах лет работы одного компьютерного ядра (ну, или четырёх годах работы тысячи компьютерных ядер), https://listserv.nodak.edu/cgi-bin/wa.exe?A2=NMBRTHRY;fd743373.1912. Квантовый алгоритм Шора 250-значное число раскладывает на множители лишь за несколько тысяч операций, то есть практически мгновенно. Но этот алгоритм раскидывает вычисления по примерно 10**500 вселенных в мультиверсе (интерпретация Эверетта для квантовой механики -- самая понятная в части объяснений происходящего), собирая результаты этих вычислений через механизм интерференции. Во всей вселенной существует всего около 10**80 атомов, что существенно меньше по сравнению с 10**500. Для квантовых компьютеров таким образом открыты такие задачи, которые классические цифровые компьютеры вообще не могут решить. Это физика, математика тут отдыхает.

А есть ли квантовые алгоритмы обучения нейронных сетей? Да, есть. И вы попадаете в другой мир, где трудно вычислить 2*2, но легко вычислить разложение на множители 250-значного числа. Можно начинать computer science сначала, и мир ждёт квантового Дональда Кнута (https://en.wikipedia.org/wiki/Donald_Knuth): квантовые алгоритмики в новом мире будут самыми главными (как и в классическом IT "просто алгоритмики"), чтобы потом точно так же отойти в тень: алгоритмики (ну, или алгоритмисты, уж кому как нравится) всё-таки ближе к кодерам, а вот программисты, приходящие им на смену больше озабочены вопросами "зачем" и "почему", нежели "как", они больше инженеры, а не computer scientists. Но без знания алгоритмики, то есть что можно, а чего нельзя просить у компьютера -- классического, квантового, нейроморфного, оптического, мемристорного -- software engineering времени мультипарадигмальной компьютерной физики не взлетит.

А поскольку компьютеры по факту будут (как и люди!) во всех проектах, то компьютерный кругозор должен быть у всех -- software engineering как специализация systems engineering должна присутствовать в образовании. И базироваться должна на естественной науке computer science, а не на чистой математике.

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

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

No free lunch theorem можно переформулировать с математической постановки задачи (нет универсально хорошего алгоритма для оптимизации/обучения во всех классах задач) на физическую (нет универсально хорошего физического вычислителя для всех классов задач).

Computer science нужно переписывать, она перестаёт быть универсальной дисциплиной: computers оказываются более чем разными физически, и математики для них тоже оказываются разными! И только эксперимент даёт ответ: можем ли мы сопоставить с достаточной степенью надёжности эти разные математики этим разным компьютерным физикам. Это идёт физическая революция в computer science, революция физического разнообразия вычислительной мощности: для разных алгоритмов будем использовать разные физики в компьютерах, что трудно для одной физики -- раз плюнуть для другой, и наоборот.

И это, заметим, никак не отменяет тезис Alan Key: The Computer Revolution Hasn't Happened Yet -- https://ailev.livejournal.com/469995.html (мой текст ещё 2007 года с пересказом идей Алана от 2004 года) и более жёсткие формулировки в тексте 2017 года (https://ailev.livejournal.com/1363194.html): компьютер удивительный музыкальный инструмент, на котором люди не играют удивительную музыку, а пищат и шумят (грубо говоря, используют компьютер как микроскоп, которым заколачивают гвозди -- и ситуация с этим всё печальней и печальней). Даже плохие сегодняшние компьютеры не используются по назначению, на них никто не учится быть умнее, на них учатся быть глупее. И тут дело не в компьютерах, а в людях: не пианино виновато, что на нём играют "Чижика" одним пальцем вместо Шопена. Компьютерная революция будет не в тот момент, когда компьютер сумеет автоматизировать что-то ещё (разгрузит человека), а в тот момент, когда наоборот, компьютер сможет быть использован для того, чтобы человек смог выполнять более сложные задачки. Ну, типа компьютер из лестницы, ведущей мозг вниз, станет лестницей, ведущей мозг вверх. Конечно, для этого нужно будет дополнительно учиться, как учатся играть на скрипке (и тут я не могу не напомнить "Никто не хочет учиться играть на XYZ" -- http://ailev.livejournal.com/1158826.html, рынок такое не оплачивает). Но для этого нужно поменять всю систему образования, а для этого нужно осознать, что происходит развал цивилизации.

Вот я осознал, вот я думаю над курсом вычислительного мышления. Этот курс должен выжить пришествие квантовых и оптических вычислителей/computers, и он должен рассказывать о том, как эти вычислители делают человека и группы людей умнее, усиливают интеллект, а не развлекают и автоматизируют. Да, это очень непопулярная постановка вопроса. Если бы я делал курс по гарантированному выигрышу в покер на раздевание, да ещё предлагал "никакой теории, только практика", то за мной пошли бы толпы. Тут же толп пока не намечается, на фронтире толп обычно не бывает.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10219608604139729
2019

lytdybr

Вторая волна коронабесия характеризуется фразой "маразм крепчал": во время заказа в "Братьях караваевых" мне было велено одеть и перчатки тоже, иначе не будет обслуживания. Оплата бесконтактно и ничего руками не беру? Не волнует! Конечно, для разблокировки телефона пришлось снять перчатку с левой руки, для набора пин-кода -- с правой. Бесконтактная оплата в перчатках не работает! Впрочем, в этот момент перчатки никого не волновали, лишь бы я указывал на выбор блюда рукой в перчатке и проговаривал желаемый вес губами в маске. Лучше всего на тему второй волны и её безумств написано в резюме круглого стола во ВЦИОМ: https://www.facebook.com/gleb.kuznetzov/posts/3358064850981527. Тамошний вывод: если власти в первую волну говорили "мы пока ничего не понимаем, поэтому спросим у учёных, а до тех пор потерпите, мы что-нибудь предпримем", то во вторую волну они говорят "учёные ничего не знают, там 10тыс. препринтов с полным безумием, они договориться не могут, поэтому мы уж как-нибудь сами что-нибудь предпримем, без оглядки на учёных". А ещё отработаны механизмы принятия неконституционных решений мэриями, и к этому привыкли. В третью волну и ковида как предлога не потребуется, просто будут "принимать меры" неважно от чего, и безо всяких учёных.

Студиозус долбит матанализ: комплексные числа, бесконечные ряды. Инженерная графика -- это начертательная геометрия. По физике идут лабораторки, но ничего там руками делать не нужно, это ж дистант идёт! Всё это происходит в онлайне, поэтому нам известны и подробности процесса. Так, лабораторные работы по физике делаются путём обсчёта данных измерений, которые даются сразу в письменном виде. Расчёт погрешности идёт как прямой, а не косвенной, хотя погрешности -- это тема ОГЭ (девятый класс), то есть по сравнению со школой идёт детренировка. Выводы лабораторки были продиктованы. Будут онлайн-обученные робототехники, ага.

При этом "так называемый прогресс" от всего этого цирка, похоже, не слишком замедляется. Например, выучите новое слово: дентроника/dentronics (https://www.sciencedirect.com/science/article/abs/pii/S0109564120300762). А пока "британские учёные" придумывают новые слова, в эту в зубную робототехнику идут инвестиции: https://www.neocis.com/ (получили $72млн на фактически тиражирование их робота зубной хирургии, одобренного FDA -- https://venturebeat.com/2020/10/08/neocis-raises-72-million-for-its-dental-surgery-robot/).

в США уже планируют термоядерную реакцию запустить на новом токамаке, строительство могут начать чуть ли не в 2025 году. Это уже и Motley Fool пишет, вся научная пресса уже отписалась давно: https://www.fool.com/investing/2020/10/11/americas-first-nuclear-fusion-reactor-online-2025/. А что изменилось, в чём прорыв? Новые достижения в части сверхпроводящих магнитов. Вот ещё декабрьская 2019 года информация, всё идёт по объявленным тогда планам: https://www.nextbigfuture.com/2019/12/commonwealth-fusion-systems-raised-another-115-million-to-reach-arc-fusion-commercialization-phase-starting-2025.html
В фидике вдруг проснулась старая июльская тема перехода с яндекс.музыки на спотифай: https://freefeed.net/ailev/39f07de1-303e-4866-a950-f3a02347bcb8. Я сам пока не перехожу, подкасты там ещё в центре внимания, но уже не так навязчиво. Но перешедшие на спотифай люди выражают восторг и радость, и я задумался.

В эти выходные поучаствовал на фестивале DJ's Elite 3 совместно с KizzStars -- https://vk.com/kizzstars2020 (в прошлый раз я на этот фестиваль ходил в 2018 году, https://ailev.livejournal.com/1447611.html). Всё там было, как и раньше, только роль французов выполняли россияне. С ночных вечеринок я уходил где-то в полночь, зато шустрил на соушеле (это когда играют диджеи, и всё как на вечеринках, только без тонн макияжа и вечерней одежды, более уютно и по-домашнему). И посетил примерно половину мастер-классов. Перед этим я неделю смотрел ролики кизомба-олимпиады 2019 года, чтобы разобраться в текущих трендах. В кизомбе это нужно делать регулярно, потому как танец быстро меняется. Сегодня в нём выделяют сембу, сеншуал, урбан, мужской и женский стиль, таррашу (http://htdprod.fr/olympiads/en). В финалах в критерий судейства попадает хипхопский fresh, "покажите нам что-нибудь новенькое, чего ещё никто в кизомбе не видел". Поглядеть финалы и современный урбан киз можно в этом плейлисте: https://www.youtube.com/watch?v=DHDlbU54K3k&list=RDDHDlbU54K3k&start_radio=1&t=1. После просмотра я расслабился и перестал быть сильно озабоченным "попаданием в стиль". В какую точку этого стилевого разнообразия ни целься, всё равно не промахнёшься, нужно только качественное исполнение (body control, отслеживание качественного connection, попадание в базу, то есть прежде всего качественная работа на низких системных уровнях). Так что на самом фестивале я откровенно веселился в танце, никакой заботы о стиле: что танцевалось, то и танцевалось, и было очень весело. Фестиваль ещё не закончился, сегодня будет афте-пати, схожу и туда.

Ещё подоспели фоточки с фестиваля бальбоа пару недель назад, и в одной из них даже в кадр попали не только я и партнёрша Анна, но и саксофонист! Говорят же, что танцуют трое: партнёр, партнёрша и диджей, а на этом фестивале вместо диджея была живая шикарная музыка:
2019

Вычислительное мышление, октябрь 2020

Жизнь с computer thinking ползёт медленно, но я не переживаю: мой опыт показывает, что ровно в такие периоды случаются какие-то драматические изменения -- и я нахожу себя в какой-нибудь совершенно новой области, получаю совершенно новый опыт. Главное -- я копаю вычислительное мышление, и там:
-- связи с эпистемологией. Про эпистемологию и causal inference лучше всего написано у Pearl в The Book of Why (2018), неплохо также у Billy Koen в Discussion of the method (2003, основная идея в том, что идёт tinkering и находятся эвристики по этому поводу), и дальше про собственно вычисления/доказательства, предсказания и объяснения у David Deutsch в его паре книжек ("Структура реальности" (https://b-ok.cc/book/2902987/e2df2c, "Начало бесконечности" https://b-ok.cc/book/2703035/908de5)-- но вне связи с говорящимся в The Book of Why. Нужно сделать какую-то гармонизацию материала.
-- связь computations с бесконечным развитием. Это у того же Дойча, но нужно связать с работами Stanley и Lehman по open-endedness. Как сделать хороший генератор? Мутации мутациями, но как попадать в полностью новые объяснения?
-- принцип свободной энергии https://en.wikipedia.org/wiki/Free_energy_principle, который называют и active inference, то есть это тоже про вычисления, "активные вычисления". Вроде как это тоже нужно учитывать. Вот тут видео с Karl Friston на эту тему (начиная с этой темы): https://www.youtube.com/watch?v=NwzuibY5kUs&t=2585s
-- computer science как естественная наука. Это пока у Дойча, но есть ведь куча ещё литературы, и это нужно копать.
-- связь с operations research, это по той же линии "естественной науки": работы на ограниченных ресурсах, вычисления на ограниченных ресурсах.
-- курс должен выжить при переходе к массовому квантовому компьютингу. Похоже, что массовый этот компьютинг случится лет через 6-10 (оптимисты обещают настольный квантовый вычислитель к этому времени, и я склонен верить: тут экспоненциальный рост уже идёт).
-- прицелиться с уровнем глубины изложения (вузовский курс, но полезный условному директору стадиона -- не как производственный/прикладной, а как часть методологической подготовки)
-- онтология: моделирование данных и как это связано с собственно вычислениями. Это пока более чем таинственное место. Были попытки затеять разговор на эту тему в группе "Типы в языках программирования, моделирования и представления знаний" https://t.me/typeslife, но они пока были безуспешными.
-- не столько компьютерная архитектура в её текущем для фон-неймановского компьютинга виде аппаратного и программного стека, сколько понимание разниц цифровой, квантовой, оптической архитектур в их многообразии.
-- практическая часть (другими словами: нужно ли пробовать хоть что-то программировать на курсе computer thinking, то есть решать задачи для понимания материала? Это ведь не должно быть просто изложением SoTA, это должно быть как-то осознанно).

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

Естественная наука -- её предметом являются объяснения поведения физических/материальных объектов в их взаимодействии на разных системных уровнях. Фильтрация плохих объяснений в конечном итоге идёт проведением физического эксперимента (теория, которая плохо предсказывает результаты эксперимента, уменьшает свой вес в SoTA набора теорий данной науки). Объяснения включают в себя возможность предсказаний (предсказания не главное, если у вас хорошее объяснение -- вы предскажете, а если есть предсказание без объяснения, то будут проблемы). Объяснения даются на разных системных уровнях, эмерджентность ликует и искрится: химия, биология вполне себе такие науки более высоких системных уровней. Базисная наука -- физика, и в ней есть много интересных начинаний (типа той же constructor theory от Дойча, http://constructortheory.org/, эта теория ищёт универсальность в законах физики, как в computer science ищут универсальности в вычислениях/доказательствах).

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

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