Студопедия — Интерпретатор Пролога
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Интерпретатор Пролога






 

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

domains

имя=symbol

predikates

отец(имя, имя)

дед(имя, имя)

clauses

10 отец(алексей, владимир).

20 отец(андрей, алексей).

30 дед(X, Y): -

отец(X, Z),

отец(Z, Y).

Пусть задан вопрос: дед(X, Y). Он помещается в стек вопросов (целей) с состоянием

40 дед(X, Y).

В первом цикле интерпретатор просматривает сверху вниз пункты программы 10-30. Он пытается унифицировать первый литерал из стека (в данном примере литерал всего один) с первыми литералами предложений 10-30. Только правило 30 в нашем примере может быть унифицировано с предложением 40. Перед унификацией интерпретатор переименовывает переменные в пункте 30: X ® X1, Y ® Y1, Z ® Z1. Унификация предложений 40 и 30 требует замену: X вместо X1, Y вместо Y1. После унификации литерала из стека вопросов 40 и правила 30 содержимое стека замещаетсяусловной частью правила 30:

40a отец(X, Z1), отец(Z1, Y).

 
Во втором цикле первый литерал в 40a унифицируется с фактом 10: “ алексей ” заменяется X, а “ владимир ” - Z1. Таким образом, рассматриваемый литерал отец(X, Z1)=отец(алексей, владимир)

 
II-2. Пр1: если есть , то есть

Пр2: есть очень

Сл: есть .

 

III. Пр1: если есть , то есть

Пр2: есть более или менее

Сл: есть более или менее .

 

IV-1. Пр1: если есть , то есть

Пр2: есть не

Сл: неизвестно.

 

IV-2. Пр1: если есть , то есть

Пр2: есть не

Сл: есть не ,

где “Пр” – предпосылка, “Сл” – следствие, = ()/ , = ()/ , ”очень ” = , “более или менее ” = ( - любое нечеткое множество).

Условие-неравенство: ()Ù ( () ())£ (), где “ ” – импликация, зависящая от вида нечеткой логики .

Пример: = ,

= =0+1+2+3+4+5+6+7+8+9+10,

=мало=1/0+0.8/1+0.6/2+0.4/3+0.2/4,

=средне=0.2/2+0.4/3+0.8/4+1/5+0.8/6+0.4/7+0.2/8.

Проверим правило-критерий I. Для этого сначала найдем бинарное отношение ( (), ()) между и в предпосылке Пр1 ( (), () – множества, определяемые атрибутами , , принимающими значения из , соответственно). Предпосылка Пр1 - “если есть , то есть ” - содержит два унарных отношения: ( ())= и ( ())= . Из всех возможных отношений ( (), ()) выберем отношение вида ( (), ()) = = = () () ) /(, ), где () ()= (, ). Тогда с учетом табл.1.3, где = (), = (), можно рассчитать ( (), ()) следующим образом:

 
2.3.2. Описание фактов

 

При описании предложений типа фактов на языке Пролог необходимо соблюдать правила:

- имена объектов (сущностей) и отношений состоят из латинских букв, цифр, знаков подчеркивания и начинаются со строчной буквы;

- первым в предложении указывается имя отношения, за которым в скобках указываются имена объектов, разделяемых запятыми;

- факт заканчивается точкой, порядок перечисления объектов в скобках произволен, но постоянен.

Имена объектов в круглых скобках называются аргументами, а имя отношения – предикатом. Имена объектов и отношений выбираются произвольно. Отношения могут иметь произвольное число аргументов.

Аргументы могут быть представлены константами или переменными. Пример (для удобства чтения наряду с латинскими будем использовать русские буквы): вопрос “ отец(виктор, X) ” переводится как “отцом каких детей является Виктор? ”. Для нахождения ответа просматриваются имена всех имеющихся в наличии объектов, отец которых – Виктор. Ответов может быть несколько, например: 1) X =таня, 2) X=оля.

Подвопросы в предложениях отделяются запятыми (союз “и”). Примеры:

1. нравится(виктор, анна), нравится (анна, виктор) – нравятся ли Виктор и Анна друг другу?.

2. нравится(виктор, X), нравится(анна, X) – что нравится обоим – Виктору и Анне?.

Факты в программе на языке Пролог записываются в разделе clauses. Пример программы на языке Пролог, содержащей факты:

domains

имя=symbol

predikates

отец(имя, имя)

муж(имя, имя)

clauses

отец(виктор, таня).

отец(виктор, оля).

отец(виктор, даша).

отец(владимир, виктор).

отец(владимир, сергей).

муж(виктор, анна).

муж(владимир, люда).

Здесь domains - определение аргументов, predikates - формат предикатов, clauses – факты и правила. На запрос отец(X, Y) Пролог отвечает в соответствии с принципом поиска всех решений:

X=виктор, Y=таня

X=виктор, Y=оля

 
10. = =1, = =0; ()=0.8, (, )=0; =0.8Ù 0=0 и т. д.

 
 


50. = =5, = =0; ()=0, (, )=1; =0Ù 1=0 и т. д.

Очевидно, что ()= [ ( (, )]=0. Аналогично находим ()=0. Далее:

02. = =0, = =2; ()=1, (, )=0.2; ( (, )=1Ù 0.2=0.2= .

12. = =1, = =2; ()=0.8, ( , )=0.2; =0.8Ù 0.2=0.2;

 
 


42. = =4, = =2; ()=0.2, (, )=1; =0.2Ù 1=0.2.

52. = =5, = =2; ()=0, (, )=1; =0Ù 1=0 и т. д. до =0. Для этих пунктов ()= [ ( (, )]=0.2. После нахождения всех значений () имеем:

 

( ())=0.2/2+0.4/3+0.8/4+1/5+0.8/6+0.4/7+0.2/8 = = средне.

 







Дата добавления: 2014-11-10; просмотров: 501. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Стресс-лимитирующие факторы Поскольку в каждом реализующем факторе общего адаптацион­ного синдрома при бесконтрольном его развитии заложена потенци­альная опасность появления патогенных преобразований...

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия