SlideShare a Scribd company logo
Логічні алгоритмиЛогічні алгоритми
та системи штучного інтелектута системи штучного інтелекту
Предмет вивченняПредмет вивчення
 ЛОГІЧНЕ ПРОГРАМУВАННЯ
мова програмування Prolog
(Programming in logic)
 СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ
генетичні алгоритми
методи нечіткої логіки
нейронні мережі
Зміст курсуЗміст курсу
 8 семестр
Лекції – 26 годин (13 лекцій)
Лабораторні роботи – 26 годин
 В сесію
Іспит
Два теоретичних питання
Тестові завдання
Одна практична задача (Prolog)Одна практична задача (Prolog)
 … система
І модуль
4 лабораторні роботи – 25 балів
Контрольна робота – 10 балів
Разом – 35 балів
ІІ модуль
4 лабораторні роботи – 35 балів
Разом – 35 балів
 Іспит – 30 балів
ДжерелаДжерела
◦ Братко И. Алгоритмы искусственного интеллекта на языке Prolog. – М. : Вильямс , 2004. – 637 с.
◦ Шрайнер П.А. Основы программирования на языке Пролог : курс лекций : учебное пособие для
вузов по специальностям информационных технологий. – М. : Интернет-Университет
Информационных Технологий , 2005. – 172 с.
◦ Джонс м.Т. Программирование искусственного интеллекта в приложениях. – М.: ДМК Пресс,
2004.
◦ Осовский С. Нейронные сети для обработки информации / Пер. С польського И.Д. Рудинского.-
М.: Финансы и статистика, 2002.- 344 с.: ил.
◦ Девятков В.В. Системы искусственного интеллекта: Учеб. Пособие для вузов. – М.: Изд –во МГУ
им. Н.Э. Баумана, 2001. – 352 с., ил.
◦ Рассел, Стюарт, Норвиг, Питер. Искусственный интелект:современный поход, 2-е узд.: Пер. С
англ.. – М.-: Издательский дом «Вильямс», 2006. – 1408 с.: ил.
◦ Адаменко А.Н., Кучуков А.М. Логическое программирование иVisual Prolog. – СПб.: БХВ-
Петербург, 2003. – 992 С.
◦ Хайкин, Саймон Нейронные сети: полный курс, 2-е издание.: Пер. с англ.. – М.: Издательский дом
«Вильямс», 2006. – 1104 с.: ил. – Папал.Тит. Англ.
◦ Рутковская Д., Пилинский м., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие
системы: Пер. с польск. И.Д. Рудинского. – М.: Горячая линия –Телеком, 2006. – 452 с.: ил.
◦ Яхъева Г.Э. Нечеткие множества и нейронные сети: Учебное пособие/ Г.Э. Яхъева. – М.: Интернет
– Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – 316 с.: ил.,
табл.
◦ Лю Б.Теория и практика неопределенного программирования / Б. Лю; Пер. с англ.. – М.: БИНОМ.
Лаборатория знаний, 2005. – 416 с.: ил.
ЗмістЗміст
Мови
A.I. Вступ
Огляд
Додатки
Мови
ВступВступ
Мета – можливість відтворити здатність людського
мозку до дослідження, аналізу та висновків
• Наука проектування та створення інтелектуальних
машин, особливо – програм штучного інтелектумашин, особливо – програм штучного інтелекту
Чи є межа розвитку інтелектуальнихЧи є межа розвитку інтелектуальних
машинмашин??
 Інтелект:
“здатність до навчання та вирішення задач”
 Штучний Інтелект:
◦ Штучний Інтелект (AI) інтелект пристроїв,◦ Штучний Інтелект (AI) інтелект пристроїв,
роботів та галузь науки, яка ставить за
мету їх створення
 можливість розв’язання задач
 можливість раціонально діяти
 можливість діяти як людина
Історія АІ
 Класичні філософи
 Programmable Digital Computers (1940)
 1943-1956:
• McCulloch & Pitts: Boolean circuit model of• McCulloch & Pitts: Boolean circuit model of
brain (Логічна схема моделі мозку)
• Dartmouth : поява визначення "Artificial
Intelligence“
 Золоті роки 1956−1974
 1986– Піднесення “machine learning”
◦ Повернення популярності НМ (Neural
networks)
◦ Більшість досягнень в напрямку розробки
machine learning алгоритмів та додатків
1995-- AI – це наука
machine learning
 1995-- AI – це наука
◦ Інтеграція навчання, міркування, подання
знань
◦ Методи AI використовуються в «зорі»
(баченні), лінгвістиці, інтелектуальному
аналізі даних тощо.
 2006: ПЗ розпізнавання образів
доступне в камерах
 2003-2007 робот за кермом: DARPA
grand challenge
 Feb 2011 надійшли запитання, на які
може відповісти робот …
Чи можуть
AI системи
праяцювати так
ефективно, як
праяцювати так
ефективно, як
Мозок Людини?????
 Наскільки складний наш мозок?
◦ Нейрон
◦ 10 12 нейронів в мозку
◦ І набагато більше синапсів (10 14) сполучають ці
нейрони
◦ Час циклу: 10 -3 секунди
 Наскільки складними можна зробити
комп‘ютери?
◦ 108 CPU
комп‘ютери?
◦ 108 чи більше транзисторів в CPU
◦ Суперкмп’ютер: сотні CPUs, 1012 bits RAM
◦ Час циклу : сягає 10 - 9 секунд
 Висновок
ТАК
◦ Замало взаємозв'язків (проводів чи синапсів)
◦ Швидші
AIAI ----додаткидодатки::
“Природня мова”
Експертні системи
Проектування роботів
Машинне навчанняМашинне навчання
Ігрові задачі
ДружніДружні
напрямкинапрямки
AI:AI:AI:AI:
…це широке поле
з такою кількістю
«грядок».
“Природня мова”“Природня мова”
 Розробка та створення ПЗ для аналізу,
розуміння та генерування мови,
природньо зрозумілої людині
Режими зв'язкуРежими зв'язку
 Текст
 Діалог
Розпізнавання мовиРозпізнавання мови
 Процес перетворення звукового
сигналу з мікрофону чи телефону в
множину слів.множину слів.
 70-100 слів/хв з точністю до 90%
Машинний (компМашинний (комп’’ютерний зір)ютерний зір)
 Здатність машини до вилучення
інформації з образу для вирішення
необхіднї задачі
 отримання зображення
 обробка зображення
 аналіз зображення
 розуміння зображення
Інтелектуальний роботІнтелектуальний робот
 Радше імітація
здібності людини
до отримання
інформації та
прийняття рішень зприйняття рішень з
метою адаптації до
певних умов і змін
своїх дії.
Експертні системиЕкспертні системи
 ПЗ для прийняття
рішень .
 Автоматизоване
міркування та
доведення теорем.доведення теорем.
 Експертні системи
пошуку та усунення
несправностей.
 Експертні системи
фондового ринку.
В чому різницяВ чому різниця ????????????????
Artificial Intelligence
НЕ творчий
Natural Intelligence
ТворчийНЕ творчий
Точний
Узгоджений
Багатозадачний
Творчий
Може помилятися
Не узгоджений
Некерований
МовиМови
Дослідники АІ розробили кілька
спеціалізованих мов програмування для
штучного інтелекту, зокрема IPL, Lisp, Prolog,штучного інтелекту, зокрема IPL, Lisp, Prolog,
STRIPS, Planner, POP-11 тощо.
КласифікаціяКласифікація
Мови
програмування
Алгоритмічні
Декларативні
Алгоритмічні
(процедурні) мови
(Fortran, Pascal,
C, …)
Декларативні
(неалгоритмічні)
мови
Мови
логічного
програмування
(Prolog, …)
Мови
функціонального
програмування
(Lisp, …)
Логічне програмуванняЛогічне програмування
Алгоритм
розв’язку
задачі
Логічна
специфікація
розв’язкузадачі
розв’язку
задачі
Термінологія логічного програмування
запозичена з логіки.
Логіка пізнає принципи людського мислення.
ПорівнянняПорівняння
LISP
Функціональне
PROLOG
Функціональне
програмування
Загальна ціль
Пропонує широкий спектр
завдань, простіший у
використанні
Не вимагає підтримки
Прологу
Логічне програмування
Специфічне використання
Легша у вивченні
Підтримка різнонаправлених
міркувань
Створення мовиСтворення мови PrologProlog
 1879 - Фержен публікує роботу «Концептуальна
мова», викладає основи загальної теорії відношень.
 1965 - Дж. Е.Робінсон «Машинно-орієнтована логіка,
заснована на принципі резолюції».
 1968 – Лавленд «Автоматичне доведення теорем 1968 – Лавленд «Автоматичне доведення теорем
шляхом усунення моделей».
 1971 - Ковальські і Куенер «Лінійний відбір за
допомогою функції резолюції» - принципи логіки
предикатів.
 1973 - Кольмерор в Марселі створив перший Пролог-
інтерпретатор на Фортрані.
Створення мовиСтворення мови PrologProlog
 1977 - Уоррен і Перейра, Единбург, інтерпрететор /
компілятор Прологу для ЕОМ DEC-10, перша реалізація
«машини Уоррена» як прототипу наступних Пролог-
реалізацій.
 1981 - інститут ICOT, Японія, проект ЕОМ п'ятого
покоління.покоління.
 1982 -Том Остербі (Відділ Інформатики Данського
Технічного Університету) розробив Пролог-
інтерпретатор для комп'ютера VAX.
 1984 - Джон Гофман, Лео Йенсен і Фінн Гронський
(Відділ Інф-ки Дат.Тех.Ун-т) розробили Пролог-
компілятор для IBM PC.
 1993 - під кер. Лео Йенсена розробляється Visual Prolog.
Сучасний станСучасний стан
 Visual Prolog 7.4
 Розробкою мови займається фірма
PDC
Prolog Development CenterProlog Development Center
◦ http://www.pdc.dk
 Версії Prolog’а
◦ Turbo Prolog
◦ PDC Prolog
◦ Visual Prolog
Теоретичні дослідженняТеоретичні дослідження
в сфері формалізації мисленняв сфері формалізації мислення
Традиційна логіка
Формальна логікаФормальна логіка
Логіка висловлювань
Логіка предикатів
Традиційна логіка та її закониТрадиційна логіка та її закони
Завдання виявити критерій істинності
суджень у полеміці.
Аристотель ввів поняття судження.
Під судженням розуміється закінченаПід судженням розуміється закінчена
думка, що висловлена у формі простого
речення природної мови.
Традиційна логіка та її закониТрадиційна логіка та її закони
Аристотелем виведені три закони традиційної логіки:
1.Тотожність: А є А. Суть: деяка річ завжди рівна самій
собі. Судження означає тільки саме себе.
2. Суперечливість: А не є не А. Суть: річ не може
одночасно володіти і не володіти деякоюодночасно володіти і не володіти деякою
властивістю; ніяке судження не є одночасно і
істинним і хибним.
3. Виключення середнього: А не є одночасно і А, і не А.
Суть: речі або притаманна, або ні деяка властивість.
Судження може бути або істинним, або хибним.
Форми суджень у традиційній логіціФорми суджень у традиційній логіці
Кожне судження за Арістотелем повинно мати 4 елементи:
Квантор Суб'єкт Зв'язка Предикат
У традиційній логіціАрістотеля допускаються чотири форми суджень, кожна з
яких характеризує можливе відношення між класом суб'єктів S і класом
предикатів Р:
 Усі S є Р.
 Ніяке S не є Р.
Деякі з S є Р. Деякі з S є Р.
 Деякі з S не є Р.
Тут «Усі», «Ніяке» - квантори спільності (універсальні квантори);
«Деякі з» - квантор існування (екзистенційний квантор);
«є» і «не є» - зв'язки.
Всі
живі
істоти
є смертними
Квантор S PЗв’язка
Приклад виведення в дедуктивної системіАристотеляПриклад виведення в дедуктивної системіАристотеля
Всі
живі
істоти
є смертними
Квантор S PЗв’язка
Всі люди є живі істоти
Передумови:
узгодження
Процес такого умовиводу називається процесом виведення нових знань на основі
наявних (на основі передумов).
Великий недолік - логіка справедлива тільки для суджень; будь-яку проблему необхідно
представляти у вигляді сукупності суджень однієї з чотирьох допустимих форм.
Квантор S PЗв’язка
Всі люди є смертними
Квантор S PЗв’язка
Заключний висновок:
Дедуктивний висновок дляДедуктивний висновок для
висловлюваньвисловлювань
Логічні закони для формування висловлювань:
1) Modus Ponendo Ponens:
Якщо з Р слідує Q і Р істинне, то й Q - істинне, де Р і Q –
висловлювання.
2) ModusTollendoTollens:
Якщо з Р слідує Q і Q хибне, тоді й Р хибне.
3) Modus PonendoTollens:
Якщо і Р, і Q не можуть бути одночасно істинними і Р істинне,
тоді Q - хибне (що виключає «або»).
4) ModusTollendo Ponens:
Якщо або Р, або Q істинне і Р не істинно, то істинне Q (включає
«або» або диз'юнктивний силогізм).
Виникнення і розвиток формальної логікиВиникнення і розвиток формальної логіки
Приклад:
читає (Анна, книгу).
читає
предикат
Анна
Петро
Іван
книгу
журнал
газету
Ферже:
предикат (список аргументів).
При цьому під аргументами розуміють ті слова, які можуть
змінюватися в деяких межах, не змінюючи змісту висловлювання
в цілому, а під предикатом - та частина висловлювання, зміна
якої призводить до зміни змісту висловлювання.
Метою Ферже було створення загальної теорії відношень.
Після Ферже загальна теорія відношень отримала назву логіки
предикатів.
Логіка висловлюваньЛогіка висловлювань
У логіці висловлювань з атомарних висловлювань за допомогою
логічних з’єднань можуть бути побудовані логічні формули.
Атомарним називається висловлювання, яке може мати логічне
значення і не може бути розділене на компоненти. Атомарні
висловлювання позначаються пропозиціональними змінними, що
приймають значення ІСТИНА (T) і ХИБНЕ (F).
Логічні з'єднання (зв'язки):
∨
Логічні з'єднання (зв'язки):
 примітивні (¬, ∨, &);
 непримітівні (імплікація →, еквівалентність ↔).
Зміст непримітівних з'єднань виводиться через зміст примітивних:
p → q = ~ p ∨ q; p ↔ q = (p & q) ∨ (¬ p & ¬ q).
Тут еквіваленція p ↔ q - нове висловлювання, яке вважається
істінним тоді і тільки тоді, коли p і q або одночасно істинні, або
одночасно хибні.
Приклад побудови теорії в логіціПриклад побудови теорії в логіці
висловлюваньвисловлювань
Опишемо ставлення Петра до англійської мови. Опис природньою мовою:
(1) Якщо Петро цікавиться англійською мовою, то або він запишеться на
факультатив, або він ледачий.
(2) Якщо Петро самостійно вивчає англійську мову, то він цікавиться
англійською мовою.
(3) Петро самостійно вивчає англійську мову.
(4) Петро не ледачий.
Виділяємо атомарні висловлювання: Позначення: Лог. зв'язки:
Петро запишеться на факультатив. A D → A ∨ B
Петро ледачий. B C → D
Петро самостійно вивчає мову. C C
Петро цікавиться англійською мовою. D ¬ B
Логіка предикатівЛогіка предикатів
У логіці предикатів ми маємо справу з атомарними формулами,
логічними зв‘язками та ППФ.
У логіці предикатів атомарна формула складається з символічного
позначення предиката і термів, які виступають в ролі аргументів цього
предиката:
предикат (список термів).
У загальному випадку позначення предиката - це ім'я відношення, що
існує між аргументами:існує між аргументами:
p (t1, t2, ..., tn).
Під термом розуміють або константу, або змінну, або виклик
(використання) функції.
У логіці предикатів прийняті наступні позначення:
a, b, c - константи,
f, g, h - функції,
x, y, z - змінні,
P, Q, R – предикати.
Функції та відношення в логіці предикатівФункції та відношення в логіці предикатів
Приклад 1.
Область знань - арифметика,
область інтерпретації – множина натуральних чисел.
Функція «множення»: МНОЖ (3,2) → 6.
Число 6 називається значенням даного використання функції
«множення».
Приклад 2.
Область знань - родинні стосунки між деякою особою на ім'я Іван і
деякими іншими людьми, з якими він спілкувався на сімейній вечері.
Область інтерпретації – множина людей: Іван, Петро - двоюрідний брат
Івана, Михайло - двоюрідний брат Івана, Марія - подруга Михайла:
{Іван, Петро, Михайло, Марія}.
Оскільки нас цікавлять тільки родинні зв'язки, то той факт, що хтось є
подругою людини з заданої області інтерпретації повинен бути описаний за
допомогою функції:
подруга ("Михайло") → "Марія«.
Приклад побудови теорії для предметної областіПриклад побудови теорії для предметної області
«Сімейна вечеря»«Сімейна вечеря»
Вибір позначень для представлення елементів області інтерпретації.
Константи: а - Петро, b - Іван, c - Михайло.
Функції: f («Михайло») = «Марія».
У висновку для відносини «двоюрідний брат» вводимо предикат
P: P (X,Y) - X є двоюрідним братом Y.
P (a, b) – істина P (a, f(c)) – хибне
P (a, c) – хибне P (f(c), a) – хибне
P (b, a) – істина P (b, f(c)) – хибне
P (b, c) – істина P (f(c), b) – хибне
P (c, a) – хибне P (c, f(c)) – хибне
P (c, b) – істина P (f(c), c) – хибне
Фразова форма записуФразова форма запису
Фразова форма логіки предикатів - це спосіб запису формул,
при якому вживаються тільки зв‘язки &, ∨ і ¬.
Літерал - це позитивна чи негативна атомарна формула.
Фраза - множина літералів, з'єднаних символом ∨. Негативні
літерали розміщуються вкінці кожної фрази, а позитивні -
напочатку.Схематичний вигляд фрази:
∨ ∨ ∨ ∨ ∨ ∨ ∨
∨
P1 ∨ P2 ∨ ... ∨ Pn ∨ N1 ∨ N2 ∨ ... ∨ Nn
Тут P1 ... Pn - позитивні літерали, а N1 ... Nn - негативні
літерали.
Фразу можна розглядати як узагальнення поняття імплікації.
Дійсно, якщо A і B - атомарні формули, то A - → B може бути
записана як ¬A ∨ B. Оскільки ¬A - негативно, а B - позитивно, то
фразова форма матиме вигляд: B ∨ ¬A.
Фрази Хорна та резолюціїФрази Хорна та резолюції
Фраза Хорна (хорнівскій диз'юнкт) - це фраза, що
містить тільки один позитивний літерал.
Правило резолюції подібне до диз'юнктивного
силогізму (ModusTollendo Ponens).
Дві фрази можуть бути резольвовані одна з одною,
якщо одна з них містить позитивний літерал, а інша -якщо одна з них містить позитивний літерал, а інша -
відповідний негативний літерал з одним і тим же
позначенням предиката і однаковою кількістю аргументів,
причому аргументи обох літералів можуть бути
уніфіковані (тобто узгоджені) один з одним.
Характерні особливостіХарактерні особливості PrologProlog--уу
 Для представлення знань використовуються фрази Хорна;
 Програма описує логічну модель предметної області у
вигляді фактів щодо властивостей предметної області і
відношень між цими властивостями + правила виведення
нових властивостей і відношень з уже заданих;
 Використання терма як єдиної структури даних;
 Відсутність операторів присвоювання, розгалужень,
безумовних переходів та покажчиків.
 Для пояснення змісту програми застосовуються три
семантичні моделі: декларативна, процедурна моделі та
модель у вигляді абстрактної машини.
Синтаксис предикатів численняСинтаксис предикатів числення
 Представлення фактів та правил
English Pred
calculus
Prolog
and ,
Or ;
Only if :-
not not




ФактиФакти,, ПравилаПравила і Запитиі Запити
 База знань фактів – терми, які супроводжуються повною зупинкою.
◦ parent(ayah, saya). %ayah is my parent
◦ parent(mak, saya).
◦ female(mak). %mak is a female
◦ male(ayah).
– Правила – утворюють нове знання
◦ mother(X,Y) :-
parent(X,Y) , female(X).
%X is mother ofY if X is parent ofY and X is female
 Запит – теж сформовані терми , які супроводжуються повною
зупинкою
◦ goal
parent(X,saya). %who is my parent
ФактиФакти
Факт - це запис такого відношення, значення якого істинно.
Форма запису факту:
імя_предиката (аргумент {, аргумент}).
При цьому:
1) Всі імена предикатів і аргументів повинні починатися з рядкової
латинської літери.
2) Перерахування аргументів - через кому.2) Перерахування аргументів - через кому.
3) Кожен факт повинен закінчуватися крапкою.
4) Кількість аргументів і вид відношень (напрямки відношень)
визначаються програмістом і не змінюються при виконанні програми.
приклад:
факт: who_likes_what (ivan, programming)
не еквівалентний факту:
who_likes_what (programming, ivan),
оскільки має місце зміна напряму відношення: «Іван захоплюється
програмуванням»
Запис фактів в пролозіЗапис фактів в пролозі
В Пролозі тип відношень описується в розділі predicates:
who_likes_what (symbol, symbol)
При описі фактів і правил у розділі clauses програми на
Пролозі однойменні предикати повинні бути згруповані:
clausesclauses
who_likes_what (ivan, programming).
who_likes_what (ivan, reading).
who_likes_what (mary, reading).
У термінології Прологу будь-яка сукупність фактів (і правил)
називається базою даних.
PrologProlog командикоманди .... фактифакти
 Open Swi-Prolog window
 File-New-Type the facts and rules with full stops at the end
 Add facts to database
parent(ayah,saya).
parent(mak,saya).
female(mak).
male(ayah).
 Save- close file -backtoSwiprolog-File-Consult-choose file-open <enter>
ПравилаПравила
Під правилами в Пролозі розуміються найбільш
загальні твердження про об'єкти і відношення між
ними.
Пролог-правило має вигляд фразової форми:
висновок :- ум1, ум2, ..., умN.
Приклад правила:
common_interests (X,Y): -
who_likes_what (X, Z), who_likes_what (Y, Z), X <>Y.
 To add more facts and rules, eg.
 File- Edit –Choose File – type new rule to indicate
relation mother
mother(X,Y) :- parent(Y,X) , female(X).
Prolog команди … правила
mother(X,Y) :- parent(Y,X) , female(X).
 SaveSave--Close fileClose file
ЗапитиЗапити
Запис питань в Пролозі схожа з записом фактів і
відрізняється місцем розташування. Для формулювання
запитань у програмі на Пролозі існує розділ goal.
Звернення до Прологу з питанням ініціалізує процедуру
пошуку в базі даних, раніше введеної в систему. Прологпошуку в базі даних, раніше введеної в систему. Пролог
переглядає БД в пошуках предиката, що може співставлятися
з питанням.
Предикати вважаються такими, що співпадають, якщо вони
збігаються посимвольно і їх відповідні аргументи попарно
збігаються. Якщо предикат-питання збігається з предикатом
одного з фактів / правил в БД, то питання узгоджується з БД.
При цьому відповіддю на питання буде або Yes, або No.
Використання змінних в запитахВикористання змінних в запитах
Під змінною в Пролозі розуміють будь-яке ім'я, яке починається з
прописної латинської літери. Приклади: Who,What, Ivan.
Змінна називається конкретизованою, якщо існує об'єкт, який вона
позначає. Якщо не відомо, що саме позначає змінна, то вважається, що
змінна не конкретизована.
У запитах змінні використовуються для того, щоб знайти деякий об'єкт.
Приклад: who_likes_what (ivan, X)Приклад: who_likes_what (ivan, X)
відповіддю буде:
X = programming
X = reading 2 Solutions
Yes
Якщо позначений змінною об'єкт не має значення в даному контексті,
то використовується анонімна змінна ( _ ).
Складні запитиСкладні запити
Приклад. Вияснимо, чи мають Іван і Марія спільні інтереси.
goal
who_likes_what (ivan, X), who_likes_what (mary, X).
Спочатку узгодимо who_likes_what (ivan, X). Змінна X конкретизується:
X = programming.
Тепер намагаємося узгодити
who_likes_what (mary, programming).who_likes_what (mary, programming).
Даний факт відсутній в БД.Тому Пролог автоматично розконкретизує
змінну X. Потім Пролог намагається узгодити твердження:
who_likes_what (ivan, reading), who_likes_what (mary, reading).
Обидва факти, що входять у вираз, присутні в БД. Інших альтернатив
для who_likes_what (ivan, X) немає і в якості результату буде видано:
X = reading, 1 solution,Yes.
Показаний процес отримав назву пошуку з поверненням.
 Type at the command line for query. Use
symbol ; to list next parent
PrologProlog командикоманди....запитизапити..
goal
parent(X,saya),parent(X,saya),
female(ayah),
male(X).
Перша програмаПерша програма
Факти
Горобець – це птах.
Горобець – батько пташеняти.
Правило висновку
Дехто є птахом за умови, що у
 Запит
◦ птах (Z)
 Всі можливі
рішення:
Дехто є птахом за умови, що у
нього є батько - птах.
Програма
птах (горобець).
птах (X):– батько(Y, X),
птах(Y).
батько(горобець, пташеня).
рішення:
◦ Z = горобець
◦ Z = пташеня
Перша програмаПерша програма
PREDICATES
bird (symbol)
parent (symbol, symbol)
CLAUSES
bird (sparrow).bird (sparrow).
bird (X) :- parent (Y, X), bird (Y).
parent (sparrow, nestling).
Goal: bird (Z)
Z = sparrow
Z = nestling
Перша програмаПерша програма
PREDICATES
bird (symbol)
parent (symbol, symbol)
CLAUSES
bird («горобець»).Факт
Факт
bird («горобець»).
bird (X):– parent (Y, X), bird (Y).
parent («горобець», «пташеня»).
Goal: bird (Z)
Z = «горобець»
Z = «пташеня»
Факт
Правило висновку
Зовнішня ціль
Узгодження цільових твердженьУзгодження цільових тверджень
Для доведення цільових тверджень Пролог використовує відомі
твердження.
Якщо підціль являє собою факт, то узгодження закінчується, як
тільки факт буде знайдений в базі. Якщо підціль є правилом, то
задача зводиться до кон'юнкції предикатів-підцілей.
При узгодженні Пролог керується такими правилами:При узгодженні Пролог керується такими правилами:
 Константа рівна тільки сама собі;
 Змінна може бути конкретизована будь-яким об'єктом Прологу;
 Структури співпадають, якщо збігаються їх функтори, стан і
кількість аргументів.
Для кожної підцілі Пролог генерує свій маркер. Якщо цільове
твердження не доведено, збуджується процесс повернення.
Розгляд цільових тверджень приРозгляд цільових тверджень при
використанні механізму поверненнявикористанні механізму повернення
Якщо цільове твердження не доведено, здійснюється повернення за
«ланцюжком доказів» у місце вибору твердження для узгодження
заново відповідних цільових тверджень.
При цьому Пролог намагається знайти альтернативне твердження,
що відповідає даній цілі.
Спочатку відбувається розконкретизація всіх змінних, що булиСпочатку відбувається розконкретизація всіх змінних, що були
конкретизовані в ході доведення даного цільового твердження.
Потім поновлюється пошук у базі даних, починаючи з поміченого
маркером місця. Якщо буде знайдено інше твердження, яке відповідає
цільовому, Пролог помістить в це місце маркер, пошук у базі даних
продовжиться, починаючи з поміченого місця.
Приклад узгодження цільового твердженняПриклад узгодження цільового твердження
Факт не виявлено, M і
F розконкрети-
зовуються
Успішне узгодження
Поняття «зчеплених змінних»Поняття «зчеплених змінних»
У ряді випадків узгодження цільових тверджень деяка, спочатку
неконкретизована, змінна X може бути автоматично конкретизована
значенням іншої змінної Y. В таких випадках говорять, що змінні X і Y стають
зчепленими.
Приклад відношення «рідна сестра»:
sister (X,Y): -
woman (X), parent (X, Mother, Father), parent (Y, Mother, Father).woman (X), parent (X, Mother, Father), parent (Y, Mother, Father).
Узгодження цільового твердження sister («Марія», Y) призведе в одному з
можливих випадків успішного доведення до конкретізаціі Y значенням
«Марія».
Для запобігання породження небажаних рішень як наслідок зчеплення
змінних, в тіло правила слід вводити додаткові твердження для контролю
взаємних співвідношень значень змінних в заголовку правила:
sister (X,Y): -
not (X =Y), woman (X), parent (X, Mother, Father), parent (Y, Mother, Father).
ВправаВправа
Family relationshipsFamily relationships
1) Предикати
male/1, female/1, parent_of/2
для представлення Prolog бази знань
father(Father,Child) mother(Mother,Child)
2) Сформулюйте правила:
father(Father,Child) mother(Mother,Child)
grandparent(Grandparent,Child)
sister(Sister,Person)
grandchild(Grandchild,Child)
father_of(X,Y) :- male(X), parent(X,Y).
grandparent(X,Z) :- parent(X,Y), parent(Y, Z).
Any
Questions
ThanksThanks

More Related Content

What's hot

мгсд тема 7 презентація сувеніри
мгсд тема 7 презентація сувеніримгсд тема 7 презентація сувеніри
мгсд тема 7 презентація сувеніри
Богдан Пащенко
 
Апсайклінг - творчий підхід до застосування відходів
Апсайклінг - творчий підхід до застосування відходівАпсайклінг - творчий підхід до застосування відходів
Апсайклінг - творчий підхід до застосування відходів
Снежана Дужук
 
презентація до уроку вступ біологія 6 клас
презентація до уроку вступ біологія 6 класпрезентація до уроку вступ біологія 6 клас
презентація до уроку вступ біологія 6 клас
polyna19
 
класифікація методів фінансового аналізу
класифікація методів фінансового аналізукласифікація методів фінансового аналізу
класифікація методів фінансового аналізуДмитро Резніченко
 
Пізнавальні та творчі завдання з хімії
Пізнавальні та творчі завдання з хіміїПізнавальні та творчі завдання з хімії
Пізнавальні та творчі завдання з хімії
Елена Мешкова
 
Комп’ютерні мережі та інтернет
Комп’ютерні мережі та інтернетКомп’ютерні мережі та інтернет
Комп’ютерні мережі та інтернет
Наталья Коба
 
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
Andy Levkovich
 
Трудове навчання 6 кл. для дівчат 2014
Трудове навчання 6 кл. для дівчат 2014Трудове навчання 6 кл. для дівчат 2014
Трудове навчання 6 кл. для дівчат 2014
falkovolodymyr
 
"Кривенька качечка" Презентація до уроку
"Кривенька качечка" Презентація до уроку"Кривенька качечка" Презентація до уроку
"Кривенька качечка" Презентація до уроку
Наталія Касарда
 
Тема 3. Теорія граничної корисності та поведінка споживача
Тема 3. Теорія граничної корисності та поведінка споживачаТема 3. Теорія граничної корисності та поведінка споживача
Тема 3. Теорія граничної корисності та поведінка споживача
Alex Grebeshkov
 
розкрій деталей м’якої іграшки
розкрій деталей м’якої іграшкирозкрій деталей м’якої іграшки
розкрій деталей м’якої іграшкиЕлена Мисюр
 
презентація кільчасті черви.Pptx
презентація  кільчасті черви.Pptxпрезентація  кільчасті черви.Pptx
презентація кільчасті черви.Pptx
Елена Новохатняя
 
Поняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. МоделюванняПоняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. Моделювання
dnzcpto1
 
ПАРАДОКСИ ЗАКОНУ ПОПИТУ
ПАРАДОКСИ ЗАКОНУ ПОПИТУПАРАДОКСИ ЗАКОНУ ПОПИТУ
ПАРАДОКСИ ЗАКОНУ ПОПИТУ
Alex Grebeshkov
 
Урок – проект презентація про ялинку
Урок – проект презентація про ялинкуУрок – проект презентація про ялинку
Урок – проект презентація про ялинку
Ковпитська ЗОШ
 
Моделі виборчої кампанії. Чоловська О. ФФІ 51
Моделі виборчої кампанії. Чоловська О. ФФІ 51Моделі виборчої кампанії. Чоловська О. ФФІ 51
Моделі виборчої кампанії. Чоловська О. ФФІ 51
Олександра Чоловська
 
Стиль готика
Стиль готикаСтиль готика
Стиль готика
Nataly Petliovana
 
презентація 2
презентація 2презентація 2
презентація 2
elena1807
 

What's hot (20)

мгсд тема 7 презентація сувеніри
мгсд тема 7 презентація сувеніримгсд тема 7 презентація сувеніри
мгсд тема 7 презентація сувеніри
 
Апсайклінг - творчий підхід до застосування відходів
Апсайклінг - творчий підхід до застосування відходівАпсайклінг - творчий підхід до застосування відходів
Апсайклінг - творчий підхід до застосування відходів
 
презентація до уроку вступ біологія 6 клас
презентація до уроку вступ біологія 6 класпрезентація до уроку вступ біологія 6 клас
презентація до уроку вступ біологія 6 клас
 
класифікація методів фінансового аналізу
класифікація методів фінансового аналізукласифікація методів фінансового аналізу
класифікація методів фінансового аналізу
 
4 пріони
4 пріони4 пріони
4 пріони
 
Пізнавальні та творчі завдання з хімії
Пізнавальні та творчі завдання з хіміїПізнавальні та творчі завдання з хімії
Пізнавальні та творчі завдання з хімії
 
