Metaprogramming
600 subscribers
94 photos
1 video
148 links
μετά- «между, после, через» (греч.)

Жизнь программиста за пределами программирования: алгоритмы, психология, инвестиции, иное.
Download Telegram
Вкратце про обучение "матану"

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

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

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

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

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

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

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

#science #education #mathematics
Евклид был неправ?

Помните школьный курс геометрии? Кроме прочего на примере геометрии начинают учить формулировке теорем и логике их доказательства, методу "от противного" и т.д.

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

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

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

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

– Шаг один: наложим угол одного треугольника на другой вот так (показывает руками)

Извините, а что значит "наложим"?! Это какой аксиоме Евклида соответствует? Почему при накладывании мы не можем поднять трегуольник с листа и перевернуть, положив на лист задней стороной? Это какой аксиомой запрещено? А когда мы будем доказывать, что, к примеру, параллельный перенос точек порождает равную фигуру, мы не будем ли опираться на этот же первый признак равенства треугольников? То есть сейчас мы этот признак доказываем через будущее следствие из него? И вообще, хватит руками размахивать, где строгие рассуждения от аксиом?!

Секрет в том, что в этом месте к размахиванию руками вместо доказательства прибегал и Евклид. Не было в его системе аксиом возможности доказать признаки равенства треугольников.

И только в самом конце 19-го века, в 1899 году, у современных математиков (Д. Гильберта) дошли руки перебрать чулан школьной геометрии и сформулировать систему из 21 аксиомы (позже выяснилось что одна лишняя, достаточно 20). И что бы вы думали? Первый признак равенства треугольников включен в качестве аксиомы! (В немного ослабленном виде: постулируется что у треугольников с равными сторонами и углом между ними равны оставшиеся углы).

А в школах-то и не в курсе!

#mathematics
Высшая математика и терминологические грехи

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

А почему бы и нет? Ту же механику "групп перестановок" на примере палочек-камешков или "групп симметрий" на примере вырезанных из бумаги геометрических фигур вполне можно и в детском саду изучать.

Техническая проблема, однако, есть. Заключается она в крайне неудачном выборе некоторого числа ключевых терминов.

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

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

Не надо быть профессиональным философом, чтобы понять всю неудачность приведённых терминов. Напомним их значение (опуская детали и в целом неформально).

Группа – это множество объектов с операцией условного сложения, определённой конкретным естественным образом.

Кольцо – группа с операцией условного умножения.

Поле – кольцо с операцией "деления".

Проблема в том, что:

1. В группе ничего не группируется. Точнее, не указан конкретный способ "группировки" – а на бытовом языке можно сказать что любое множество это "группа похожих объектов", почему нет? Термин приписывается Галуа с 1830-х.

2. В кольце ничего не "закольцовывается". Кто вспомнил "кольца вычетов" может их забыть обратно: во-первых, это частный случай, во-вторых автором термина имелось в виду другое. По-русски мы говорим "круг друзей" или "круг общественных интересов", а по-английски говорят smuggling ring – "кольцо контрабандистов" в значении "организация контрабандистов". Термин предложен Д. Гильбертом в 1892.

3. На "поле" ничего не растёт, на нём ничего не сеют и с него ничего не жнут. Автор термина по-видимому имел в виду что-то аллегорическое вроде "большого пространства похожих штуковин". Английское field предложено Э. Муром в 1893.

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

Так что нет, в детских садах и школах вряд ли алгебраические группы появятся раньше, чем исторически неудачная терминология будет пересмотрена.

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

P.S. Отдельный прикол это переводные термины. "Несобственный интеграл" ни у кого не воровали, это improper integralнеправильный интеграл (хотя почему бы его не назвать сразу ну хотя бы "предельным интегралом"?). Точно также как "двойственная категория" оказывается в реальности "противопоставленной" – opposite category.

#mathematics
Вкратце о математиках, информатиках и маркетинге

ChatGPT выпустил новую модель, o1, построенную на принципе рекурсивного порождения текстов: модель буквально ведёт сама с собой "внутренний диалог", "думает вслух", пытаясь в итоге получить рациональное построение.

Как и во все предыдущие разы, достигнутый успех, мягко говоря, ограниченный. Забавная и в чём-то правдоподобная модель мышления способна выдать рассуждение на общие вопросы, но сыпется на самых простых задачках из, к примеру, абстрактной алгебры.

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

С чем смириться, конечно, невозможно.

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

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

Сейчас — нужен сырой материал для обучения.

В таком контексте второе дыхание получают proof assistants — "помощники в доказательстве", такие как Lean.

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

Целевая аудитория: пассионарные undergraduate students (бакалавры). Ну оно и понятно по слову "деды" в риторике (сам Кевин практически подросток, до 60 ещё два года).

Работа по рутинной формализации всяких давно известных вещей скучная, тупая, безблагодатная и в целом в контексте обучения отдельно взятого математика неоднозначная. А ведь нельзя же просто взять денег у Microsoft на честное развитие проекта, нацеленного на совершенствование ИИ... а кстати, почему нельзя?

Агрессивная риторика, впрочем, неизбежно порождает агрессивных фанбоев. Ну знаете, есть пользователи Apple и есть пользователи Apple. В таком же смысле есть пользователи Lean и есть пользователи Lean :)

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

#mathematics #programming