Автоматический математик

Автоматический математик (англ. Automated Mathematician, AM) — одна из первых успешных систем автоматического открытия в искусственном интеллекте[1]. Она была создана Дагласом Ленатом на языке программирования Lisp[2] и в 1977 году принесла Ленату Премию Computers and Thought[3].

AM работал за счёт генерации и модификации коротких программ на Lisp, которые интерпретировались как определения различных математических понятий[4]. Например, программа, проверяющая равенство длин двух списков, рассматривалась как воплощение понятия числового равенства, а программа, создающая список длиной, равной произведению длин двух других списков, — как реализация идеи умножения. В системе применялись сложные эвристики для выбора программ, которые стоит расширять или изменять, основываясь на опыте работы математиков при решении задач.

Дискуссия

Ленат утверждал, что система состоит из сотен структур данных, называемых «понятиями», а также сотен «эвристических правил» и простой логики управления: «AM постоянно выбирает верхнюю задачу из списка и пытается выполнить её. Это и есть вся структура управления!» Однако эвристические правила не всегда были представлены отдельными структурами данных; некоторые из них пришлось интегрировать непосредственно с логикой управления. Часть правил имела предусловия, зависящие от истории работы или по иным причинам не могла быть выражена в виде явных правил[5].

Кроме того, опубликованные версии правил часто содержали неопределённые понятия, которые не раскрывались более подробно, например: «Если две выражения структурно похожи, …» (правило 218) или «…заменить полученное значение на некоторое другое (очень похожее) значение…» (правило 129)[6].

Другим источником информации служил пользователь, согласно правилу 2: «Если пользователь недавно упоминал X, придайте приоритет задачам, связанным с X». Таким образом, оказывается, что значительная часть процесса открытия скрыта в неявных процедурах[7].

Ленат утверждал, что система заново «открыла» как гипотезу Гольдбаха, так и основную теорему арифметики. Позднее критики обвиняли Лената в чрезмерной интерпретации результатов AM. В своей статье Why AM and Eurisko appear to work Ленат признал, что любая система, генерирующая достаточно короткие программы на Lisp, может породить такие, которые внешний наблюдатель сочтёт выразителями сложных математических понятий. Однако он отмечал, что и это свойство представляет исследовательский интерес, и что перспективным является поиск других языков, где короткие случайные строки тоже могут быть полезными[8].

Последователь

Эта интуиция легла в основу преемника AM — системы Eurisko, которая попыталась обобщить поиск математических понятий на поиск полезных эвристик[9].

Примечания

Литература

  • Ritchie, G.D.; Hanna, F.K. am: A case study in AI methodology. // Artificial Intelligence. — Август 1984. — Т. 23, № 3. — С. 249—268. — doi:10.1016/0004-3702(84)90015-8.
  • Lenat, Douglas B.; Brown, John Seely. Why am and eurisko appear to work. // Artificial Intelligence. — Август 1984. — Т. 23, № 3. — С. 269—294. — doi:10.1016/0004-3702(84)90016-X.
  • Koza, John R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. — MIT Press, 1992. — ISBN 9780262111706.

Ссылки

Категории