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

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

Описание правил






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

отец(павел, юлия).

мать(юлия, михаил).

Для того чтобы узнать, кто является дедом Михаила по материнской линии, нужно задать вопрос: отец(X, Y), мать(Y, михаил). Ясно, что проще оформить запрос как дед(X, михаил). Тогда в программе нужно сформулировать соответствующее правило: дед(X, Y): -отец(X, Z), мать(Z, Y), которое читается как “X является дедом Y, если X является отцом Z, и Z является матерью Y”.

Факты правил сами могут быть раскрыты в виде правил. Рассмотрим следующую программу, содержащую факты и правила:

domains

имя=symbol

predikates

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

супруг(имя, имя)

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

мать(имя, имя)

clauses

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

20 отец(федор, мария).

30 отец(алексей, лариса).

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

50 супруг(алексей, мария).

60 дед(X, Y): -

отец(X, Z),

отец(Z, Y).

70 дед(X, Y): -

 
Таблица 10.1. Многозначная логика

 

Связка Обозначение Значения
Тавтология  
Противоречие  
Дизъюнкция , + > 1 1, + =1 , + < 1
Отрицание 1-
Коньюнкция , + < 1 0, + =1 , + > 1
Импликация 1- , < 1, = , >
Эквивалентность 1- , < 1, = 1- , >
Штрих Шеффера 1- , + < 1 1, + =1 1- , + > 1
Стрелка Пирса 1- , + > 1 0, + =1 1- , + < 1

 

примеры наиболее широко используемых критериев.

Правила-критерии нечетких выводов для Ì , Ì :

 

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

Пр2: есть

Сл: есть .

 

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

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

Сл: есть очень .

 

 
соответствует факту10, не содержит переменных (цель решена) и его можно удалить из стека. Тогда в стеке остается нерешенным второй литерал из 40a:

40b отец(владимир, Y).

В третьем цикле предложение 40b не унифицируется ни с одним из пунктов 10, 20, 30. Интерпретатор оказывается в тупике и возвращается к ближайшему состоянию 40a (точка возврата ТВ), из которого был начат последний процесс решения целей, для поиска других вариантов.

В четвертом цикле первый литерал в 40a унифицируется уже со следующим после 10 фактом 20: “ андрей ” заменяется на X,алексей ” на Z1. Литерал отец(X, Z1) становится конкретным фактом 20. Второй литерал из 40a остается в стеке вопросов:

40c отец(алексей, Y).

В пятом цикле литерал 40c унифицируется с фактом 10 и “ владимир ” заменяется на Y. Цель разрешена. После удаления литерала отец(алексей, Y) из стека других целей в нем не оказывается. Найден вариант ответа:

X=андрей, Y=владимир.

Затем интерпретатор путем возврата в ближайшее состояние 40, из которого был начат весь рассмотренный процесс, пытается другими способами исчерпать стек вопросов путем просмотра других правил после 30. В нашем примере других правил нет, нет и других решений. Поэтому работа программы заканчивается.

Предикат “отсечение”. Специальное средство “! ” позволяет обходить при возврате некоторые цели.

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

Пример запроса 2: цель1, цель2,!, цель3, цель4. Последовательно анализируется одна за другой четыре цели. При поиске решения в случае неудачи возвраты возможны только по цепочке 4-3, но не далее. Пример программы:

10 отец(a, b).

20 отец(b, c).

отец(c, d).

предок(X, Y): -

отец(X, Y).

предок(X, Y): -

отец(X, Z),

предок(Z, Y).

Запрос: отец(X, Y),!, отец(Y, Z). Интерпретатор решает первую цель и уже по факту 10 находит X=a, Y=b. Теперь необходимо удовлетворить вторую цель. Так как Y=b, то только факт 20 унифицируется с этой целью: Z=c. Для поиска всех решений надо вернуться по цепочке целей стека вопросов к первой цели. Но перед ней стоит знак “! ”. Возврат запрещен, хотя очевиден другой вариант: X=b, Y=c, Z=d. Таким образом, ответ следующий: X=a,

 
Пересечение нечетких отношений , из ´ есть Ç . Для него = Ù = (, ). Пример = Ç :

       
   
 

 

 


0.2 0.5 0.9
  0.4 0.8

 

 

Объединение È : = Ú = = (, ). Пример:

       
   
 

 

 


0.3 0.6  
0.1 0.4 0.9

 

 

Алгебраическое произведение × : =

= × ).

Свойство дистрибутивности для È и ×:

Ç ( È )=( Ç )È ( Ç ); È ( Ç )=( È )Ç ( È );

× ( È )=( × )È ( × ); × ( Ç )=( × )Ç ( × ).

Алгебраическая сумма + : = + -

- × .

Дополнение : =1- .

Дизъюнктивная сумма: Å =( Ç )È ( Ç ).

, ближайшее к : 0, если < 0.5,

= 1, если > 0.5,

0 или 1, если = 0.5.

 

 
новыми значениями своих аргументов: fact(3, X1.1), X1=4*X1.1, где X1.1- новое значение аргумента X1 в fact(Z, X1); fact(2, X1.2), X1.1=3*X1.2; fact(1, X1.3), X1.2=2*X1.3. Новая первая цель fact(1, X1.3) унифицируется уже с фактом программы, что дает X1.3=1. После отбрасывания полученного конкретного факта fact(1, 1) стека, являющегося решением его первой цели fact(1, X1.3), в нем остается: X1.2=2*X1.3. Уравнение дает X1.2=2*1=2. Освобождение от указанного факта дает пустой стек. Последовательная подстановка X1.2, X1.1, X1 в соответствующие предыдущиесостояния стека приводит к варианту ответа X=Y=120. Попытка найти другие решения задачи при унификации fact(1, X1.3) и правила программы приводит к замене в нем X=1, Y= X1.3 ик неудовлетворению неравенства X> 1 условной части правила. Работа программы закончена.

 







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



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

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

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

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

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

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