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

Здесь есть возможность читать онлайн «Иван Братко - Программирование на языке Пролог для искусственного интеллекта» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1990, ISBN: 1990, Издательство: Мир, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование на языке Пролог для искусственного интеллекта: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование на языке Пролог для искусственного интеллекта»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга известного специалиста по программированию (Югославия), содержащая основы языка Пролог и его приложения для решения задач искусственного интеллекта. Изложение отличается методическими достоинствами — книга написана в хорошем стиле, живым языком. Книга дополняет имеющуюся на русском языке литературу по языку Пролог.
Для программистов разной квалификации, специалистов по искусственному интеллекту, для всех изучающих программирование.

Программирование на языке Пролог для искусственного интеллекта — читать онлайн бесплатно полную книгу (весь текст) целиком

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

:- op( 880, xfx, то).

:- op( 550, xfy, или).

:- op( 540, xfy, и).

:- op( 300, fx, 'выведено по').

:- op( 600, xfx, из).

:- op( 600, xfx, по).

% В программе предполагается,что op( 700, хfх, это), op( 500, fx, не)

рассмотреть( Цель, Трасса, Цель это правда

было 'найдено как факт') :-

факт : Цель.

% Предполагается, что для каждого типа цели

% существует только одно правило

рассмотреть( Цель, Трасса,

Цель это ПравдаЛожь

было 'выведено по' Прав из Ответ) :-

Прав : если Условие то Цель,

% Правило, относящееся к цели

рассмотреть( Условие, [Цель по Прав | Трасса], Ответ),

истинность( Ответ, ПравдаЛожь).

рассмотреть( Цель1 и Цель2, Трасса, Ответ) :- !,

рассмотреть( Цель1, Трасса, Ответ1),

продолжить( Ответ1, Цель1 и Цель2, Трасса, Ответ).

рассмотреть( Цель1 или Цель2, Трасса, Ответ) :-

рассм_да( Цель1, Трасса, Ответ);

% Положительный ответ на Цель1

рассм_да( Цель2, Трасса, Ответ).

% Положительный ответ на Цель2

рассмотреть( Цель1 или Цель2, Трасса,

Ответ1 и Ответ2) :- !,

not рассм_да( Цель1, Трасса, _ ),

not рассм_да( Цель2, Трасса, _ ),

% Нет положительного ответа

рассмотреть( Цель1, Трасса, Ответ1),

% Ответ1 отрицательный

рассмотреть( Цель2, Трасса, Ответ2).

% Ответ2 отрицательный

рассмотреть( Цель, Трасса,

Цель это Ответ было сказано) :-

ответпольз( Цель, Трасса, Ответ). % Ответ дан пользователем

рассм_да( Цель, Трасса, Ответ) :-

рассмотреть( Цель, Трасса, Ответ),

положительный( Ответ).

продолжить( Ответ1, Цель1 и Цель2, Трасса, Ответ) :-

положительный( Ответ1),

рассмотреть( Цель2, Трасса, Ответ2),

( положительный( Ответ2), Ответ = Ответ1 и Ответ2;

отрицательный( Ответ2), Ответ = Ответ2).

продолжить( Ответ1, Цель1 и Цель2, _, Ответ1) :-

отрицательный( Ответ1).

истинность( Вопрос это ПравдаЛожь было Найдено,

ПравдаЛожь) :- !.

истинность( Ответ1 и Ответ2, ПравдаЛожь) :-

истинность( Ответ1, правда),

истинность( Ответ2, правда), !,

ПравдаЛожь = правда;

ПравдаЛожь = ложь.

положительный( Ответ) :-

истинность( Ответ, правда).

отрицательный( Ответ) :-

истинность( Ответ, ложь).

Рис. 14.10.Основная процедура оболочки экспертной системы.

14.5.2. Процедура ответпольз

Прежде чем перейти к написанию процедуры ответпольз, давайте рассмотрим одну полезную вспомогательную процедуру

принять( Ответ)

В процессе диалога часто возникает ситуация, когда от пользователя ожидается ответ "да", "нет" или "почему". Процедура принятьпредназначена для того, чтобы извлечь один из этих ответов, понимая его правильно и в тех случаях, когда пользователь применяет сокращения ('д' или 'н') или делает ошибки. Если ответ пользователя непонятен, то принятьпросит дать другой вариант ответа.

принять( Ответ) :-

read( Ответ1),

означает( Ответ1, Значение), !,

% Ответ1 означает что-нибудь?

Ответ = Значение; % Да

nl, write( 'Непонятно, попробуйте еще раз, % Нет

пожалуйста'), nl,

принять( Ответ). % Новая попытка

означает( да, да).

означает( д, да).

означает( нет, нет).

означает( н, нет).

означает( почему, почему).

означает( п, почему).

Следует заметить, что процедурой принятьнужно пользоваться с осторожностью, так как она содержит взаимодействие с пользователем. Следующий фрагмент программы может служить примером неудачной попытки запрограммировать интерпретацию ответов пользователя:

принять( да), интерп_да( ...);

принять( нет), интерп_нет( ...);

...

Здесь, если пользователь ответит "нет", то программа попросит его повторить свой ответ. Поэтому более правильный способ такой:

принять( Ответ),

( Ответ = да, интерп_да( ...);

Ответ = нет, интерп_нет( ...);

... )

Процедура

ответпольз( Цель, Трасса, Ответ)

спрашивает пользователя об истинности утверждения Цель. Ответ — это результат запроса. Трассаиспользуется для объяснения в случае, если пользователь спросит "почему".

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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


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

Обсуждение, отзывы о книге «Программирование на языке Пролог для искусственного интеллекта» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x