Машина Гёделя

Машина Гёделя — это гипотетическая компьютерная программа, способная к самосовершенствованию и оптимальному решению задач. Она использует рекурсивный протокол самоускорения, перезаписывая собственный код, когда может доказать, что новый код обеспечивает лучшую стратегию[1][2]. Концепция машины Гёделя была предложена Юргеном Шмидхубером (впервые описана в 2003 году[3]), а своё название получила в честь математика Курта Гёделя, чьи математические идеи её вдохновили[4].

Машина Гёделя часто обсуждается в контексте метаобучения («обучения учиться»). Среди её применений — автоматизация принятия решений и перенос знаний между множеством родственных задач, что может привести к созданию более универсальных и устойчивых архитектур машинного обучения[5]. Несмотря на теоретическую осуществимость, полноценной реализации машины Гёделя на практике пока не создано[6].

Машина Гёделя часто сравнивается со спецификацией AIXItl Маркуса Хуттера, представляющей другую формальную модель искусственного общего интеллекта. Шмидхубер отмечает, что машина Гёделя может начинать с реализации AIXItl в качестве начального подпроцесса, а затем автоматически модифицировать себя после нахождения доказательств преимущества иного поискового алгоритма[7].

Ограничения

Традиционные задачи, решаемые компьютерами, обычно требуют ввода и предоставления результата; такие компьютеры работают с «жёстко зашитыми» алгоритмами[7]. Это не учитывает изменение естественной среды, что и являлось одним из препятствий, которые должна преодолеть машина Гёделя.

Тем не менее, машина Гёделя имеет и собственные ограничения. Любая формальная система, включающая арифметику, либо противоречива, либо допускает утверждения, которые нельзя доказать в данной системе, но можно доказать в других[3] Следовательно, даже машина Гёделя с неограниченными вычислительными ресурсами вынуждена игнорировать такие самосовершенствования, эффективность которых не может доказать.

Важные переменные

Во время работы машины Гёделя есть три ключевые переменные, имеющие особое значение.[3].

  • В некоторый момент времени переменная содержит двоичное представление . Это значение постоянно увеличивается с прогрессом исполнения.
  • Любые входные данные, поступающие в машину Гёделя из внешней среды, сохраняются в переменной , причём может меняться для разных значений .
  • Выходные данные машины Гёделя записываются в переменные , где  — битовая строка вывода в момент времени .

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

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

Инструкции, используемые при доказательстве

Суть шести приведённых ниже инструкций заключается в том, что теорема с ошибкой не может быть внедрена в доказательство, что делает проверку тривиальной[3].

get-axiom (n)

Добавляет n-ый аксиому в текущую последовательность теорем. Начальный набор аксиом включает:

  • Аксиомы аппаратного обеспечения формально описывают возможные переходы между состояниями компонентов машины.
  • Аксиомы вознаграждений определяют вычислительную стоимость аппаратных инструкций и физическую стоимость выходных действий. Связанные аксиомы задают ожидаемую продолжительность работы машины Гёделя в виде скалярных значений для всех наград и затрат.
  • Аксиомы среды ограничивают возможные поступления новых входных данных на основании предыдущих входных и выходных данных.
  • Аксиомы неопределённости/манипуляции строками — стандартные аксиомы арифметики, исчисления, теории вероятностей и работы со строками, позволяющие проводить доказательства, связанные со значениями переменных в будущем состоянии машины Гёделя.
  • Аксиомы начального состояния содержат информацию о восстановлении частичного или полного начального состояния.
  • Аксиомы полезности формализуют общую цель в виде функции полезности u.

apply-rule(k, m, n)

Берёт индекс k некоторого правила вывода (например, modus tollens, modus ponens), и пытается применить его к двум ранее доказанным теоремам m и n. Полученная теорема добавляется в доказательство.

delete-theorem(m)

Удаляет теорему с индексом m из текущего доказательства. Это полезно для экономии памяти, устраняя избыточные и ненужные теоремы. Удалённые теоремы больше недоступны функции apply-rule.

set-switchprog(m, n)

Заменяет switchprog S^{p}_{m: n}, если это непустая подстрока S^{p}.

