SlideShare a Scribd company logo
1 of 67
Download to read offline
Логічні алгоритмиЛогічні алгоритми
та системи штучного інтелектута системи штучного інтелекту
Предмет вивченняПредмет вивчення
 ЛОГІЧНЕ ПРОГРАМУВАННЯ
мова програмування 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
Lect 1 intro
Lect 1 intro
Lect 1 intro
Теоретичні дослідженняТеоретичні дослідження
в сфері формалізації мисленняв сфері формалізації мислення
Традиційна логіка
Формальна логікаФормальна логіка
Логіка висловлювань
Логіка предикатів
Традиційна логіка та її закониТрадиційна логіка та її закони
Завдання виявити критерій істинності
суджень у полеміці.
Аристотель ввів поняття судження.
Під судженням розуміється закінченаПід судженням розуміється закінчена
думка, що висловлена у формі простого
речення природної мови.
Традиційна логіка та її закониТрадиційна логіка та її закони
Аристотелем виведені три закони традиційної логіки:
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

4 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-20214 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-2021NoName520
 
презентація інклюзивне навчання в торговицькому нво
презентація інклюзивне навчання в торговицькому нвопрезентація інклюзивне навчання в торговицькому нво
презентація інклюзивне навчання в торговицькому нвоviolet1975
 
4 klas-informatyka-kornijenko-2021
4 klas-informatyka-kornijenko-20214 klas-informatyka-kornijenko-2021
4 klas-informatyka-kornijenko-2021NoName520
 
Портфоліо директора школи Білик С.М.
Портфоліо директора школи Білик С.М.Портфоліо директора школи Білик С.М.
Портфоліо директора школи Білик С.М.Петрівська школа
 
виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»Petro Plushkin
 
Дидактичні погляди Ушинського
Дидактичні погляди УшинськогоДидактичні погляди Ушинського
Дидактичні погляди Ушинськогоnatali7441
 
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.З досвіду роботи вчителя біології та ЗДВР Пипті С.П.
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.Марина Балдовская
 
засоби навчання
засоби навчаннязасоби навчання
засоби навчанняIrynairyna94
 
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Olya Bezverhnya
 
матеріали для проведення інформаційної години до Дня українського козацтва "К...
матеріали для проведення інформаційної години до Дня українського козацтва "К...матеріали для проведення інформаційної години до Дня українського козацтва "К...
матеріали для проведення інформаційної години до Дня українського козацтва "К...Savua
 
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізики
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізикиОгляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізики
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізикиOleksii Voronkin
 
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...Віктор Пилип
 
конкурентоспроможність вчителя як управлінська проблема
конкурентоспроможність вчителя як управлінська проблемаконкурентоспроможність вчителя як управлінська проблема
конкурентоспроможність вчителя як управлінська проблемаЛеся Черноок
 
Методична система "Щоденні 5" для розвитку мовлення
Методична система "Щоденні 5" для розвитку мовленняМетодична система "Щоденні 5" для розвитку мовлення
Методична система "Щоденні 5" для розвитку мовленняЯкість Освіти
 
Звіт самооцінювання напрям 3 23.pptx
Звіт самооцінювання напрям 3 23.pptxЗвіт самооцінювання напрям 3 23.pptx
Звіт самооцінювання напрям 3 23.pptxssuserce4e97
 
виготовлення привітальної листівки з використанням изонить
виготовлення привітальної листівки з використанням изонитьвиготовлення привітальної листівки з використанням изонить
виготовлення привітальної листівки з використанням изонитьPetro Plushkin
 

What's hot (20)

4 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-20214 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-2021
 
презентація інклюзивне навчання в торговицькому нво
презентація інклюзивне навчання в торговицькому нвопрезентація інклюзивне навчання в торговицькому нво
презентація інклюзивне навчання в торговицькому нво
 
4 klas-informatyka-kornijenko-2021
4 klas-informatyka-kornijenko-20214 klas-informatyka-kornijenko-2021
4 klas-informatyka-kornijenko-2021
 
Портфоліо директора школи Білик С.М.
Портфоліо директора школи Білик С.М.Портфоліо директора школи Білик С.М.
Портфоліо директора школи Білик С.М.
 
виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»виготовлення листівки технікою «айріс фолдінг»
виготовлення листівки технікою «айріс фолдінг»
 
Дидактичні погляди Ушинського
Дидактичні погляди УшинськогоДидактичні погляди Ушинського
Дидактичні погляди Ушинського
 
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.З досвіду роботи вчителя біології та ЗДВР Пипті С.П.
З досвіду роботи вчителя біології та ЗДВР Пипті С.П.
 
