Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Person(symbol, symbol)

Yes

State(left, right, left, right), 7

State(right, right, left, right), 6

State(left, right, left, left), 10

State(right, right, right, left), 9

State(left, left, right, left), 3

State(right, left, right, left), 2

State(left, right, left, right), 7

State(right, right, left, right), 6

State(left, left, left, right), 5

State(right, left, right, right), 4

State(left, left, right, left), 3

State(right, left, right, left), 2

state(right, right, right, right)] 8

Рішення:

[state(left, left, left, left), 1

state(right, right, right, right)] 8

Визначення розв'язку задачі на графі станів

1

 

 

 

 

 

4 9

 

 

5 10

 

 

 

 

 

 

3. Проблема слідчого

 

Програма LOGTASK4 імітує дії слідчого, що розкриває по наявних фактах злочин - убивство громадянки Романової. У якості фактів описані дані про підозрюваних осіб (прізвище, вік, стать, професія), коло їх знайомств, перераховані всі можливі мотиви злочину й доказу. Правила, наведені в програмі, дозволяють на основі наявних фактів зробити висновок про ймовірного злочинця.

 

domains
name,sex,occupation,object,vice,substance=symbol %ім'я,

%стать, професія, річь, порок, сутність
age=integer
predicates
person(name, age, sex, occupation)
had_affair(name, name)
%любовна афера
killed_with(name, object) % вбитий предметом
killed(name) % вбитий
killer(name) % вбивця
motive(vice) % мотив(порок)
smeared_in(name, substance) %забруднений чимось owns(name, object) %дехто володіє річчю
operates_identically(object, object) %діє ідентично
owns_probably(name, object) %можливо володіє
suspect(name) %підозрює
clauses
person("Кузьмін", 55, m, "шофер").
person("Попов", 25, m, "футболіст").
person("Александров", 25, m, "продавець").
person("Іванов", 25, m, "безробітний").
person("Назарова",20, w, "покоївка").
person("Гущина", 22, w, "студент").
person("Романова", 19, w, "продавець").

had_affair("Назарова", "Іванов").
had_affair("Назарова", "Кузьмін").
had_affair("Романова", "Іванов").

killed_with("Романова", "готель").

killed("Романова").

motive("невідомий").
motive("гроші").
motive("ревнощі").
motive("помста").

smeared_in("Кузьмін", "плями крові").
smeared_in("Романова", "плями крові").
smeared_in("Попов", "бруд").
smeared_in("Іванов", "плями кави").
smeared_in("Гущина", "плями кави").

owns("Кузьмін", "ніж").
owns("Іванов", "пістолет").

operates_identically("ніж", "готель").
operates_identically("бар", "готель").
operates_identically("перукарня", "готель").
operates_identically("ножиці", "перукарня").
operates_identically("бутси", "готель").

owns_probably(X,"бутси"):-person(X,_,_,"футболіст").
owns_probably(X,"ножиці"):-person(X,_,_,"перукар").
owns_probably(X, Object):- owns(X, Object).

suspect(X):- motive("невідомий"),
killed_with("Романова", Weapon),
%Weapon - зброя
operates_identically(Object, Weapon),
owns_probably(X, Object).
suspect(X):- motive("ревнощі"), person(X, _, m, _),
had_affair("Романова", X).
suspect(X):- motive("ревнощі"), person(X, _, f, _),
had_affair(X, Man),had_affair("Романова", Man).
suspect(X):-motive("гроші"),person(X,_,_, "безробітний").

killer(Killer):- person(Killer, _, _, _),
killed(Killed), Killed <> Killer,
suspect(Killer), smeared_in(Killer, X),
smeared_in(Killed, X).
goal
killer(Killer),nl, write("Злочин зробив: ",Killer).

4. Поліцейська проблема

Jean був убитий у вівторок. Luc, Paul, Alain, Bernard і Louis перебувають під підозрою. Хто є вбивця, якщо прийнято вважати, що:

· убивцею є той, хто бажав смерті Jean-a, має зброю й не має алібі на вівторок;

· алібі, представлене персоною, що не викликає довіри, не є дійсним;

· хтось міг прагнути смерті Jean-a, якщо він був зацікавлений у його смерті або бажав йому помститись;

· персона може бути зацікавлена в смерті Jean-a, якщо вона успадковує його власність, якщо винна йому грошей або була помічена на місці злочину.

 

Анкета дала наступні результати:

· В Luc-a є алібі на вівторок, яке надав Bernard;

· В Paul-a є алібі на вівторок, яке надав Bernard;

· В Louis-a є алібі на вівторок, яке надав Luc;

· В Alain-a є алібі на четвер, яке надав Luc;

· Alain персона, що не вселяє довіри;

· Paul прагнув помститись Jean-у;

· Luc прагнув помститись Jean-у;

· Bernard є спадкоємцем Jean-a;

· Jean є спадкоємцем Louis-a;

· Louis винен грошей Jean-у;

· Luc винен грошей Jean-у;

· Paul бачив Alain-a за скоєнням злочину;

· В Luc-а є зброя;

· В Louis-а є зброя;

· В Alain-а є зброя.

 

Хто вбивця?


ЛІстинг програми (i):

 

 

predicates

<== предыдущая лекция | следующая лекция ==>
State( Фермер, Вовк, Коза, Капуста ) | KILLER - alain
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 237; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.