Программирование на языке Пролог для искусственного интеллекта
Шрифт:
Задача процедуры
Запрограммируйте интерпретатор, который, в соответствии с приведенным выше замечанием, реализует базу данных как аргумент
Резюме
• Архитектура, ориентированная на типовые конфигурации (образцы), хорошо приспособлена для решения многих задач искусственного интеллекта.
• Программа, управляемая образцами, состоит из модулей, запускаемых при возникновении в базе данных тех или иных конфигураций.
• Прологовские программы можно рассматривать как частный случай систем, управляемых образцами.
• Параллельная реализация — наиболее естественный способ реализации систем, управляемых образцами. Реализация на последовательной машине требует разрешения конфликтов между модулями, содержащимися в конфликтном множестве.
• В этой главе был реализован простой интерпретатор для программ, управляемых образцами. Он был затем применен к задаче автоматического доказательства теорем пропозициональной логики.
• Были рассмотрены следующие понятия:
системы, управляемые образцами
архитектуры, ориентированные на образцы
программирование в терминах образцов
модули, управляемые образцами
конфликтное множество, разрешение конфликтов
принцип резолюции
автоматическое доказательство теорем на основе принципа резолюции
Waterman and Hayes-Roth (1978) — классическая книга по системам, управляемым образцами. В книге Nilsson (1980) можно найти фундаментальные понятия, относящиеся к задаче автоматического доказательства теорем, включая алгоритм преобразования логических формул в конъюнктивную нормальную форму. Прологовская программа для выполнения этого преобразования приведена в Clocksin and Mellish (1981).
Clocksin F. W. and Mellish С S. (1981). Programming in Prolog. Springer-Verlag. [Имеется перевод: Клоксин У., Мелиш К. Программирование на языке Пролог. — М.: Мир, 1987.]
Nilsson N. J. (1980). Principles of Artificial Intelligence. Tioga; Springer-Verlag.
Waterman D. A. and Hayes-Roth F. (1978, eds). Pattern-Directed Inference Systems. Academic Press.
Ответы к некоторым упражнениям
1.1
(a)
(b)
(c)
(d)
1.2
(a)
(b)
(c)
1.3
(a)
(b)
1.4
1.5
1.6
Да. (Определение верно)
1.7
(a) возвратов не будет
(b) возвратов не будет
(c) возвратов не будет
(d) возвраты будут
2.1
(a) переменная
(b) атом
(c) атом
(d) переменная
(e) атом
(f) структура
(g) число
(h) синтаксически неправильное выражение
(i) структура
(j) структура
2.3
(a) успех
(b) неуспех
(c) неуспех
(d) D = 2, E = 2
(e)
Такая конкретизация определяет семейство треугольников, у которых две вершины располагаются на оси x в точках 1 и -1, а третья — в произвольной точке оси у.
2.4
2.5
Здесь предполагается, что первая точка соответствует нижней левой вершине прямоугольника.
2.6
(a)
(b)
(c)
(d)
2.7
2.8
2.9