засоби навчання
засоби навчаннязасоби навчання
засоби навчання
 
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
семінар з географії готово!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Т.В.Коршевнюк. Тенденції розвитку змісту шкільної біологічної освіти
Т.В.Коршевнюк. Тенденції розвитку змісту шкільної біологічної освітиТ.В.Коршевнюк. Тенденції розвитку змісту шкільної біологічної освіти
Т.В.Коршевнюк. Тенденції розвитку змісту шкільної біологічної освіти
 
матеріали для проведення інформаційної години до Дня українського козацтва "К...
матеріали для проведення інформаційної години до Дня українського козацтва "К...матеріали для проведення інформаційної години до Дня українського козацтва "К...
матеріали для проведення інформаційної години до Дня українського козацтва "К...
 
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізики
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізикиОгляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізики
Огляд сучасних програмних засобів, симуляторів, віртуальних лабораторій з фізики
 
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...
Портфоліо викладача спецдисциплін та дисциплін загально-професійної підготовк...
 
180
180180
180
 
конкурентоспроможність вчителя як управлінська проблема
конкурентоспроможність вчителя як управлінська проблемаконкурентоспроможність вчителя як управлінська проблема
конкурентоспроможність вчителя як управлінська проблема
 
Алгоритм створення інклюзивного класу
Алгоритм створення інклюзивного класуАлгоритм створення інклюзивного класу
Алгоритм створення інклюзивного класу
 
Методична система "Щоденні 5" для розвитку мовлення
Методична система "Щоденні 5" для розвитку мовленняМетодична система "Щоденні 5" для розвитку мовлення
Методична система "Щоденні 5" для розвитку мовлення
 
довідка про тематичну перевірку
довідка про тематичну перевіркудовідка про тематичну перевірку
довідка про тематичну перевірку
 
Звіт самооцінювання напрям 3 23.pptx
Звіт самооцінювання напрям 3 23.pptxЗвіт самооцінювання напрям 3 23.pptx
Звіт самооцінювання напрям 3 23.pptx
 
виготовлення привітальної листівки з використанням изонить
виготовлення привітальної листівки з використанням изонитьвиготовлення привітальної листівки з використанням изонить
виготовлення привітальної листівки з використанням изонить
 

Viewers also liked

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_20184book
 
Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018Informatika 10-klas-bondarenko-2018
Informatika 10-klas-bondarenko-2018kreidaros1
 
9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укрAira_Roo
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua4book
 
Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.oleg379
 
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...Oleksii Voronkin
 
Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016Informatika 8-klas-bondarenko-2016
Informatika 8-klas-bondarenko-2016kreidaros1
 
Використання нечітких множин в експертних системах
Використання нечітких множин в експертних системахВикористання нечітких множин в експертних системах
Використання нечітких множин в експертних системахSerhii Yatsiuk
 
8_i_b_2021.pdf
8_i_b_2021.pdf8_i_b_2021.pdf
8_i_b_2021.pdf4book
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_20204book
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020kreidaros1
 

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 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр9 информ володіна_володін_2009_укр
9 информ володіна_володін_2009_укр
 
9 in v_ua
9 in v_ua9 in v_ua
9 in v_ua
 
Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.Підручник Інформатика 9 клас Володіна І.Л.
Підручник Інформатика 9 клас Володіна І.Л.
 
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
Воронкін О.С. Потенціал штучного інтелекту у розвитку персонального навчально...
 
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
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_2020
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020
 
1
11
1
 
Iнформатика
Iнформатика  Iнформатика
Iнформатика
 

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

Презентація_Газмережі_для_дітей.pptx ХЛ №166
Презентація_Газмережі_для_дітей.pptx ХЛ №166Презентація_Газмережі_для_дітей.pptx ХЛ №166
Презентація_Газмережі_для_дітей.pptx ХЛ №166ssuser59c0a2
 
Про визначення дати початку приймання заяв до 1 класу.pdf
Про  визначення  дати  початку приймання  заяв   до  1  класу.pdfПро  визначення  дати  початку приймання  заяв   до  1  класу.pdf
Про визначення дати початку приймання заяв до 1 класу.pdfUkraine13
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»GoQA
 
Біографія Г.Лонгфелло. "Люлька миру" (анкета)
Біографія Г.Лонгфелло. "Люлька миру" (анкета)Біографія Г.Лонгфелло. "Люлька миру" (анкета)
Біографія Г.Лонгфелло. "Люлька миру" (анкета)Adriana Himinets
 
Тіні забутих предків Фільм..............
Тіні забутих предків Фільм..............Тіні забутих предків Фільм..............
Тіні забутих предків Фільм..............max785500
 
