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

«Ты только посмотри, что GPS предлагает нам сделать!»
Герберт Саймон — вообще-то политолог. Он изучал, как устроены человеческие мозги и принимаются решения, как работает бюрократия. Вот тут можно почитать о нём подробнее. Алан Ньюэлл же был программистом, работал в RAND Corporation и изучал логистику вместе с теорией организации. К идее о создании мыслящего компьютера они пришли примерно одновременно под влиянием работ о связи, кодировании и компьютерах Гёделя, Тьюринга и Шеннона, а также статей о нейропсихологии и психических процессах Маккалока и Питтса.
Великие умы, как говорится, мыслят одинаково.
А потом они встретились и достаточно оперативно придумали, как это сделать.
Она рассуждала о заданных вещах и умела доказывать логические теоремы примерно на уровне студента-второкурсника. В качестве экзамена LT предложили доказать 52 теоремы символической логики из второй главы трёхтомного опуса магнума Альфреда Уайтхеда и Бертрана Рассела Principia Mathematica. С 38 из них программа справилась играючи, причём для некоторых даже сформулировала доказательства изящнее, чем те, что были приведены в книге (этим она порадовала Рассела). Кстати, в большинстве случаев программа сразу находила прямой путь к решению задачи и вообще не использовала метод проб и ошибок в отличие от студентов-второкурсников.

Напоминаю: компьютеры тогда выглядели примерно вот так. И этот ещё не самый большой.
То есть это была первая рабочая программа, сумевшая моделировать процесс человеческих рассуждений и способы, с помощью которых люди используют логику для решения сложных проблем.
Основные термины, которые нужны для понимания её работы, таковы:
Саймон и Ньюэлл решили развивать формальную систему символов, которая сумела бы выполнить довольно сложный мыслительный процесс. Они начали с задачек по шахматам, а потом перешли к доказательствам из геометрии. Правда, затем забили и на те, и на другие, потому что было очень сложно формализировать задействованные форматы восприятия, и перешли к доказательству логических теорем с помощью эвристики.
Потенциал эвристики они обнаружили, когда описывали собственные когнитивные усилия во время доказательства теорем. В итоге к концу 1955 года они реализовали несколько весьма многообещающих эвристик и вручную смоделировали работу программы LT. То есть попросту написали всю программу на карточках и раздали их своим аспирантам, а также жене и детям Саймона: проиграли работу программы «вживую».
Написать код, чтобы утрамбовать эту программу в компьютер (и вообще придумать язык для обработки списков), Ньюэлл попросил помочь Клиффорда Шоу — программиста, который тоже работал в RAND.
В августе 1956 года Саймон, Ньюэлл и Шоу выкатили Logic Theorist в продакшен на компьютере JOHNNIAC в головном офисе RAND в Санта-Монике.

Тот самый JOHNNIAC, к слову, выглядел вот так
У Logic Theorist было два вида памяти: рабочая, куда информация попадает на время, и долгосрочная, которая запоминает данные навсегда. В ней хранятся аксиомы и теоремы, которые программа уже доказала. В одной ячейке рабочей памяти хранятся один элемент и все его атрибуты, которые нужны при решении одной задачи. Как правило, на каждую задачу нужны три ячейки рабочей памяти, каждая из которых хранит один элемент вместе с атрибутами.
LT состояла из двух блоков: первый анализировал задачи и создавал в случае необходимости подзадачи, а второй применял правила исчисления высказываний.
Теоремы эта программа доказывала в обратном направлении: стартовала в точке «вот высказывание, которое надо доказать» и дальше с помощью тех самых эвристик последовательно делала выводы до тех пор, пока не утыкалась в аксиому, которая не требует доказательств, или теорему, которая уже была доказана чуть раньше.
При этом LT реализовывала четыре вида процессов:
1. Инструкции. Могут выполнять примитивные операции над выражением в рабочей памяти или переход к другой инструкции.
2. Элементарные процессы. Последовательность инструкций, которые можно вызвать для решения этой задачи.
3. Методы. Это последовательность элементарных процессов. Вариантов может быть четыре:
Источник: https://habr.com/ru/companies/gazprombank/articles/816153/Правда, на семинаре, где впервые прозвучало это определение, их разработки приняли с изрядной долей скепсиса, совершенно не разглядев, что данная программа — это на практике ровно то, что было придумано в теории.
А потом они решили сделать ещё более крутую штуку — программу, которая сможет решить любую проблему, поставленную перед людьми. Они назвали её GPS — General Problem Solver. По идее, у них должен был получиться разумный электронный советчик, который точно знает, как лучше всего поступить в сложной ситуации из серии «аккумулятор на машине разрядился, а вам срочно нужно отвезти ребёнка в детский сад». Ну или дать ответ на главный вопрос жизни, Вселенной и всего такого.
Но вот получилось вообще не то.

