Что такое Универсальный решатель проблем — программа из 1955 года

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Когда Герберт Саймон и Алан Ньюэлл в 1955 году начали придумывать Logic Theorist, понятия «искусственный интеллект» ещё не существовало.

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

А потом они решили сделать ещё более крутую штуку — программу, которая сможет решить любую проблему, поставленную перед людьми. Они назвали её GPS — General Problem Solver. По идее, у них должен был получиться разумный электронный советчик, который точно знает, как лучше всего поступить в сложной ситуации из серии «аккумулятор на машине разрядился, а вам срочно нужно отвезти ребёнка в детский сад». Ну или дать ответ на главный вопрос жизни, Вселенной и всего такого.

Но вот получилось вообще не то.

image
«Ты только посмотри, что GPS предлагает нам сделать!»

Герберт Саймон — вообще-то политолог. Он изучал, как устроены человеческие мозги и принимаются решения, как работает бюрократия. Вот тут можно почитать о нём подробнее. Алан Ньюэлл же был программистом, работал в RAND Corporation и изучал логистику вместе с теорией организации. К идее о создании мыслящего компьютера они пришли примерно одновременно под влиянием работ о связи, кодировании и компьютерах Гёделя, Тьюринга и Шеннона, а также статей о нейропсихологии и психических процессах Маккалока и Питтса.

Великие умы, как говорится, мыслят одинаково.

А потом они встретились и достаточно оперативно придумали, как это сделать.

Так появилась программа Logic Theorist


Она рассуждала о заданных вещах и умела доказывать логические теоремы примерно на уровне студента-второкурсника. В качестве экзамена LT предложили доказать 52 теоремы символической логики из второй главы трёхтомного опуса магнума Альфреда Уайтхеда и Бертрана Рассела Principia Mathematica. С 38 из них программа справилась играючи, причём для некоторых даже сформулировала доказательства изящнее, чем те, что были приведены в книге (этим она порадовала Рассела). Кстати, в большинстве случаев программа сразу находила прямой путь к решению задачи и вообще не использовала метод проб и ошибок в отличие от студентов-второкурсников.

image
Напоминаю: компьютеры тогда выглядели примерно вот так. И этот ещё не самый большой.

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

Как была устроена Logic Theorist


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

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

Потенциал эвристики они обнаружили, когда описывали собственные когнитивные усилия во время доказательства теорем. В итоге к концу 1955 года они реализовали несколько весьма многообещающих эвристик и вручную смоделировали работу программы LT. То есть попросту написали всю программу на карточках и раздали их своим аспирантам, а также жене и детям Саймона: проиграли работу программы «вживую».

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

В августе 1956 года Саймон, Ньюэлл и Шоу выкатили Logic Theorist в продакшен на компьютере JOHNNIAC в головном офисе RAND в Санта-Монике.

image
Тот самый JOHNNIAC, к слову, выглядел вот так

У Logic Theorist было два вида памяти: рабочая, куда информация попадает на время, и долгосрочная, которая запоминает данные навсегда. В ней хранятся аксиомы и теоремы, которые программа уже доказала. В одной ячейке рабочей памяти хранятся один элемент и все его атрибуты, которые нужны при решении одной задачи. Как правило, на каждую задачу нужны три ячейки рабочей памяти, каждая из которых хранит один элемент вместе с атрибутами.

LT состояла из двух блоков: первый анализировал задачи и создавал в случае необходимости подзадачи, а второй применял правила исчисления высказываний.

Теоремы эта программа доказывала в обратном направлении: стартовала в точке «вот высказывание, которое надо доказать» и дальше с помощью тех самых эвристик последовательно делала выводы до тех пор, пока не утыкалась в аксиому, которая не требует доказательств, или теорему, которая уже была доказана чуть раньше.

При этом LT реализовывала четыре вида процессов:

1. Инструкции. Могут выполнять примитивные операции над выражением в рабочей памяти или переход к другой инструкции.

2. Элементарные процессы. Последовательность инструкций, которые можно вызвать для решения этой задачи.

3. Методы. Это последовательность элементарных процессов. Вариантов может быть четыре:
  • Подстановка — заданное выражение пытается преобразоваться в доказанную теорему или аксиому путём замены переменных и логических связок.
  • Отстранённость — заданное выражение пытается найти доказанную теорему или аксиому формы
Источник: https://habr.com/ru/companies/gazprombank/articles/816153/


Интересные статьи

Интересные статьи

Как всегда, производители электроники продолжают выпускать новые модели одноплатных ПК. Их становится все больше, что не может не радовать — ведь мы получаем системы, способные решать самые разные з...
NVIDIA планировала выпустить в Китае свои новые вычислительные ускорители, адаптированные под введённые в октябре американскими властями экспортные ограничения, уже в ноябре. Однако, согласно инфо...
Добро пожаловать в топ-10 новых методов веб-взлома 2021 года. Это заключительный этап ежегодной работы нашего сообщества. Цель работы — выявить самые значимые в области веб-безопасности, опубликованны...
Думаю, на Хабре есть уже много людей, никогда не слышавших звук модемного подключения по телефонной линии. А люди, заставшие те времена, наверняка многое о них успели под...
Пять лет назад меня осенила идея. Я решил смоделировать ни много ни мало мировую экономику, для того чтобы точно знать какую динамику ожидать от акций, облигаций, курсов валют и т.д. Была только ...