Проєкт «ІТ.UA: народжені в Україні». Максиміліан Левчин
Проєкт «ІТ.UA: народжені в Україні». Максиміліан ЛевчинПроєкт «ІТ.UA: народжені в Україні». Максиміліан Левчин
Проєкт «ІТ.UA: народжені в Україні». Максиміліан ЛевчинНБУ для дітей
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...GoQA
 
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdf
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdfВЕСНЯН_ КАН_КУЛИ////////////////////.pdf
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdfssuser46127c
 
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...home
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»GoQA
 
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...home
 
Про закріплення територій обслуговування за закладами дошкільної та загаль...
Про  закріплення  територій обслуговування за  закладами дошкільної та загаль...Про  закріплення  територій обслуговування за  закладами дошкільної та загаль...
Про закріплення територій обслуговування за закладами дошкільної та загаль...Ukraine13
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»GoQA
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»GoQA
 
«Доля уславила мене». Письменниця Докія Гуменна
«Доля уславила мене». Письменниця Докія Гуменна«Доля уславила мене». Письменниця Докія Гуменна
«Доля уславила мене». Письменниця Докія ГуменнаНБУ для дітей
 
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...Ukraine13
 
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...ssuserd1824d
 

Recently uploaded (20)

20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf
20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf
20.03.2024.2.pdf20.03.2024.2.pdf20.03.2024.2.pdf
 
Презентація_Газмережі_для_дітей.pptx ХЛ №166
Презентація_Газмережі_для_дітей.pptx ХЛ №166Презентація_Газмережі_для_дітей.pptx ХЛ №166
Презентація_Газмережі_для_дітей.pptx ХЛ №166
 
Про визначення дати початку приймання заяв до 1 класу.pdf
Про  визначення  дати  початку приймання  заяв   до  1  класу.pdfПро  визначення  дати  початку приймання  заяв   до  1  класу.pdf
Про визначення дати початку приймання заяв до 1 класу.pdf
 
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
КАТЕРИНА ЖУПАН «Mobile Testing based on “ISTQB Mobile Application – Syllabus»
 
Біографія Г.Лонгфелло. "Люлька миру" (анкета)
Біографія Г.Лонгфелло. "Люлька миру" (анкета)Біографія Г.Лонгфелло. "Люлька миру" (анкета)
Біографія Г.Лонгфелло. "Люлька миру" (анкета)
 
Тіні забутих предків Фільм..............
Тіні забутих предків Фільм..............Тіні забутих предків Фільм..............
Тіні забутих предків Фільм..............
 
25.03.2024.docx25.03.2024.docx25.03.2024.docx
25.03.2024.docx25.03.2024.docx25.03.2024.docx25.03.2024.docx25.03.2024.docx25.03.2024.docx
25.03.2024.docx25.03.2024.docx25.03.2024.docx
 
Проєкт «ІТ.UA: народжені в Україні». Максиміліан Левчин
Проєкт «ІТ.UA: народжені в Україні». Максиміліан ЛевчинПроєкт «ІТ.UA: народжені в Україні». Максиміліан Левчин
Проєкт «ІТ.UA: народжені в Україні». Максиміліан Левчин
 
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
НАТАЛІЯ ТРОЙНІЧ «Редизайн всього продукту, коли на проекті залишилось два ман...
 
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdf
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdfВЕСНЯН_ КАН_КУЛИ////////////////////.pdf
ВЕСНЯН_ КАН_КУЛИ////////////////////.pdf
 
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...
Звіт про проведення тижня методичної комісії майстрів виробничого навчання ін...
 
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
ПАВЛО САФОНОВ «Як оцінити ефективність автоматизації»
 
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...
Звіт проведення тижня методичної комісії викладачів спецдисциплін швейного пр...
 
Про закріплення територій обслуговування за закладами дошкільної та загаль...
Про  закріплення  територій обслуговування за  закладами дошкільної та загаль...Про  закріплення  територій обслуговування за  закладами дошкільної та загаль...
Про закріплення територій обслуговування за закладами дошкільної та загаль...
 
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
ГАННА КІЛІМОВА & СВІТЛАНА ЯКОВЛЄВА «ADA testing – те, що дуже на часі»
 
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
 
«Доля уславила мене». Письменниця Докія Гуменна
«Доля уславила мене». Письменниця Докія Гуменна«Доля уславила мене». Письменниця Докія Гуменна
«Доля уславила мене». Письменниця Докія Гуменна
 
ezh-teodor-tomash-v-istoriii-vinnichchini.pptx
ezh-teodor-tomash-v-istoriii-vinnichchini.pptxezh-teodor-tomash-v-istoriii-vinnichchini.pptx
ezh-teodor-tomash-v-istoriii-vinnichchini.pptx
 
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...
Про зарахування дітей до 1-х класів ЗЗСО Благовіщенської міської ради на 2024...
 
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...
Відокремлений структурний підрозділ “Любешівський технічний фаховий коледж Лу...
 

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
  • 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).