Раздел 3 Фотосинтез
Розробити автоматизовану СПР, яка вирішує наступну задачу. У банка є п’ять важливих клієнтів, які мають щоденно відвідувати банк протягом тижня, але за виконання певних умов. 1. Якщо прийшли Андрій та Дмитро, то Бориса бути не повинно. Однак, якщо Дмитро не прийшов, то Борис бути повинен, а Віктор бути не повинен. 2. Якщо Віктор прийшов, то Андрія бути не повинно і навпаки. 3. Якщо прийшов Дмитро, то Григорія бути не повинно. 4. Якщо Бориса немає, то Дмитро має бути, однак за умови, що не має також і Віктора. Однак, якщо Віктор є, то Дмитра бути не має, однак має бути Григорій.
Лістинг 2.1 – Код програми st_A(A):-A=andre; A=net. st_D(D):-D=dmitri; D=net. st_B(B):-B=boris; B=net. st_V(V):-V=victor; V=net. st_G(G):-G=grig; G=net. ogr1(andre,_,_,net,_). ogr1(net,_,_,victor,_). ogr2(_,dmitri,_,_,net). ogr2(_,net,_,_,_). norm1(andre,dmitri,net,_,_). norm2(andre,net,boris,net,_).
norm3(_,dmitri,net,net,_). norm4(_,net,net,victor,grig). spisok(A,D,B,V,G):-st_A(A),st_D(D),st_B(B),st_V(V),st_G(G), norm1(A,D,B,V,G),ogr1(A,D,B,V,G),ogr2(A,D,B,V,G); st_A(A),st_D(D),st_B(B),st_V(V),st_G(G), norm2(A,D,B,V,G),ogr1(A,D,B,V,G),ogr2(A,D,B,V,G); st_A(A),st_D(D),st_B(B),st_V(V),st_G(G), norm3(A,D,B,V,G),ogr1(A,D,B,V,G),ogr2(A,D,B,V,G); st_A(A),st_D(D),st_B(B),st_V(V),st_G(G), norm4(A,D,B,V,G),ogr1(A,D,B,V,G),ogr2(A,D,B,V,G); st_A(A),st_D(D),st_B(B),st_V(V),st_G(G), not(norm1(A,D,B,V,G)),not(norm2(A,D,B,V,G)), not(norm3(A,D,B,V,G)),not(norm4(A,D,B,V,G)), ogr1(A,D,B,V,G),ogr2(A,D,B,V,G).
Рисунок 2.1 – Запит до програми
Рисунок 2.2 – Результат списка хто присутній у банку
ВИСНОВОК
Згідно завданню лабораторної роботи, виконала необхідні завдання. Основними поняттями в мові Пролог є факти, правила логічного висновку і запити, що дозволяють описувати бази знань, процедури логічного висновку і прийняття рішень. Факти в мові Пролог описуються логічними предикатами з конкретними значеннями. Правила в Пролозі записуються у формі правил логічного висновку з логічними висновками і списком логічних умов. Факти в базах знань на мові Пролог представляють конкретні відомості (знання). Узагальнені відомості та знання в мові Пролог задаються правилами логічного висновку (визначеннями) і наборами таких правил виводу (визначень) над конкретними фактами і узагальненими відомостями. У мові Prolog можна легко визначити ставлення, таке як parent, задаючи n-елементні кортежі об'єктів, які задовольняють цій відношенню. Користувач може легко запитувати систему Prolog про відносини, визначених в програмі. Програма Prolog складається з пропозицій. Кожна пропозиція закінчується точкою.
Раздел 3 Фотосинтез
|