Скачиваний:
122
Добавлен:
21.01.2014
Размер:
706.56 Кб
Скачать

1.4.5.6. Решение задач и извлечение ответа.

Решение задачи с использованием логического программирования разбивается на 3 этапа:

На первом этапенеобходимо сформулировать наши знания и допущения о предметной области в виде множества ППФ

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

Составление допущений и исходного запроса завершается работа программиста, цель которой - сформулировать задачу.

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

D1, D2, ... , D

Если может быть построен вывод, заканчивающийся отрицанием

Dn =  (противоречие) ,

то этот вывод, называемый успешным выводом, сразу дает решение поставленной задачи.

Рассмотрим все эти три этапа на примере вычислительной задачи нахождения значения факториала некоторого числа.

На первом этапенеобходимо в виде ППФ сформулировать наши знания о вычислении факториала, которые можно представить двумя предложениями:

S1 : факториал (0,1)

S2 : факториал (х,у) х>0, факториал (х-1, у), у=у х

На втором этапеконкретную задачу, например, вычисление значение факториала трех (т.е. 3!), формулируем в виде запроса как исходного отрицания:

D1: ù факториал (3, z)

На третьем этапесистема логического вывода выполнит следующую последовательность этапов вывода на основе резолюции (таблица 4.2)

Таблица 4.2

Вывод на основе резолюции

Шаг вывода

Родительские предложения

Унификатор

Отрицание (резольвента)

1

D1, S2

Q= {x:=3, y:=z, y1:=y/x} = = {x:=3 , y1:= z/3}

D2:ùфакториал (2, z/3)

2

D2, S2

Q= {x:=2, y:=z/3, y1:=y/x} = = {x:=2 , y1:= z/6}

D3:ùфакториал (1, z/6)

3

D3, S2

Q= {x:=1, y:=z/6, y1:=y/x} = = {x:=1 , y1:= z/6}

D4:ùфакториал (0, z/6)

4

D4, S1

Q= {z/6:=1} = {z:=6}

Полученное на 4 шаге противоречие подтверждает отрицание D1, а стало быть вывод является успешным и дает решение:

факториал (3,z), с унификатором Q = {z:=6}

т.е. факториал (3,6)

Откуда ответ, выдаваемый системой логического вывода: z:=6

Лекция 5

1.5 Семантические сети.

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

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

Следовательно, всевозможные сети можно рассматривать как сети, входящие в состав семантической сети. В том числе к ним могут быть отнесены и сетевые структуры моделей БД.

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