«Ты только посмотри, что GPS предлагает нам сделать!»
Герберт Саймон — вообще-то политолог. Он изучал, как устроены человеческие мозги и принимаются решения, как работает бюрократия. Вот тут можно почитать о нём подробнее. Алан Ньюэлл же был программистом, работал в RAND Corporation и изучал логистику вместе с теорией организации. К идее о создании мыслящего компьютера они пришли примерно одновременно под влиянием работ о связи, кодировании и компьютерах Гёделя, Тьюринга и Шеннона, а также статей о нейропсихологии и психических процессах Маккалока и Питтса.
Великие умы, как говорится, мыслят одинаково.
А потом они встретились и достаточно оперативно придумали, как это сделать.
Так появилась программа Logic Theorist
Она рассуждала о заданных вещах и умела доказывать логические теоремы примерно на уровне студента-второкурсника. В качестве экзамена LT предложили доказать 52 теоремы символической логики из второй главы трёхтомного опуса магнума Альфреда Уайтхеда и Бертрана Рассела Principia Mathematica. С 38 из них программа справилась играючи, причём для некоторых даже сформулировала доказательства изящнее, чем те, что были приведены в книге (этим она порадовала Рассела). Кстати, в большинстве случаев программа сразу находила прямой путь к решению задачи и вообще не использовала метод проб и ошибок в отличие от студентов-второкурсников.

Напоминаю: компьютеры тогда выглядели примерно вот так. И этот ещё не самый большой.
То есть это была первая рабочая программа, сумевшая моделировать процесс человеческих рассуждений и способы, с помощью которых люди используют логику для решения сложных проблем.
Как была устроена Logic Theorist
Основные термины, которые нужны для понимания её работы, таковы:
- Мышление — то есть превращение одних абстрактных символов в другие в кратковременной и долговременной памяти компьютера.
- Символы — то, что несёт в себе определённые знания, воздействует на информационные процессы, изменяет поведение программы и запускает новые процессы в работу.
- Эвристики — то есть совокупность методов и логических приёмов, которые приводят к решению сложных задач. Правда, у эвристик есть одно любопытное свойство: с одной стороны, они весьма эффективны, но с другой — не всемогущи. То есть решения проблемы они не гарантируют.
Саймон и Ньюэлл решили развивать формальную систему символов, которая сумела бы выполнить довольно сложный мыслительный процесс. Они начали с задачек по шахматам, а потом перешли к доказательствам из геометрии. Правда, затем забили и на те, и на другие, потому что было очень сложно формализировать задействованные форматы восприятия, и перешли к доказательству логических теорем с помощью эвристики.
Потенциал эвристики они обнаружили, когда описывали собственные когнитивные усилия во время доказательства теорем. В итоге к концу 1955 года они реализовали несколько весьма многообещающих эвристик и вручную смоделировали работу программы LT. То есть попросту написали всю программу на карточках и раздали их своим аспирантам, а также жене и детям Саймона: проиграли работу программы «вживую».
Написать код, чтобы утрамбовать эту программу в компьютер (и вообще придумать язык для обработки списков), Ньюэлл попросил помочь Клиффорда Шоу — программиста, который тоже работал в RAND.
В августе 1956 года Саймон, Ньюэлл и Шоу выкатили Logic Theorist в продакшен на компьютере JOHNNIAC в головном офисе RAND в Санта-Монике.

Тот самый JOHNNIAC, к слову, выглядел вот так
У Logic Theorist было два вида памяти: рабочая, куда информация попадает на время, и долгосрочная, которая запоминает данные навсегда. В ней хранятся аксиомы и теоремы, которые программа уже доказала. В одной ячейке рабочей памяти хранятся один элемент и все его атрибуты, которые нужны при решении одной задачи. Как правило, на каждую задачу нужны три ячейки рабочей памяти, каждая из которых хранит один элемент вместе с атрибутами.
LT состояла из двух блоков: первый анализировал задачи и создавал в случае необходимости подзадачи, а второй применял правила исчисления высказываний.
Теоремы эта программа доказывала в обратном направлении: стартовала в точке «вот высказывание, которое надо доказать» и дальше с помощью тех самых эвристик последовательно делала выводы до тех пор, пока не утыкалась в аксиому, которая не требует доказательств, или теорему, которая уже была доказана чуть раньше.
При этом LT реализовывала четыре вида процессов:
1. Инструкции. Могут выполнять примитивные операции над выражением в рабочей памяти или переход к другой инструкции.
2. Элементарные процессы. Последовательность инструкций, которые можно вызвать для решения этой задачи.
3. Методы. Это последовательность элементарных процессов. Вариантов может быть четыре:
- Подстановка — заданное выражение пытается преобразоваться в доказанную теорему или аксиому путём замены переменных и логических связок.
- Отстранённость — заданное выражение пытается найти доказанную теорему или аксиому формы
Поделиться ссылкой:
Интересные статьи
Интересные статьи
Как всегда, производители электроники продолжают выпускать новые модели одноплатных ПК. Их становится все больше, что не может не радовать — ведь мы получаем системы, способные решать самые разные з...
NVIDIA планировала выпустить в Китае свои новые вычислительные ускорители, адаптированные под введённые в октябре американскими властями экспортные ограничения, уже в ноябре. Однако, согласно инфо...
Добро пожаловать в топ-10 новых методов веб-взлома 2021 года. Это заключительный этап ежегодной работы нашего сообщества. Цель работы — выявить самые значимые в области веб-безопасности, опубликованны...
Думаю, на Хабре есть уже много людей, никогда не слышавших звук модемного подключения по телефонной линии. А люди, заставшие те времена, наверняка многое о них успели под...
Пять лет назад меня осенила идея. Я решил смоделировать ни много ни мало мировую экономику, для того чтобы точно знать какую динамику ожидать от акций, облигаций, курсов валют и т.д. Была только ...