Комп’ютерні мережі та інтернет
Комп’ютерні мережі та інтернетКомп’ютерні мережі та інтернет
Комп’ютерні мережі та інтернет
 
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
Аплікація з підручних матеріалів (трудове навчання, 5 клас, теоретичний матер...
 
Трудове навчання 6 кл. для дівчат 2014
Трудове навчання 6 кл. для дівчат 2014Трудове навчання 6 кл. для дівчат 2014
Трудове навчання 6 кл. для дівчат 2014
 
Н.Курушкіна. «Весна іде»: індивідуальне заняття з розвитку слухового сприйман...
Н.Курушкіна. «Весна іде»: індивідуальне заняття з розвитку слухового сприйман...Н.Курушкіна. «Весна іде»: індивідуальне заняття з розвитку слухового сприйман...
Н.Курушкіна. «Весна іде»: індивідуальне заняття з розвитку слухового сприйман...
 
"Кривенька качечка" Презентація до уроку
"Кривенька качечка" Презентація до уроку"Кривенька качечка" Презентація до уроку
"Кривенька качечка" Презентація до уроку
 
Тема 3. Теорія граничної корисності та поведінка споживача
Тема 3. Теорія граничної корисності та поведінка споживачаТема 3. Теорія граничної корисності та поведінка споживача
Тема 3. Теорія граничної корисності та поведінка споживача
 
розкрій деталей м’якої іграшки
розкрій деталей м’якої іграшкирозкрій деталей м’якої іграшки
розкрій деталей м’якої іграшки
 
презентація кільчасті черви.Pptx
презентація  кільчасті черви.Pptxпрезентація  кільчасті черви.Pptx
презентація кільчасті черви.Pptx
 
Поняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. МоделюванняПоняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. Моделювання
 
ПАРАДОКСИ ЗАКОНУ ПОПИТУ
ПАРАДОКСИ ЗАКОНУ ПОПИТУПАРАДОКСИ ЗАКОНУ ПОПИТУ
ПАРАДОКСИ ЗАКОНУ ПОПИТУ
 
Урок – проект презентація про ялинку
Урок – проект презентація про ялинкуУрок – проект презентація про ялинку
Урок – проект презентація про ялинку
 
Моделі виборчої кампанії. Чоловська О. ФФІ 51
Моделі виборчої кампанії. Чоловська О. ФФІ 51Моделі виборчої кампанії. Чоловська О. ФФІ 51
Моделі виборчої кампанії. Чоловська О. ФФІ 51
 
Стиль готика
Стиль готикаСтиль готика
Стиль готика
 
презентація 2
презентація 2презентація 2
презентація 2
 

Viewers also liked

Lect ai 3 ga
Lect ai 3  gaLect ai 3  ga
Lect ai 3 ga
Halyna Melnyk
 
Lect ai 2 nn
Lect ai 2 nnLect ai 2 nn
Lect ai 2 nn
Halyna Melnyk
 
Lect 3 4 prolog
Lect 3 4 prologLect 3 4 prolog
Lect 3 4 prolog
Halyna Melnyk
 
Lect аі 2 n net p2
Lect аі 2 n net p2Lect аі 2 n net p2
Lect аі 2 n net p2
Halyna Melnyk
 
Метод имитации отжига
Метод имитации отжигаМетод имитации отжига
Метод имитации отжига
Kirill Netreba
 
Sql global
Sql globalSql global
Sql global
Halyna Melnyk
 
Lect 5 prolog
Lect 5 prologLect 5 prolog
Lect 5 prolog
Halyna Melnyk
 
Lect 6 prolog
Lect 6 prologLect 6 prolog
Lect 6 prolog
Halyna Melnyk
 
Lect 2 prolog
Lect 2 prologLect 2 prolog
Lect 2 prolog
Halyna Melnyk
 
Sql db
Sql dbSql db
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
Александр Дьяконов
 
Pandas: обзор основных функций
Pandas: обзор основных функцийPandas: обзор основных функций
Pandas: обзор основных функций
Александр Дьяконов
 

Viewers also liked (12)

Lect ai 3 ga
Lect ai 3  gaLect ai 3  ga
Lect ai 3 ga
 
Lect ai 2 nn
Lect ai 2 nnLect ai 2 nn
Lect ai 2 nn
 
Lect 3 4 prolog
Lect 3 4 prologLect 3 4 prolog
Lect 3 4 prolog
 
Lect аі 2 n net p2
Lect аі 2 n net p2Lect аі 2 n net p2
Lect аі 2 n net p2
 
Метод имитации отжига
Метод имитации отжигаМетод имитации отжига
Метод имитации отжига
 
Sql global
Sql globalSql global
Sql global
 
Lect 5 prolog
Lect 5 prologLect 5 prolog
Lect 5 prolog
 
Lect 6 prolog
Lect 6 prologLect 6 prolog
Lect 6 prolog
 
Lect 2 prolog
Lect 2 prologLect 2 prolog
Lect 2 prolog
 
Sql db
Sql dbSql db
Sql db
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
 
Pandas: обзор основных функций
Pandas: обзор основных функцийPandas: обзор основных функций
Pandas: обзор основных функций
 

Similar to Lect 1 intro

підручник володіна
підручник володінапідручник володіна
підручник володіна
School5uman
 
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІКПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ИППО
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
Irina Tabanets
 
10 in b_2018
10 in b_201810 in b_2018
10 in b_2018
4book
 
Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018
kreidaros1
 
умцкмци
умцкмциумцкмци
умцкмци
Sergii Perun
 
інформатика 9 кл
інформатика 9 клінформатика 9 кл
інформатика 9 кл
Школа Леди и Кадетство
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua
Ekaterina Gulya
 
Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.
oleg379
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua
4book
 
9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр
Aira_Roo
 
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Oleksii Voronkin
 
8 i b_2016
8 i b_20168 i b_2016
8 i b_2016
Svinka Pepa
 
Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016
kreidaros1
 
Використання нечітких множин в експертних системах
Використання нечітких множин в експертних системахВикористання нечітких множин в експертних системах
Використання нечітких множин в експертних системах
Serhii Yatsiuk
 
8_i_b_2021.pdf
8_i_b_2021.pdf8_i_b_2021.pdf
8_i_b_2021.pdf
4book
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020
kreidaros1
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_2020
4book
 
1
11
Iнформатика
Iнформатика  Iнформатика
Iнформатика
Лидия Рудакова
 

Similar to Lect 1 intro (20)

підручник володіна
підручник володінапідручник володіна
підручник володіна
 
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІКПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
 
10 in b_2018
10 in b_201810 in b_2018
10 in b_2018
 
Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018
 
умцкмци
умцкмциумцкмци
умцкмци
 
інформатика 9 кл
інформатика 9 клінформатика 9 кл
інформатика 9 кл
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua
 
Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua
 
9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр
 
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
 
8 i b_2016
8 i b_20168 i b_2016
8 i b_2016
 
Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016
 
Використання нечітких множин в експертних системах
Використання нечітких множин в експертних системахВикористання нечітких множин в експертних системах
Використання нечітких множин в експертних системах
 
8_i_b_2021.pdf
8_i_b_2021.pdf8_i_b_2021.pdf
8_i_b_2021.pdf
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_2020
 
1
11
1
 
Iнформатика
Iнформатика  Iнформатика
Iнформатика
 

More from Halyna Melnyk

Sql pl
Sql plSql pl
Sql granting
Sql grantingSql granting
Sql granting
Halyna Melnyk
 
Sql view
Sql viewSql view
Sql view
Halyna Melnyk
 
Sql select 3
Sql select 3Sql select 3
Sql select 3
Halyna Melnyk
 
Sql select 2
Sql select 2Sql select 2
Sql select 2
Halyna Melnyk
 
Sql select 1
Sql select 1Sql select 1
Sql select 1
Halyna Melnyk
 
Sql dml
Sql dmlSql dml
Sql dml
Halyna Melnyk
 
Sql ddl
Sql ddlSql ddl
Sql ddl
Halyna Melnyk
 

More from Halyna Melnyk (8)

Sql pl
Sql plSql pl
Sql pl
 
Sql granting
Sql grantingSql granting
Sql granting
 
Sql view
Sql viewSql view
Sql view
 
Sql select 3
Sql select 3Sql select 3
Sql select 3
 
Sql select 2
Sql select 2Sql select 2
Sql select 2
 
Sql select 1
Sql select 1Sql select 1
Sql select 1
 
Sql dml
Sql dmlSql dml
Sql dml
 
Sql ddl
Sql ddlSql ddl
Sql ddl
 

Recently uploaded

Главлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdfГлавлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
olaola5673
 
Основи_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdfОснови_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdf
olaola5673
 
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdfPOPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
Olga Kudriavtseva
 
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
tetiana1958
 
29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx
Репетитор Історія України
 
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
estet13
 
Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»
Vinnytsia Regional Universal Scientific Library named after Valentin Otamanovsky
 
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdfLOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
Olga Kudriavtseva
 
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdfKUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
Olga Kudriavtseva
 
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdfПідсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
ssuser7541ef1
 

Recently uploaded (10)

Главлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdfГлавлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
 
Основи_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdfОснови_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdf
 
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdfPOPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
 
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
 
29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx
 
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
 
Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»
 
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdfLOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
 
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdfKUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
 
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdfПідсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
 

Lect 1 intro

  • 1. Логічні алгоритмиЛогічні алгоритми та системи штучного інтелектута системи штучного інтелекту
  • 2. Предмет вивченняПредмет вивчення  ЛОГІЧНЕ ПРОГРАМУВАННЯ мова програмування Prolog (Programming in logic)  СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ генетичні алгоритми методи нечіткої логіки нейронні мережі
  • 3. Зміст курсуЗміст курсу  8 семестр Лекції – 26 годин (13 лекцій) Лабораторні роботи – 26 годин  В сесію Іспит Два теоретичних питання Тестові завдання Одна практична задача (Prolog)Одна практична задача (Prolog)  … система І модуль 4 лабораторні роботи – 25 балів Контрольна робота – 10 балів Разом – 35 балів ІІ модуль 4 лабораторні роботи – 35 балів Разом – 35 балів  Іспит – 30 балів
  • 4. ДжерелаДжерела ◦ Братко И. Алгоритмы искусственного интеллекта на языке Prolog. – М. : Вильямс , 2004. – 637 с. ◦ Шрайнер П.А. Основы программирования на языке Пролог : курс лекций : учебное пособие для вузов по специальностям информационных технологий. – М. : Интернет-Университет Информационных Технологий , 2005. – 172 с. ◦ Джонс м.Т. Программирование искусственного интеллекта в приложениях. – М.: ДМК Пресс, 2004. ◦ Осовский С. Нейронные сети для обработки информации / Пер. С польського И.Д. Рудинского.- М.: Финансы и статистика, 2002.- 344 с.: ил. ◦ Девятков В.В. Системы искусственного интеллекта: Учеб. Пособие для вузов. – М.: Изд –во МГУ им. Н.Э. Баумана, 2001. – 352 с., ил. ◦ Рассел, Стюарт, Норвиг, Питер. Искусственный интелект:современный поход, 2-е узд.: Пер. С англ.. – М.-: Издательский дом «Вильямс», 2006. – 1408 с.: ил. ◦ Адаменко А.Н., Кучуков А.М. Логическое программирование иVisual Prolog. – СПб.: БХВ- Петербург, 2003. – 992 С. ◦ Хайкин, Саймон Нейронные сети: полный курс, 2-е издание.: Пер. с англ.. – М.: Издательский дом «Вильямс», 2006. – 1104 с.: ил. – Папал.Тит. Англ. ◦ Рутковская Д., Пилинский м., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. – М.: Горячая линия –Телеком, 2006. – 452 с.: ил. ◦ Яхъева Г.Э. Нечеткие множества и нейронные сети: Учебное пособие/ Г.Э. Яхъева. – М.: Интернет – Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – 316 с.: ил., табл. ◦ Лю Б.Теория и практика неопределенного программирования / Б. Лю; Пер. с англ.. – М.: БИНОМ. Лаборатория знаний, 2005. – 416 с.: ил.
  • 6. ВступВступ Мета – можливість відтворити здатність людського мозку до дослідження, аналізу та висновків • Наука проектування та створення інтелектуальних машин, особливо – програм штучного інтелектумашин, особливо – програм штучного інтелекту
  • 7. Чи є межа розвитку інтелектуальнихЧи є межа розвитку інтелектуальних машинмашин??  Інтелект: “здатність до навчання та вирішення задач”  Штучний Інтелект: ◦ Штучний Інтелект (AI) інтелект пристроїв,◦ Штучний Інтелект (AI) інтелект пристроїв, роботів та галузь науки, яка ставить за мету їх створення  можливість розв’язання задач  можливість раціонально діяти  можливість діяти як людина
  • 8. Історія АІ  Класичні філософи  Programmable Digital Computers (1940)  1943-1956: • McCulloch & Pitts: Boolean circuit model of• McCulloch & Pitts: Boolean circuit model of brain (Логічна схема моделі мозку) • Dartmouth : поява визначення "Artificial Intelligence“  Золоті роки 1956−1974
  • 9.  1986– Піднесення “machine learning” ◦ Повернення популярності НМ (Neural networks) ◦ Більшість досягнень в напрямку розробки machine learning алгоритмів та додатків 1995-- AI – це наука machine learning  1995-- AI – це наука ◦ Інтеграція навчання, міркування, подання знань ◦ Методи AI використовуються в «зорі» (баченні), лінгвістиці, інтелектуальному аналізі даних тощо.
  • 10.  2006: ПЗ розпізнавання образів доступне в камерах  2003-2007 робот за кермом: DARPA grand challenge  Feb 2011 надійшли запитання, на які може відповісти робот …
  • 11. Чи можуть AI системи праяцювати так ефективно, як праяцювати так ефективно, як Мозок Людини?????
  • 12.  Наскільки складний наш мозок? ◦ Нейрон ◦ 10 12 нейронів в мозку ◦ І набагато більше синапсів (10 14) сполучають ці нейрони ◦ Час циклу: 10 -3 секунди  Наскільки складними можна зробити комп‘ютери? ◦ 108 CPU комп‘ютери? ◦ 108 чи більше транзисторів в CPU ◦ Суперкмп’ютер: сотні CPUs, 1012 bits RAM ◦ Час циклу : сягає 10 - 9 секунд  Висновок ТАК ◦ Замало взаємозв'язків (проводів чи синапсів) ◦ Швидші
  • 13. AIAI ----додаткидодатки:: “Природня мова” Експертні системи Проектування роботів Машинне навчанняМашинне навчання Ігрові задачі
  • 15. “Природня мова”“Природня мова”  Розробка та створення ПЗ для аналізу, розуміння та генерування мови, природньо зрозумілої людині
  • 17. Розпізнавання мовиРозпізнавання мови  Процес перетворення звукового сигналу з мікрофону чи телефону в множину слів.множину слів.  70-100 слів/хв з точністю до 90%
  • 18. Машинний (компМашинний (комп’’ютерний зір)ютерний зір)  Здатність машини до вилучення інформації з образу для вирішення необхіднї задачі  отримання зображення  обробка зображення  аналіз зображення  розуміння зображення
  • 19. Інтелектуальний роботІнтелектуальний робот  Радше імітація здібності людини до отримання інформації та прийняття рішень зприйняття рішень з метою адаптації до певних умов і змін своїх дії.
  • 20. Експертні системиЕкспертні системи  ПЗ для прийняття рішень .  Автоматизоване міркування та доведення теорем.доведення теорем.  Експертні системи пошуку та усунення несправностей.  Експертні системи фондового ринку.
  • 21. В чому різницяВ чому різниця ???????????????? Artificial Intelligence НЕ творчий Natural Intelligence ТворчийНЕ творчий Точний Узгоджений Багатозадачний Творчий Може помилятися Не узгоджений Некерований
  • 22. МовиМови Дослідники АІ розробили кілька спеціалізованих мов програмування для штучного інтелекту, зокрема IPL, Lisp, Prolog,штучного інтелекту, зокрема IPL, Lisp, Prolog, STRIPS, Planner, POP-11 тощо.
  • 23. КласифікаціяКласифікація Мови програмування Алгоритмічні Декларативні Алгоритмічні (процедурні) мови (Fortran, Pascal, C, …) Декларативні (неалгоритмічні) мови Мови логічного програмування (Prolog, …) Мови функціонального програмування (Lisp, …)
  • 25. ПорівнянняПорівняння LISP Функціональне PROLOG Функціональне програмування Загальна ціль Пропонує широкий спектр завдань, простіший у використанні Не вимагає підтримки Прологу Логічне програмування Специфічне використання Легша у вивченні Підтримка різнонаправлених міркувань
  • 26. Створення мовиСтворення мови PrologProlog  1879 - Фержен публікує роботу «Концептуальна мова», викладає основи загальної теорії відношень.  1965 - Дж. Е.Робінсон «Машинно-орієнтована логіка, заснована на принципі резолюції».  1968 – Лавленд «Автоматичне доведення теорем 1968 – Лавленд «Автоматичне доведення теорем шляхом усунення моделей».  1971 - Ковальські і Куенер «Лінійний відбір за допомогою функції резолюції» - принципи логіки предикатів.  1973 - Кольмерор в Марселі створив перший Пролог- інтерпретатор на Фортрані.
  • 27. Створення мовиСтворення мови PrologProlog  1977 - Уоррен і Перейра, Единбург, інтерпрететор / компілятор Прологу для ЕОМ DEC-10, перша реалізація «машини Уоррена» як прототипу наступних Пролог- реалізацій.  1981 - інститут ICOT, Японія, проект ЕОМ п'ятого покоління.покоління.  1982 -Том Остербі (Відділ Інформатики Данського Технічного Університету) розробив Пролог- інтерпретатор для комп'ютера VAX.  1984 - Джон Гофман, Лео Йенсен і Фінн Гронський (Відділ Інф-ки Дат.Тех.Ун-т) розробили Пролог- компілятор для IBM PC.  1993 - під кер. Лео Йенсена розробляється Visual Prolog.
  • 28. Сучасний станСучасний стан  Visual Prolog 7.4  Розробкою мови займається фірма PDC Prolog Development CenterProlog Development Center ◦ http://www.pdc.dk  Версії Prolog’а ◦ Turbo Prolog ◦ PDC Prolog ◦ Visual Prolog
  • 29.
  • 30.
  • 31.
  • 32. Теоретичні дослідженняТеоретичні дослідження в сфері формалізації мисленняв сфері формалізації мислення Традиційна логіка Формальна логікаФормальна логіка Логіка висловлювань Логіка предикатів
  • 33. Традиційна логіка та її закониТрадиційна логіка та її закони Завдання виявити критерій істинності суджень у полеміці. Аристотель ввів поняття судження. Під судженням розуміється закінченаПід судженням розуміється закінчена думка, що висловлена у формі простого речення природної мови.
  • 34. Традиційна логіка та її закониТрадиційна логіка та її закони Аристотелем виведені три закони традиційної логіки: 1.Тотожність: А є А. Суть: деяка річ завжди рівна самій собі. Судження означає тільки саме себе. 2. Суперечливість: А не є не А. Суть: річ не може одночасно володіти і не володіти деякоюодночасно володіти і не володіти деякою властивістю; ніяке судження не є одночасно і істинним і хибним. 3. Виключення середнього: А не є одночасно і А, і не А. Суть: речі або притаманна, або ні деяка властивість. Судження може бути або істинним, або хибним.
  • 35. Форми суджень у традиційній логіціФорми суджень у традиційній логіці Кожне судження за Арістотелем повинно мати 4 елементи: Квантор Суб'єкт Зв'язка Предикат У традиційній логіціАрістотеля допускаються чотири форми суджень, кожна з яких характеризує можливе відношення між класом суб'єктів S і класом предикатів Р:  Усі S є Р.  Ніяке S не є Р. Деякі з S є Р. Деякі з S є Р.  Деякі з S не є Р. Тут «Усі», «Ніяке» - квантори спільності (універсальні квантори); «Деякі з» - квантор існування (екзистенційний квантор); «є» і «не є» - зв'язки. Всі живі істоти є смертними Квантор S PЗв’язка
  • 36. Приклад виведення в дедуктивної системіАристотеляПриклад виведення в дедуктивної системіАристотеля Всі живі істоти є смертними Квантор S PЗв’язка Всі люди є живі істоти Передумови: узгодження Процес такого умовиводу називається процесом виведення нових знань на основі наявних (на основі передумов). Великий недолік - логіка справедлива тільки для суджень; будь-яку проблему необхідно представляти у вигляді сукупності суджень однієї з чотирьох допустимих форм. Квантор S PЗв’язка Всі люди є смертними Квантор S PЗв’язка Заключний висновок:
  • 37. Дедуктивний висновок дляДедуктивний висновок для висловлюваньвисловлювань Логічні закони для формування висловлювань: 1) Modus Ponendo Ponens: Якщо з Р слідує Q і Р істинне, то й Q - істинне, де Р і Q – висловлювання. 2) ModusTollendoTollens: Якщо з Р слідує Q і Q хибне, тоді й Р хибне. 3) Modus PonendoTollens: Якщо і Р, і Q не можуть бути одночасно істинними і Р істинне, тоді Q - хибне (що виключає «або»). 4) ModusTollendo Ponens: Якщо або Р, або Q істинне і Р не істинно, то істинне Q (включає «або» або диз'юнктивний силогізм).
  • 38. Виникнення і розвиток формальної логікиВиникнення і розвиток формальної логіки Приклад: читає (Анна, книгу). читає предикат Анна Петро Іван книгу журнал газету Ферже: предикат (список аргументів). При цьому під аргументами розуміють ті слова, які можуть змінюватися в деяких межах, не змінюючи змісту висловлювання в цілому, а під предикатом - та частина висловлювання, зміна якої призводить до зміни змісту висловлювання. Метою Ферже було створення загальної теорії відношень. Після Ферже загальна теорія відношень отримала назву логіки предикатів.
  • 39. Логіка висловлюваньЛогіка висловлювань У логіці висловлювань з атомарних висловлювань за допомогою логічних з’єднань можуть бути побудовані логічні формули. Атомарним називається висловлювання, яке може мати логічне значення і не може бути розділене на компоненти. Атомарні висловлювання позначаються пропозиціональними змінними, що приймають значення ІСТИНА (T) і ХИБНЕ (F). Логічні з'єднання (зв'язки): ∨ Логічні з'єднання (зв'язки):  примітивні (¬, ∨, &);  непримітівні (імплікація →, еквівалентність ↔). Зміст непримітівних з'єднань виводиться через зміст примітивних: p → q = ~ p ∨ q; p ↔ q = (p & q) ∨ (¬ p & ¬ q). Тут еквіваленція p ↔ q - нове висловлювання, яке вважається істінним тоді і тільки тоді, коли p і q або одночасно істинні, або одночасно хибні.
  • 40. Приклад побудови теорії в логіціПриклад побудови теорії в логіці висловлюваньвисловлювань Опишемо ставлення Петра до англійської мови. Опис природньою мовою: (1) Якщо Петро цікавиться англійською мовою, то або він запишеться на факультатив, або він ледачий. (2) Якщо Петро самостійно вивчає англійську мову, то він цікавиться англійською мовою. (3) Петро самостійно вивчає англійську мову. (4) Петро не ледачий. Виділяємо атомарні висловлювання: Позначення: Лог. зв'язки: Петро запишеться на факультатив. A D → A ∨ B Петро ледачий. B C → D Петро самостійно вивчає мову. C C Петро цікавиться англійською мовою. D ¬ B
  • 41. Логіка предикатівЛогіка предикатів У логіці предикатів ми маємо справу з атомарними формулами, логічними зв‘язками та ППФ. У логіці предикатів атомарна формула складається з символічного позначення предиката і термів, які виступають в ролі аргументів цього предиката: предикат (список термів). У загальному випадку позначення предиката - це ім'я відношення, що існує між аргументами:існує між аргументами: p (t1, t2, ..., tn). Під термом розуміють або константу, або змінну, або виклик (використання) функції. У логіці предикатів прийняті наступні позначення: a, b, c - константи, f, g, h - функції, x, y, z - змінні, P, Q, R – предикати.
  • 42. Функції та відношення в логіці предикатівФункції та відношення в логіці предикатів Приклад 1. Область знань - арифметика, область інтерпретації – множина натуральних чисел. Функція «множення»: МНОЖ (3,2) → 6. Число 6 називається значенням даного використання функції «множення». Приклад 2. Область знань - родинні стосунки між деякою особою на ім'я Іван і деякими іншими людьми, з якими він спілкувався на сімейній вечері. Область інтерпретації – множина людей: Іван, Петро - двоюрідний брат Івана, Михайло - двоюрідний брат Івана, Марія - подруга Михайла: {Іван, Петро, Михайло, Марія}. Оскільки нас цікавлять тільки родинні зв'язки, то той факт, що хтось є подругою людини з заданої області інтерпретації повинен бути описаний за допомогою функції: подруга ("Михайло") → "Марія«.
  • 43. Приклад побудови теорії для предметної областіПриклад побудови теорії для предметної області «Сімейна вечеря»«Сімейна вечеря» Вибір позначень для представлення елементів області інтерпретації. Константи: а - Петро, b - Іван, c - Михайло. Функції: f («Михайло») = «Марія». У висновку для відносини «двоюрідний брат» вводимо предикат P: P (X,Y) - X є двоюрідним братом Y. P (a, b) – істина P (a, f(c)) – хибне P (a, c) – хибне P (f(c), a) – хибне P (b, a) – істина P (b, f(c)) – хибне P (b, c) – істина P (f(c), b) – хибне P (c, a) – хибне P (c, f(c)) – хибне P (c, b) – істина P (f(c), c) – хибне
  • 44. Фразова форма записуФразова форма запису Фразова форма логіки предикатів - це спосіб запису формул, при якому вживаються тільки зв‘язки &, ∨ і ¬. Літерал - це позитивна чи негативна атомарна формула. Фраза - множина літералів, з'єднаних символом ∨. Негативні літерали розміщуються вкінці кожної фрази, а позитивні - напочатку.Схематичний вигляд фрази: ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ P1 ∨ P2 ∨ ... ∨ Pn ∨ N1 ∨ N2 ∨ ... ∨ Nn Тут P1 ... Pn - позитивні літерали, а N1 ... Nn - негативні літерали. Фразу можна розглядати як узагальнення поняття імплікації. Дійсно, якщо A і B - атомарні формули, то A - → B може бути записана як ¬A ∨ B. Оскільки ¬A - негативно, а B - позитивно, то фразова форма матиме вигляд: B ∨ ¬A.
  • 45. Фрази Хорна та резолюціїФрази Хорна та резолюції Фраза Хорна (хорнівскій диз'юнкт) - це фраза, що містить тільки один позитивний літерал. Правило резолюції подібне до диз'юнктивного силогізму (ModusTollendo Ponens). Дві фрази можуть бути резольвовані одна з одною, якщо одна з них містить позитивний літерал, а інша -якщо одна з них містить позитивний літерал, а інша - відповідний негативний літерал з одним і тим же позначенням предиката і однаковою кількістю аргументів, причому аргументи обох літералів можуть бути уніфіковані (тобто узгоджені) один з одним.
  • 46. Характерні особливостіХарактерні особливості PrologProlog--уу  Для представлення знань використовуються фрази Хорна;  Програма описує логічну модель предметної області у вигляді фактів щодо властивостей предметної області і відношень між цими властивостями + правила виведення нових властивостей і відношень з уже заданих;  Використання терма як єдиної структури даних;  Відсутність операторів присвоювання, розгалужень, безумовних переходів та покажчиків.  Для пояснення змісту програми застосовуються три семантичні моделі: декларативна, процедурна моделі та модель у вигляді абстрактної машини.
  • 47. Синтаксис предикатів численняСинтаксис предикатів числення  Представлення фактів та правил English Pred calculus Prolog and , Or ; Only if :- not not    
  • 48. ФактиФакти,, ПравилаПравила і Запитиі Запити  База знань фактів – терми, які супроводжуються повною зупинкою. ◦ parent(ayah, saya). %ayah is my parent ◦ parent(mak, saya). ◦ female(mak). %mak is a female ◦ male(ayah). – Правила – утворюють нове знання ◦ mother(X,Y) :- parent(X,Y) , female(X). %X is mother ofY if X is parent ofY and X is female  Запит – теж сформовані терми , які супроводжуються повною зупинкою ◦ goal parent(X,saya). %who is my parent
  • 49. ФактиФакти Факт - це запис такого відношення, значення якого істинно. Форма запису факту: імя_предиката (аргумент {, аргумент}). При цьому: 1) Всі імена предикатів і аргументів повинні починатися з рядкової латинської літери. 2) Перерахування аргументів - через кому.2) Перерахування аргументів - через кому. 3) Кожен факт повинен закінчуватися крапкою. 4) Кількість аргументів і вид відношень (напрямки відношень) визначаються програмістом і не змінюються при виконанні програми. приклад: факт: who_likes_what (ivan, programming) не еквівалентний факту: who_likes_what (programming, ivan), оскільки має місце зміна напряму відношення: «Іван захоплюється програмуванням»
  • 50. Запис фактів в пролозіЗапис фактів в пролозі В Пролозі тип відношень описується в розділі predicates: who_likes_what (symbol, symbol) При описі фактів і правил у розділі clauses програми на Пролозі однойменні предикати повинні бути згруповані: clausesclauses who_likes_what (ivan, programming). who_likes_what (ivan, reading). who_likes_what (mary, reading). У термінології Прологу будь-яка сукупність фактів (і правил) називається базою даних.
  • 51. PrologProlog командикоманди .... фактифакти  Open Swi-Prolog window  File-New-Type the facts and rules with full stops at the end  Add facts to database parent(ayah,saya). parent(mak,saya). female(mak). male(ayah).  Save- close file -backtoSwiprolog-File-Consult-choose file-open <enter>
  • 52. ПравилаПравила Під правилами в Пролозі розуміються найбільш загальні твердження про об'єкти і відношення між ними. Пролог-правило має вигляд фразової форми: висновок :- ум1, ум2, ..., умN. Приклад правила: common_interests (X,Y): - who_likes_what (X, Z), who_likes_what (Y, Z), X <>Y.
  • 53.  To add more facts and rules, eg.  File- Edit –Choose File – type new rule to indicate relation mother mother(X,Y) :- parent(Y,X) , female(X). Prolog команди … правила mother(X,Y) :- parent(Y,X) , female(X).  SaveSave--Close fileClose file
  • 54. ЗапитиЗапити Запис питань в Пролозі схожа з записом фактів і відрізняється місцем розташування. Для формулювання запитань у програмі на Пролозі існує розділ goal. Звернення до Прологу з питанням ініціалізує процедуру пошуку в базі даних, раніше введеної в систему. Прологпошуку в базі даних, раніше введеної в систему. Пролог переглядає БД в пошуках предиката, що може співставлятися з питанням. Предикати вважаються такими, що співпадають, якщо вони збігаються посимвольно і їх відповідні аргументи попарно збігаються. Якщо предикат-питання збігається з предикатом одного з фактів / правил в БД, то питання узгоджується з БД. При цьому відповіддю на питання буде або Yes, або No.
  • 55. Використання змінних в запитахВикористання змінних в запитах Під змінною в Пролозі розуміють будь-яке ім'я, яке починається з прописної латинської літери. Приклади: Who,What, Ivan. Змінна називається конкретизованою, якщо існує об'єкт, який вона позначає. Якщо не відомо, що саме позначає змінна, то вважається, що змінна не конкретизована. У запитах змінні використовуються для того, щоб знайти деякий об'єкт. Приклад: who_likes_what (ivan, X)Приклад: who_likes_what (ivan, X) відповіддю буде: X = programming X = reading 2 Solutions Yes Якщо позначений змінною об'єкт не має значення в даному контексті, то використовується анонімна змінна ( _ ).
  • 56. Складні запитиСкладні запити Приклад. Вияснимо, чи мають Іван і Марія спільні інтереси. goal who_likes_what (ivan, X), who_likes_what (mary, X). Спочатку узгодимо who_likes_what (ivan, X). Змінна X конкретизується: X = programming. Тепер намагаємося узгодити who_likes_what (mary, programming).who_likes_what (mary, programming). Даний факт відсутній в БД.Тому Пролог автоматично розконкретизує змінну X. Потім Пролог намагається узгодити твердження: who_likes_what (ivan, reading), who_likes_what (mary, reading). Обидва факти, що входять у вираз, присутні в БД. Інших альтернатив для who_likes_what (ivan, X) немає і в якості результату буде видано: X = reading, 1 solution,Yes. Показаний процес отримав назву пошуку з поверненням.
  • 57.  Type at the command line for query. Use symbol ; to list next parent PrologProlog командикоманди....запитизапити.. goal parent(X,saya),parent(X,saya), female(ayah), male(X).
  • 58. Перша програмаПерша програма Факти Горобець – це птах. Горобець – батько пташеняти. Правило висновку Дехто є птахом за умови, що у  Запит ◦ птах (Z)  Всі можливі рішення: Дехто є птахом за умови, що у нього є батько - птах. Програма птах (горобець). птах (X):– батько(Y, X), птах(Y). батько(горобець, пташеня). рішення: ◦ Z = горобець ◦ Z = пташеня
  • 59. Перша програмаПерша програма PREDICATES bird (symbol) parent (symbol, symbol) CLAUSES bird (sparrow).bird (sparrow). bird (X) :- parent (Y, X), bird (Y). parent (sparrow, nestling). Goal: bird (Z) Z = sparrow Z = nestling
  • 60. Перша програмаПерша програма PREDICATES bird (symbol) parent (symbol, symbol) CLAUSES bird («горобець»).Факт Факт bird («горобець»). bird (X):– parent (Y, X), bird (Y). parent («горобець», «пташеня»). Goal: bird (Z) Z = «горобець» Z = «пташеня» Факт Правило висновку Зовнішня ціль
  • 61. Узгодження цільових твердженьУзгодження цільових тверджень Для доведення цільових тверджень Пролог використовує відомі твердження. Якщо підціль являє собою факт, то узгодження закінчується, як тільки факт буде знайдений в базі. Якщо підціль є правилом, то задача зводиться до кон'юнкції предикатів-підцілей. При узгодженні Пролог керується такими правилами:При узгодженні Пролог керується такими правилами:  Константа рівна тільки сама собі;  Змінна може бути конкретизована будь-яким об'єктом Прологу;  Структури співпадають, якщо збігаються їх функтори, стан і кількість аргументів. Для кожної підцілі Пролог генерує свій маркер. Якщо цільове твердження не доведено, збуджується процесс повернення.
  • 62. Розгляд цільових тверджень приРозгляд цільових тверджень при використанні механізму поверненнявикористанні механізму повернення Якщо цільове твердження не доведено, здійснюється повернення за «ланцюжком доказів» у місце вибору твердження для узгодження заново відповідних цільових тверджень. При цьому Пролог намагається знайти альтернативне твердження, що відповідає даній цілі. Спочатку відбувається розконкретизація всіх змінних, що булиСпочатку відбувається розконкретизація всіх змінних, що були конкретизовані в ході доведення даного цільового твердження. Потім поновлюється пошук у базі даних, починаючи з поміченого маркером місця. Якщо буде знайдено інше твердження, яке відповідає цільовому, Пролог помістить в це місце маркер, пошук у базі даних продовжиться, починаючи з поміченого місця.
  • 63. Приклад узгодження цільового твердженняПриклад узгодження цільового твердження Факт не виявлено, M і F розконкрети- зовуються Успішне узгодження
  • 64. Поняття «зчеплених змінних»Поняття «зчеплених змінних» У ряді випадків узгодження цільових тверджень деяка, спочатку неконкретизована, змінна X може бути автоматично конкретизована значенням іншої змінної Y. В таких випадках говорять, що змінні X і Y стають зчепленими. Приклад відношення «рідна сестра»: sister (X,Y): - woman (X), parent (X, Mother, Father), parent (Y, Mother, Father).woman (X), parent (X, Mother, Father), parent (Y, Mother, Father). Узгодження цільового твердження sister («Марія», Y) призведе в одному з можливих випадків успішного доведення до конкретізаціі Y значенням «Марія». Для запобігання породження небажаних рішень як наслідок зчеплення змінних, в тіло правила слід вводити додаткові твердження для контролю взаємних співвідношень значень змінних в заголовку правила: sister (X,Y): - not (X =Y), woman (X), parent (X, Mother, Father), parent (Y, Mother, Father).
  • 65. ВправаВправа Family relationshipsFamily relationships 1) Предикати male/1, female/1, parent_of/2 для представлення Prolog бази знань father(Father,Child) mother(Mother,Child) 2) Сформулюйте правила: father(Father,Child) mother(Mother,Child) grandparent(Grandparent,Child) sister(Sister,Person) grandchild(Grandchild,Child) father_of(X,Y) :- male(X), parent(X,Y). grandparent(X,Z) :- parent(X,Y), parent(Y, Z).