Постановка задачи для среды чудовища в логике предикатов

Осуществим последовательно введение термов, атомов, фактов, правил и формул цели.

Термы:

константы Агент, Чудовище, Яма, Золото, Зловоние, Сквозняк, Блеск, 1, 2, 3, 4;

переменные i, j, g, h, областью значения которых являются константы 1, 2, 3, 4;

переменная х, областью значений которой является множество констант Агент, Чудовище, Яма, Золото.

Атомы:

находится (х, i, j), истинность которого свидетельствует, что объект х находится в ячейке с координатами i, j, а ложность — он там не находится;

пахнет (i, j), истинность которого свидетельствует, что в ячейке с координатами i, j агент ощущает зловоние, а ложность — не ощущает;

сквозит (i, j), истинность которого свидетельствует, что в ячейке с координатами i, j агент ощущает* сквозняк, а ложность — не ощущает;

блестит (i, j), истинность которого свидетельствует, что в ячейке с координатами i, j агент видит блеск золота, а ложность — блеск ему не виден;

ориентация (i, j), истинность которого свидетельствует, что агент стоит лицом к ячейке с координатами (i, j) а ложность — он не стоит лицом к ячейке с этими координатами;

перейти (i, j), истинность которого свидетельствует, что агент переходит в ячейку с координатами (i, j), ккоторой он стоит лицом, а ложность, — что он никуда не переходит;

повернуться (i, j), истинность которого свидетельствует, что агент поворачивается направо на 90°, оставаясь в ячейке с координатами (i, j), a ложность — не поворачивается;

взять (i, j), истинность которого свидетельствует, что агент берет золото в ячейке с координатами (i, j), в которой он находится, а ложность, — что он ничего не берет...

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

Факты, определяющие начальные местоположения объектов. Начальная ситуация показана на рис. 2.3 и с учетом введенных термов и атомов может быть представлена формулой

находится (Агент, 1, 1) ориентация (1,2) пахнет (1, 1) сквозит (1, 1).

Правила, определяющие условия местонахождения объектов среды. Как и прежде, если в какой-либо ячейке не ощущается зловония, то в соседних ей ячейках чудовища нет. Точно так же, если в какой-либо ячейке нет сквозняка, то в соседних ячейках нет ям. Импликации, с помощью которых можно выразить эти знания, теперь приобретают следующий вид:

(i, j) пахнет (i, j) находится (Чудовище, g, h) ((g = i(h =j-1 h=j+1) (h =j(g = i-1g =i+1)),

(i, j) сквозит (i, j) находится (Яма, g, h) ((g = i(h =j-1 h=j+1) (h =j(g = i-1g =i+1)).

Знания о наличии чудовища или ямы в ячейках, соседних данной ячейке, если в ней соответственно ощущается зловоние или сквозняк, можно представить в виде

(i, j) пахнет (i, j) (g, h) находится (Чудовище, g, h) ((g = i(h =j-1 h=j+1) (h =j(g = i-1g =i+1)),

(i, j) сквозит (i, j) находится (Яма, g, h) ((g = i(h =j-1 h=j+1) (h =j(g = i-1g =i+1)).

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

(i, j) находится (Агент, i, j) ориентация(g, h)((g = i(h =j-1 h=j+1) (h =j(g = i-1g =i+1))

находится (Чудовище, g, h) находится (Яма, g, h) перейти (g, h) находится (Агент, g, h) ((g = i(h =j-1)

ориентация(i, j-2)) (g= i (h= j-1) ориентация(i, j+2)) (g= i-1
(h= j) ориентация(i-2, j)) (g= i+1 (h= j) ориентация(i+2, j)).

Формула, определяющая условия выполнения действий по изъятию золота, имеет вид

(i, j) находится (Агент, i, j) блестит (i, j) взять (i, j).

Формулы, определяющие условия выполнения действий поворота агента направо, имеют вид

(i, j) находится (Агент, i, j) ориентация (g, h)

((g = i(h =j-1 h =j+l) (h =j (g = i-1 g = i+l))
(находится (Чудовище, g, h) находится (Яма, g, h))
повернуться (i, j) ((g = i) (h =j-1) ориентация (i-1, j) (g = i)
(h = i+l) ориентация (i+1, j)) (g = i-1) (h = j)

ориентация (i, j + 1)) (g = i+1) (h = j) ориентация (i, j-l)).

Формулы цели. Цель агента — нахождение и изъятие золота, а решение

задачи — последовательность действий агента, приводящая его в ячейку, где находится золото. Поэтому формулой цели будет просто взять (i, j).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: