Введение
Программа искусственного интеллекта "Автоматизированный математик" (AM) – одна из первых успешных систем, способных совершать открытия. Она была создана Дугласом Ленатом на языке Lisp, и в 1977 году это принесло Ленату премию IJCAI Computers and Thought Award. AM работал, генерируя и модифицируя короткие программы на Lisp, которые затем интерпретировались как определения различных математических понятий; например, программа, проверяющая равенство длин двух списков, рассматривалась как представление концепции числового равенства, а программа, создающая список, длина которого является произведением длин двух других списков, – как представление концепции умножения. Система использовала сложные эвристические методы для выбора программ, которые следовало расширять и модифицировать, основываясь на опыте математиков при решении математических задач.
The Automated Mathematician (AM) is one of the earliest successful discovery systems. It was created by Douglas Lenat in Lisp, and in 1977 led to Lenat being awarded the IJCAI Computers and Thought Award. AM worked by generating and modifying short Lisp programs which were then interpreted as defining various mathematical concepts; for example, a program that tested equality between the length of two lists was considered to represent the concept of numerical equality, while a program that produced a list whose length was the product of the lengths of two other lists was interpreted as representing the concept of multiplication. The system had elaborate heuristics for choosing which programs to extend and modify, based on the experiences of working mathematicians in solving mathematical problems.
Противоречия
Ленат утверждал, что система состоит из сотен структур данных, называемых "концептами", вместе с сотнями "эвристических правил" и простым потоком управления: "AM неоднократно выбирает задачу с наивысшим приоритетом из повестки дня и пытается её выполнить. Это вся структура управления!" Однако эвристические правила не всегда представлялись отдельными структурами данных; некоторые из них требовали интеграции с логикой потока управления. У некоторых правил были предусловия, зависящие от истории, или которые иным образом не могли быть представлены в рамках явных правил. Более того, в опубликованных версиях правил часто использовались расплывчатые термины, не получившие дальнейшего определения, такие как "Если два выражения структурно похожи" (правило 218) или "заменить полученное значение другим (очень похожим) значением" (правило 129). Другим источником информации является пользователь, посредством правила 2: "Если пользователь недавно ссылался на X, то повысить приоритет любых задач, связанных с X". Таким образом, вполне возможно, что значительная часть реальной работы по обнаружению скрыта в необъяснимых процедурах. Ленат утверждал, что система заново открыла как гипотезу Гольдбаха, так и основную теорему арифметики. Позднее критики обвинили Лената в излишней интерпретации результатов работы AM. В своей статье "Почему AM и Eurisko кажутся работающими", Ленат признал, что любая система, генерирующая достаточно короткие программы на Lisp, будет генерировать программы, которые внешний наблюдатель может интерпретировать как представление математических концепций сопоставимой сложности. Однако он утверждал, что само это свойство интересно, и что перспективным направлением для дальнейших исследований будет поиск других языков, в которых короткие случайные строки, вероятно, будут полезны.
Преемник
Эта интуиция легла в основу программы Eurisko, последователя AM, которая стремилась обобщить поиск математических концепций для поиска полезных эвристик.