Вычислительное мышление, май 2021

В посте даю текущее состояние проекта:

— подборка моих материалов по вычислительному мышлению за последние полгода,

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

— пара упоминаний, как двигается SoTA прямо сейчас (внимание к данным в AI после такта развития алгоритмики, и многоуровневая архитектура квантовых компьютеров с ускорителями).И поминаю, что есть сообщество на 270 зевак, которые с интересом наблюдают, как я всё это копаю. Но сами пока не роют. Надеюсь, что в какой-то момент замысел будет ясен, и я не буду с этим вычислительным мышлением так одинок.

Церен Церенов прошёл онлайн-вариант "Системного менеджмента 2021" (https://ailev.livejournal.com/1560118.html) и привёл время его прохождения: 40 часов за 2 месяца -- https://www.facebook.com/tseren.tserenov/posts/3793603804070881. Церен пишет, что это вдвое-втрое меньше, чем затратил бы новичок (ибо он проходил предыдущие версии этого курса несколько раз на очных тренингах). И даже если это 120 часов (второе больше), то это не выходит за границы обычного вузовского курса на 4 кредита, как и задумывалось.

В этом курсе менеджмента много внимания уделено цифровой трансформации (организации цифровой инженерии -- разработке цифровых двойников, связанных в сеть цифровой нитью). Но в нашей линейке курсов по-прежнему нет курса вычислительного мышления, и даже сам этот термин критикуется (масло масляное ведь, мышление само по себе -- это вычисления!). Я много раз касался этой тематики с момента публикации "Вычислительное мышление, декабрь 2020: думаем о современных digital twins" (https://ailev.livejournal.com/1546514.html):

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

  1. Физика, математика, информатика: что они изучают, чем отличаются.
  2. Физичность вычисления, понятие носителя информации, информации и суперинформации [квантовая информация -- это вид суперинформации].
  3. Теория А. Понятие логического вывода/вычисления и алгоритма. Тезис Тьюринга-Чёрча-Дойча. Архитектуры «железа» вычислителей и многоуровневость софта.
  4. Теория B. Ресурсы (алгоритмика Кнута, [квантовая] алгоритмика Дойча и разные другие алгоритмики [скажем, оптические вычисления, мемристоры и т.д.])
  5. Моделирование, онтологизирование, программирование: это всё одно.
  6. Алгоритмика Домингоса (алгоритмы AI).
  7. Кругозор по Software Engineering (по линии, намеченной в кругозоре по системному мышлению https://ailev.livejournal.com/1563471.html -- это ж специализация системной инженерии!

При этом я держу в голове то, что учить нужно условного директора стадиона. И абсолютно непонятно, как показать ему практичность этого курса, зачем ему всё это знать и на каком уровне владения навыками (ибо если не навыки, то это непонятно вообще зачем). Лучшая гипотеза – это чтобы он мог поговорить со своим айтишником, примерно понимая, о чём и как нужно разговаривать.

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

А пока понимаем, что SoTA тут бежит со страшной скоростью:

  • Andrew Ng выдал сегодня (25 мая 2021 года!) "свежую идею" распространить дейкстровское определение программы на базе алгоритмов Кнута на программы на базе алгоритмов AI (https://www.facebook.com/andrew.ng.96/posts/3982283021827575): "Would love your feedback on this idea: AI Systems = Code (model/algorithm) + Data. Most academic benchmarks/competitions hold the Data fixed, and let teams work on the Code. Thinking of organizing something where we hold the Code fixed, and ask teams to work on the Data. Hoping this will more closely reflect ML application practice, and also spur innovative research on data-centric AI development. What do you think?". Повторюсь: это сегодня! Всё это сильно напоминает развитие алгоритмики времён Кнута: простые алгоритмы на простых данных (aka "алгоритмика", она же "информатика"), потом программирование стало программированием простых алгоритмов на кучерявых данных (над базами данных по факту) и появились проблемы programming-in-the-large. И вот история повторяется! Для меня это лишнее подтверждение, что нужно учить одним и тем же принципам на разных уровнях вычислительного стека, на разных принципах вычислений (для квантовых вычислений тоже ждём поначалу расцвета алгоритмики, а потом кто-то задаст вопрос о данных -- и мы сейчас уже знаем, что так и будет).
  • Quantum accelerator stack. A research roadmap, https://arxiv.org/abs/2102.02035. Это работа по довольно-таки продвинутому представлении архитектуры квантовых компьютеров с ускорителями (многоуровневая абстракция квантового компьютера, вполне системное рассмотрение -- без подобной многоуровневости в квантовый компьютинг лучше не соваться, с суперинформацией в один уровень ведь дела иметь не получится).

Так что потихоньку продолжаем, вернее, я продолжаю. Увы, в сообществе, которое хотело обсуждать вычислительное мышление, собралось на данный момент 270 зевак (вот тут: https://t.me/comp_thinking), которые с удовольствием что-нибудь бы на эти темы почитали, но своих исследований они там не ведут, так что я пока один копаю. Но я уверен, что в какой-то момент замысел будет уже достаточно понятен, чтобы можно было присоединиться. А пока на общей схеме курсов ШСМ "Вычислительное мышление" присутствует для методологического мастерства на серенькой плашке, "в разработке" -- https://system-school.ru/.

Источник: https://www.facebook.com/ailevenchuk/posts/10221099845979843