Станок = {ст.1, ст.2, ст3}
Операция ={опер1,опер2, опер3, опер4, опер5, опер6, опер7, опер8}
Тип_детали = {ст_вал, вал_мест}
Тип_станка = {ток, фрез}
Время = {1,2,…,t}
Объединение всех множеств - универсум.
Каждой функции и предикатов из структуры в системе соответствует множество факторов.
1) дет.(опер.1)=дет1
дет.(опер.2)=дет1
дет.(опер.3)=дет2
…………………..
2) ст.(опер.1)= ст.3
ст.(опер.2)= ст.1
ст.(опер.3)= ст.3
…………………
3) нач.(опер.1)=0
нач.(опер.2)=5
нач.(опер.3)=5
…………………..
4) конц(опер.1)=5
конц(опер.2)=12
конц(опер.3)=0
…………………
5) тип_дет(дет.1)=ст_вал
тип_дет(дет.2)=вал_мест
тип_дет(дет.3)=ст_вал
тип_дет(дет.4)=вал_мест
………………….
6) тип_ст. (ст.1)=ток
тип_ст. (ст.2)=ток
тип_ст. (ст.3)=фрез
………………….
10) фрез_торц(опер1)
ток_обр (опер2)
фрез_торц(опер3)
операция | деталь | станок | начало | конец | фрез_торц | ток_обр |
Опер1 | Дет.1 | Ст.3 | 0 | 5 | 1 | 0 |
Опер2 | Дет.1 | Ст.1 | 5 | 12 | 0 | 1 |
Опер3 | Дет.2 | Ст.3 | 5 | 10 | 1 | 0 |
Опер4 | Дет.2 | Ст.2 | 10 | 17 | 0 | 1 |
Опер5 | Дет.3 | Ст.3 | 10 | 16 | 1 | 0 |
Опер6 | Дет.3 | Ст.1 | 16 | 26 | 0 | 1 |
Опер7 | Дет.4 | Ст.3 | 16 | 22 | 1 | 0 |
Опер8 | Дет.4 | Ст.2 | 22 | 32 | 0 | 1 |
Деталь | Тип_дет |
Дет.1 | Ст_вал |
Дет.2 | Ст_вал |
Дет.3 | Вал_мест |
Дет.4 | Вал_мест |
Станок | Тип_ст |
Ст.1 | Ток. |
Ст.2 | Ток. |
Ст.3 | Фрез. |
3) Составляющая : Логические формулы
Правила построения формул:
а)константа сорта А, есть терм сорта А
б)переменная принимающая значение из сорта А, есть терм сорта А
в)если сигнатура содержит функцию
-построенные термы сортов
соответственно, то-есть терм сорта В
г)если сигнатура содержит предикат-
,термы построенных сортов
, то - есть атом.
д)если
- термы одинакового сорта, то выражение , то есть атоме)Атом есть формула правильно построенная (ППФ)Переменная, входящая в атом, является свободной в этом атоме.
ж)если
построенная формула в которую свободно входит переменные х сорта А , то выражения: также является ППФ, переменная “x” являетсясвязанной (в новых файлах)
з)если
уже построенные формулы, то , такжеявляется ППФ
Примеры:
1) Представление Знания b=> опер2 выполнены на токарном станке
тип_ст(ст(опер2))=nток
2) Опер2 выполн на ост.1 на ст.1 нач 5 конец 12
)3)
Лекция 8 12.11.99.
Метод резолюций
Метод резолюций доказывает невыполнимость.
Для использования этого метода необходимо исходную формулу привести к ДНФ.
ДНФ:
- дизъюнкция литеррii – атом или отрицание атома.
Потом ДНФ представляют в виде множества дизъюнктов
В методе резолюций – имеется одно правило вывода
В результате из 2-х дизъюнктов получаем новую, называется руовентой
- получаем пустой дизъюнкт , который всегда ложный.Если множество содержит пустой дизъюнкт , то оно является не выполнимым.
Получается пустой дизъюнкт, который доказывает что данное множество является невыполнимым.
Метод резолюций применяется до тех пор пока не получится пустой– дизъюнкт
m,n – const
подстановка вместо переменной константы –унификация.В данном случае выполняем подстановку {n/y}:
Из (1)и (2) => a(x)
c(x,n) (5)Из (3) и (5) , выполняя ь подстановку {m/n}=> c(m,n) (6)
Из (4) и (6) без подстановок => 0
Принцип резолюций в Прологе
В Прологе используются хордовские дизъюнкты, т.е. дизъюнкты, содержащие одну литеру без отрицания.
На пример
=>конъюнкция
без
отрицания
Могут использоваться дизъюнкты , которые вообще не содержат литер. –
это целевое утверждение на прологе: ? – a
a: - b,c,d.
b: - e,f.
c.
e.
f.
?-a
a(1)
a(2)
a(3)
№ шага | Целевой дизъюнкт | Исходный дизъюнкт | резольвета |
1 2 3 4 5 6 | ?- a. ?-b,c,d ?-e,f,c,d ?-f,c,d ?-c,d ?-d | a:-b,c,d. b:-e,f e f c d | -b,c,d. -e,f,c,d -f,c,d -c,d -d 0 |
Представление программы в виде графа
a: - b;cb: - d,e
c: - g,f. e: - i,h g: - h,j d.f.
h.?-a
«,» - и
«;» - или
Построение графа начинается с целевого дизъюнкта.
На графе видно какие и сколько решений имеет рассматриваемая задача.
- Два решения задачи