check()

Проверяет, достигнута ли цель поиска доказательств. Целевая теорема утверждает, что, исходя из текущей аксиоматизированной функции полезности u (см. выше), полезность перехода от программы p к текущему switchprog превышает полезность продолжения исполнения p (то есть поиска прочих switchprog).[3] Это реализуется, например, с помощью проверочной функции check() для машины Гёделя:

state2theorem(m, n)

Получает два аргумента, m и n, и пытается преобразовать содержимое в теорему.

Примеры применения

Ограниченная по времени оптимизация NP-трудной задачи

В начальные входные данные машине Гёделя поступает описание связного графа с большим числом вершин, соединённых рёбрами разной длины. За установленное время T требуется найти циклический маршрут, проходящий через все узлы. Единственное вознаграждение с ненулевым значением будет получено в момент T, оно равно 1, делённому на длину наилучшего найденного маршрута (0, если маршрут не найден). Других входных данных нет. Таким образом, максимизация ожидаемой награды приводит к поиску минимального по длине пути при заданном времени и исходных условиях.[3]

Быстрое доказательство теорем

Как можно скорее доказать или опровергнуть утверждение о том, что любое чётное целое число больше 2 представимо в виде суммы двух простых чисел (Гипотеза Гольдбаха). Награда составляет 1/t, где t — время, затраченное на нахождение и проверку первого доказательства.[8].

Максимизация ожидаемой награды с ограниченными ресурсами

Когнитивный робот, расходующий минимум 1 литр топлива в час, взаимодействует с частично неизвестной средой, пытаясь время от времени находить спрятанные и конечные запасы бензина для дозаправки бака. Он получает награду пропорционально продолжительности существования и погибает либо не позднее чем через 100лет, либо сразу, как только бак опустеет или, например, упадёт с обрыва. Вероятностные реакции среды изначально неизвестны, однако предполагается, что экстремально сложные для вычисления сценарии маловероятны. Это позволяет реализовать вычислимую стратегию, близкую к оптимальной. Максимизация ожидаемой награды влечёт за собой также рост ожидаемой продолжительности жизни[3].

Примечания

  1. Mahmud, M. M. Hassan. Universal Transfer Learning. — 2008. — P. 16–18. — ISBN 9780549909880.
  2. Anderson, Michael L.; Oates, Tim (весна 2007). “A review of recent research in metareasoning and metalearning”. AI Magazine [англ.]. 28 (1): 7. Архивировано из оригинала 2017-09-07. Дата обращения 2024-06-20. Используется устаревший параметр |url-status= (справка); Проверьте дату в |date= (справка на английском)
  3. 1 2 3 4 5 6 7 Schmidhuber, Jürgen. Gödel Machines: Self-Referential ¨ Universal Problem Solvers Making Provably Optimal Self-Improvements : [англ.]. — декабрь 2006.
  4. Gödel machine (англ.). Дата обращения: 20 июня 2024. Архивировано 3 декабря 2012 года.
  5. Schaul, Tom; Schmidhuber, Juergen (2010). “Metalearning”. Scholarpedia [англ.]. 5 (6): 4650. DOI:10.4249/scholarpedia.4650. Дата обращения 2024-06-20.
  6. Steunebrink, Bas R. A Family of Gödel Machine Implementations / Bas R. Steunebrink, Jürgen Schmidhuber. — 2011. — Vol. 6830. — P. 275–280. — ISBN 978-3-642-22886-5. — doi:10.1007/978-3-642-22887-2_29.
  7. 1 2 Schmidhuber, Jürgen (5 марта 2009). “Ultimate Cognition à la Gödel” (PDF). Cognitive Computation [англ.]. 1 (2): 177—193. DOI:10.1007/s12559-009-9014-y. Дата обращения 2024-06-20.
  8. Schmidhuber, Jürgen (5 марта 2009). “Ultimate Cognition à la Gödel”. Cognitive Computation [англ.]. 1 (2): 177—193. DOI:10.1007/s12559-009-9014-y. Дата обращения 2024-06-20. |access-date= требует |url= (справка)

Литература

Ссылки

Категории