Программирование на языке Пролог для искусственного интеллекта




Глава 1. Язык Пролог


    Пример программы: родственные отношения
    Пример программы: родственные отношения Пролог - это язык программирования, предназначенный для обработки символьной нечисловой информации. Особенно хорошо он приспособлен для решения задач, в кот...
    Дерево родственных отношений.
    Дерево родственных отношений. Эта программа содержит шесть предложений. Каждое предложение объявляет об одном факте наличия отношения родитель . После ввода такой программы в пролог-систему послед...
    Отношение родительродителя, выраженное через композицию двух отношений родитель.
    Отношение родительродителя , выраженное через композицию двух отношений родитель . Наш составной вопрос можно интерпретировать и так: Найти X и Y, удовлетворяющие следующим двум требованиям: родит...
    Упражнения
    Упражнения Считая, что отношение родитель определено так же, как и раньше в данном разделе (см. рис. 1.1), найдите, какими будут ответы пролог-системы на следующие вопросы: (a) ? - родитель ( джим...
    Расширение программы-примера с помощью правил
    Расширение программы-примера с помощью правил Нашу программу-пример можно легко расширить многими интересными способами. Давайте сперва добавим информацию о том, каков пол людей, участвующих в отн...
    Графы отношений родительродителя, мать и отпрыск,
    Графы отношений родительродителя , мать и отпрыск , определенных через другие отношения. Такие отношения как родитель , отпрыск и мать можно изобразить в виде диаграмм, приведенных на рис. 1.3. Он...
    Определение отношения сестра.
    Определение отношения сестра . Граф на рис. 1.4 можно перевести на Пролог так: сестра( X, Y) :- родитель( Z, X), родитель( Z, Y), женщина( X). Обратите внимание на способ, с помощью которого выраж...
    Упражнения
    Упражнения Оттранслируйте следующие утверждения в правила на Прологе: (a) Всякий, кто имеет ребенка, - счастлив (введите одноаргументное отношение счастлив ). (b) Всякий X, имеющий ребенка, у кото...
    Рекурсивное определение правил
    Рекурсивное определение правил Давайте добавим к нашей программе о родственных связях еще одно отношение - предок . Определим его через отношение родитель . Все отношение можно выразить с помощью...
    Пример отношения предок: (а) X - ближайший предок Z; (b) X - отдаленный предок Z.
    Пример отношения предок : (а) X - ближайший предок Z ; (b) X - отдаленный предок Z . между собой отношением родитель-ребенок, как показано на рис.1.5. В нашем примере на рис. 1.1 Том - ближайший п...
    Пары предок-потомок, разделенных разным числом поколений.
    Пары предок-потомок, разделенных разным числом поколений. Эта программа длинна и, что более важно, работает только в определенных пределах. Она будет обнаруживать предков лишь до определенной глуб...
    Программа о родственных отношениях.
    Программа о родственных отношениях. предок . Иногда бывает удобно рассматривать в целом все множество предложений, входящих в состав одного отношения. Такое множество называется процедурой. На рис...
    Упражнение
    Упражнение Рассмотрим другой вариант отношения предок: предок( X, Z) :- родитель( X, Z). предок( X, Z) :- родитель( Y, Z). предок( X, Y). Верно ли и такое определение? Сможете ли Вы изменить диагр...
    Как пролог-система отвечает на вопросы
    Как пролог-система отвечает на вопросы В данном разделе приводится неформальное объяснение того, как пролог-система отвечает на вопросы. Вопрос к системе - это всегда последовательность, состоящая...
    Первый шаг вычислений. Верхняя цель истинна, если истинна нижняя.
    Первый шаг вычислений. Верхняя цель истинна, если истинна нижняя. Это правила, входящие в отношение предок. Будем говорить, что головы этих правил сопоставимы с целью. Два предложения пр1 и пр2 оп...
    Продолжение процесса вычислений, показанного на рис. 1.9.
    Продолжение процесса вычислений, показанного на рис. 1.9. Имея теперь перед собой две цели, система пытается достичь их в том порядке, каком они записаны. Достичь первой из них легко, поскольку он...
    Все шаги достижения цели предок( том, пат). Правая
    Все шаги достижения цели предок( том, пат) . Правая ветвь демонстрирует, что цель достижима. Графическое представление шагов вычисления на рис. 1.11 имеет форму дерева. Вершины дерева соответствую...
    Упражнение
    Упражнение Постарайтесь понять, как пролог-система, используя программу, приведенную на рис. 1.8, выводит ответы на указанные ниже вопросы. Попытайтесь нарисовать соответствующие диаграммы вывода...
    Декларативный и процедурный смысл программ
    Декларативный и процедурный смысл программ До сих пор во всех наших примерах всегда можно было понять результаты работы программы, точно не зная, как система в действительности их нашла. Поэтому с...
    Резюме
    Резюме Программирование на Прологе состоит в определении отношений и в постановке вопросов, касающихся этих отношений. Программа состоит из предложений. Предложения бывают трех типов: факты, прави...
    Литература
    Литература Различные реализации Пролога используют разные синтаксические соглашения. В данной книге мы применяем так называемый Эдинбургский синтаксис (его называют также синтаксисом DEC-10, поско...








Начало    



Книжный магазин