# Генератор, который заменит нас

Леонид Александрович Ашкинази

Генератор, который заменит нас


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


Обратимся к Интернету


Если спросить Интернет, часто ли в нем упоминаются задачи по разным предметам, то картина окажется предсказуемой. Чаще всего упоминаются "задачи по математике", потом, с некоторыми отрывами друг от друга, последуют (в этом порядке) физика, химия, история, психология, биология, социология. Задачи по каждому предмету имеют не только свою специфику, но и свою нетривиальную связь с задачами своей науки. Эта тема вполне заслуживает отдельной статьи, а пока спросим Интернет, часто ли упоминаются генераторы задач по разным предметам. Ответ будет прост и краток -- существует много, зачастую изощренно построенных, генераторов задач по математике [1], две публикации про генератор задач по физике [2, 4] и ноль -- по остальным предметам. Хотя принципиальная возможность создать, на основе баз знаний по соответствующему предмету, генератор задач по любому предмету некоторыми авторами декларируется [3]. Причина очевидна -- по математике есть общеизвестные и общедоступные решатели задач, по другим предметам их почти нет. Нашлись лишь два решателя по физике [6] и [7] и один решатель по химии [5] для смартфона с прелестным примечанием "У программы есть защита от учителей. Чтобы спрятать ее от глаз ненужных свидетелей, достаточно провести пальцем по экрану слева - направо. Вместо приложения появятся часы с секундной стрелкой".


Посмотрим на разные предметы


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


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


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


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


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


Извлечение задачи из накопленных знаний


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


В медицине накоплено много данных, некоторые из них видели, наверное, все -- ЭКГ, данные УЗИ, рентгеновские снимки. Они с расшифровками, любая из них -- готовая задача, а массивы эти столь велики, что на экзамене каждый получит свои личные задачи. Можно поступить хитрее -- программа вносит в исходный материал небольшие изменения, а экзаменующийся честно предупреждается, что среди полученного им для постановки диагноза материала есть один (или несколько, или неизвестно сколько) искаженных в результате неправильной работы аппаратуры. И вообще, любой набор данных для машинного обучения -- а в Сети этого немерено -- готовая коллекция задач с ответами. Для человека некоторые из них тривиальны, некоторые -- запредельно сложны. Загляните, хотя бы в https://www.foundalis.com/res/bps/bpidx.htm или спросите Сеть "Index of Bongard Problems" или совсем просто "Проблемы Бонгарда". И даже просто истории болезни, данные анализов, ответы на профессиональные психологические тесты -- все может быть использовано.


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


Искусственная природа: текст, картина


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


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

http://www.lookatme.ru/mag/live/experience-news/214237-style

https://arxiv.org/pdf/1505.00855v1.pdf

Это, конечно, тоже немного обман, но не будем слишком строги.


Далее -- нахождение ошибок в тексте, причем, конечно, не случайных опечаток. Надо написать программу, которая берет по очереди слова из текста, смотрит, как они употребляются в Сети, и выделяет естественные (то есть реально встречающиеся чаще чем уровень случайности) опечатки. Кстати, объектами искусства являются отчасти и компьютерные игры, и компьютерные программы вообще, и вообще все технические объекты. Обратимся к этой части природы.


Искусственная природа -- самолет, мост, страна


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


Электрические и радиосхемы, любые чертежи, технологические карты, вообще любые кодифицированные продукты техники -- все это может быть материалом для задач. Кодификация не отменяет человеческой профессиональной интуиции: мой приятель, гениальный схемник Василий Федоров, когда ему приносили схему неведомо чего и расстилали на столе, задумчиво жевал беломорину и басил "не, это работать не будет... добавь вот сюда пару мелких транзисторов". В моем покойном МИЭМе схемотехнику преподавал мэн, который, как он рассказывал, стажировался в Японии, в лаборатории профессора Эйити Гото, изобретателя схемы на двух туннельных диодах, "пары Гото". Мэна мы называли "кот", потому что кто-то сказал, что, если мысленно пририсовать усы, то от кота не отличить (я проверял, так и было). Препод он был прекрасный, и весьма необычно принимал экзамены. Разрешал пользоваться любой литературой и конспектами, разворачивал схему на половину стола (телевизор, радиопередатчик, передатчик, часто вообще что-то непонятное) тыкал (по-моему, наугад) пальцем в какой-то элемент (резистор, конденсатор, индуктивность, не важно, что) и спрашивал -- что будет, если номинал увеличить (или уменьшить) вдвое. Вот и все. Но надо было понять, что за устройство, что за блок и каскад, что эта дура там делает и так далее. Определить по участку схемы, что это за объект или дополнить схему -- разумная задача. Подобный вопрос может быть поставлен про любой кодифицированный технический объект, например, про инструкцию по охране моста или производству медицинской клизмы. И решатель не нужен, поскольку и правильный вариант, и вся сопутствующая информация известны.


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

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


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


Теперь осторожно посмотрим на природу


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


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


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


Литература


[1] Болотюк https://naukovedenie.ru/PDF/144PVN613.pdf

Финогенов http://generatorzadach.1gb.ru/readme.htm

Окишев https://mir-nauki.com/PDF/56PDMN318.pdf

Посов https://cyberleninka.ru/article/n/obzor-generatorov-i-metodov-generatsii-uchebnyh-zadaniy

Зорин https://habr.com/ru/post/198068/

[2] Ашкинази http://ps.1sept.ru/article.php?ID=200400520 (сокращено)

https://ug.ru/generator-zadach-integracziya-fiziki-i-informatiki/ (сокращено)

[3] Голенков https://libeldoc.bsuir.by/handle/123456789/4552

[4] Сепетов http://kafedra.sepetov.ru/index.php?p=ls

[5] для смартфона https://appvisor.ru/app/ios/khimiya-x10-zadachi-i-reaktsii-87298/

https://appmody.ru/programmy/1877-himija-x10.html

[6] для смартфона https://trashbox.ru/link/betaphysics-android

https://apple-tour.ru/new/new6/archives/3784

[7] для смартфона https://physics-ast.3dn.ru

https://pojaru.net.ru/load/reshatel_zadach_po_fizike_v_3_0_2011/25-1-0-1687