Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
11.4.3. Языки планированияДо сих пор в книге программистским подробностям уделялось мало внимания, поскольку языки меняются быстро, а логические основания, видимо, более постоянны. Однако необходимость планирования при решении задач ставит ряд проблем перед создателем языка программирования. Любой язык, способный описать автомат с магазинной памятью (и, следовательно, любой контекстно-свободный язык), можно использовать для выражения плана решения задачи, но оно может оказаться неизящным, ибо в языке, созданном для планирования, могли бы с успехом участвовать лингвистические конструкции, которых, скорее всего, нет в языках, созданных для обычных вычислений. Поэтому неоднократно предпринимались попытки сконструировать специальный язык программирования для искусственного интеллекта. Хороший обзор истории этого вопроса дала Самметт (1971), поэтому мы упомянем лишь самое интересное. Язык обработки информации идеи Лиспа внедрились в языки, созданные специально для выражения планов решения задач и доказательства теорем, в особенности PLANNER (Хьюитт, 1972) и Программа решения задач должна уметь работать с тремя первичными сущностями: объектами, свойствами объектов и отношениями между объектами. В бесскобочной записи Можно использовать отношения для конструирования сложных объектов, поскольку тот факт, что два объекта находятся в каком-то отношении, сам по себе есть нечто, что можно считать объектом. Это отчасти показано в разобранных примерах, но становится более ясным при изучении сложных действий. Предложение Робот положил блок
Второй пример: Робот берет
С помощью отношения ПЕРЕД можно создать новый объект, чтобы выразить событие, состоящее в том, что
Эти примеры взяты из простого мира роботов. Применение подобных концепций к описанию естественного языка в естественных условиях представляет определенный интерес. Предложение
можно описать как событие с объектами и отношениями между ними:
Румельхарт, Линдсей и Норман (1972), Линдсей и Норман (1972) дали ряд более разработанных иллюстраций к тому, как естественный язык можно преобразовать в структуры, подобные структурам в базах данных языка PLANNER. В их записи важное значение имеют графы, но, как мы указывали, графовые структуры и сети отношений изоморфны. Для того чтобы рассуждать, нам необходимы как представление об объектах в мире, так и правила вывода, дающие возможность получать новое представление из старого. Это значит, что мы различаем явные события, с которыми имели дело до определенного момента, и знание об отношениях, которые сохраняются в общем случае. Мы снова можем обратиться к психологии, в частности к рассуждениям Тулвинга (1972) о разнице между эпизодической и семантической памятями. Примеры типа (50) входят в эпизодическую память. Семантическое предложение
просто означает, что свойство быть человеком подразумевает свойство быть смертным. Такое предложение можно интерпретировать как план доказательства истинности чего-либо. Следовательно, по (51), чтобы доказать, что X смертен, надо доказать, что X — человек. Некоторые планы гораздо сложнее, чем этот, и требуют более гибкой записи. Рассмотрим одно из наставлений, которое Виноград (1972) предлагал аспирантам. Статью можно принять как диссертацию, либо если она большая, либо если в ней содержатся убедительные доводы. На языке PLANNER это выглядит так:
Предложение (52) полезно считать определением приемлемости, которое можно структурировать как процедуру последовательного решения подобно тем, что обсуждались в гл. 6. Соответствующая (52) диаграмма показана на рис. 11.9. Ее с тем же успехом можно считать графом сведения задачи к подзадачам. Каждый узел соответствует условию, истинность которого требуется доказать, а И- и ИЛИ-узлы показывают, как нужно объединять решения подзадач, чтобы решить основную задачу. Использование представления сведения задачи к подзадачам напоминает тот факт, что порядок, в котором мы пытаемся решать подзадачи, может сильно влиять на трудность решения задачи. В языке PLANNER программист может определить, как осуществлять поиск: и заданием последовательности выбора подзадач для решения, и с учетом подсказок относительно решения каждой подзадачи.
Рис. 11.9. Графсведёния задачи к подзадаче для доказательства приемлемости X. Это делается путем определения теорем следования, которые указывают, как доказать, что отдельный факт есть следствие известных фактов. Пример такой теоремы:
Она определяет процедуру, устанавливающую, можно ли удовлетворить графу сведения задачи к подзадачам (рис. 11.9). Схема поиска в базе данных показана на рис. 11.10. Первая строка — просто инструкция системе PLANNER рассматривать утверждение как теорему, т. е. как семантическую, а не эпизодическую информацию. Вторая строка определяет теорему как „последующую“ теорему для доказательства того, что что-то, называемое X, имеет свойство быть приемлемым. Рис. 11.10. (см. скан) Блок-схема процедуры поиска, определенной утверждением (53). В этой строке отмечается присутствие второй переменной
причем все они должны быть удовлетворены перед тем, как будет удовлетворена сама подцель. Их интерпретация должна быть ясна. Таким образом, предложение PLANNER имеет и другие интересные особенности. Мы уже видели, как программист может предлагать тот или иной метод с помощью конструкции
что заставляет PLANNER доказывать приемлемость конкретного документа А, используя процедуру
Очень старый силлогизм демонстрирует мощность языка PLANNER. Допустим, что
включено в базу данных. Пусть также база данных содержит предложения:
Вопрос „Кто-нибудь может ошибаться?" оценивается с помощью
что заставляет PLANNER сначала исследовать базу данных, чтобы определить, есть ли там хоть одна константа, для которой способность ошибаться записана как ее свойство, и затем, если поиск не приводит к успеху, применить любой имеющийся метод доказательства, чтобы вывести способность ошибаться. Поскольку (55) устанавливает теорему, следствием которой являются способность ошибаться, PLANNER просмотрит базу данных в поисках подходящих условий для предыдущего члена отношения. Если (57) оценена на базе данных (56), то вернется ответ
Вначале программа обнаружит, что В игру вступает свойство „возвращаться назад» языка
что заставило бы PLANNER сначала найти греков, а затем доказать, что они могли ошибаться, вместо того, чтобы использовать любой другой окольный путь.
|
1 |
Оглавление
|