Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лог_чне програмування_лекц_ї.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
713.73 Кб
Скачать

Міністерство освіти і науки України

Тернопільський національний економічний університет

Факультет комп’ютерних інформаційних технологій

Кафедра комп’ютерної інженерії

ОПОРНИЙ КОНСПЕКТ ЛЕКЦІЙ З КУРСУ

«Логічне програмування»

Освітньо-кваліфікаційний рівень – бакалавр

Спеціальність "Комп’ютерні системи та мережі"

Тернопіль – 2013

1. Вступ до логіки 4

Базові поняття логіки. 4

Особливості математичної логіки. 4

Зміст поняття і основні типи визначення понять. 4

2. Види міркувань 7

Дедуктивні міркування 7

3. Дедуктивні системи 8

4. Логіка та обчислення висловлювань. 8

4.1 Поняття висловлювань та основні логічні операції 8

4.2 Основні аксіоми та закони алгебри логіки. 9

5. Предикати першого порядку 13

5.1 Відношення і предикат 13

5.2 Квантори 14

5.3 Мова логіки предикатів 15

5.4 Синтаксис мови обчислень предикатів 16

6. Обчислення предикатів першого порядку. 16

7. Логічний вивід в обчисленні предикатів. 17

8. Метод резолюцій і зворотній метод С.Ю. Маслова. 17

9. Моделі представлення знань у ШІ 17

9.1 Поняття знань 17

9.2 Особливості знань. 18

9.3 Типи знань 18

Моделі представлення знань. 19

9.4 Представлення знань у вигляді правил (продукційна модель) 19

Виведення висновку 21

10. Модель семантичної мережі. 22

Визначення 23

Виведення висновку 24

Висновки 25

Застосування 25

11. Фреймова і логічна моделі представлення знань 25

11.1 Визначення 25

Висновки 28

Вивід висновку 28

Переваги фреймових моделей: 29

Недоліки фреймових моделей: 29

11.2 Основні положення логічної моделі 29

Переваги логічних моделей представлення знань 29

12. Вступ до Прологу. 34

13. Основи програмування на Пролозі. 34

14. Робота з базами даних (БД) на Пролозі. 34

15. Ввід і вивід. 34

16. Повторення і рекурсія 34

16.1. Програмування операцій, що повторюються 34

16.2. Методи повторення 35

16.2.1. Метод відкату після невдачі 35

16.2.2. Метод відсікання і відкату 38

16.2.3. Метод повтору, що визначається користувачем 40

16.2.4. Узагальнене рекурсивне правило 42

17. Списки, операції і арифметичні вирази. 48

8.1. Представлення списків 48

Опис списків 50

17.3. Операції над списками 51

17.3.1. Пошук елементів у списку 51

17.3.2. Ділення списків 51

17.3.3. Приєднання списку 52

17.3.4. Сортування списків 53

17.3.5. Компонування даних у список 54

Арифметичні вирази 55

18. Експертні системи 55

Визначення 55

Області застосування 55

Висновки 57

Література 57

18. Основи програмування на візуальному Пролозі. 57

Додаток А. Приклади програмування в Турбо-Пролозі 58

А1. База даних футбольної команди 58

А2. Експертна система вибору породи собак 65

Термінологічний словник 69

Література 70

Робоча програма

Існуючі проекти із використанням Пролог:

В Nokia используют Prolog в Meego.

Mind you, N900, N950, and N9 all actually *run* Prolog in production -- the whole policy engine's rules switching part is written in Prolog and drives very important part of the handsets' functionality. (https://gitorious.org/maemo-multimedia/policy-settings-basic/source/5a22659626964b0b320fa22aa608cd3c486b532a:basic/policy)

Erlang основан на Prolog, отчасти

Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.

Помните Буран который сам летал в космос? Так вот программа которая управляла им была написана на языке очень похожим на пролог, т. е. как бы был создан специализированный пролог.

И язык этот назывался Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность, для друзей просто ДРАКОН

пролог вроде как используется для верификации байт-кода JVM, см. JSR 202

1. Вступ до логіки

Базові поняття логіки.

Реальне поняття дає опис певних об’єктів. О. р. противопоставляется определению номинальному, выражающему требование (предписание, норму), каким должны быть рассматриваемые объекты.

Особливості математичної логіки.

Зміст поняття і основні типи визначення понять.

Базові поняття

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

Математичний стиль мислення, за А.Я. Хінчином, визначається наступними особливостями:

1. Тверда схема міркування;

2. Лаконізм, свідоме прагнення знаходити найкоротший шлях до мети;

3. Чітка розбивка ходу міркувань на випадки й підвипадки;

4. Скрупульозна чіткість формулювань і символіки.

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

Інтерес до логіки зріс із появою ЕОМ – у зв'язку зі спробами навчити машину робити логічні висновки. Тому роботи в області інформатики й ШІ не можуть не опиратися на логіку.

Розглянемо основні ідеї, які лежать в основі логічних міркувань. Насамперед, відзначимо найважливіші принципи діалектичної логіки:

1. Аналіз самого об'єкта, а не нашого подання про нього;

2. Розгляд конкретного об'єкта в конкретних умовах;

3. Аналіз тих і тільки тих його властивостей і зв'язків, які істотні в цих умовах;

4. Розгляд об'єкта(процесу) у його розвитку.

У логіці виділяють наступні форми мислення, поняття, висловлення й міркування.

Поняття про предмет представляє можливий варіант відповіді на питання «Що це?». З поняттям зв’язуються найбільш істотні (необхідні й достатні в сукупності) ознаки предмета. Поняття виражається словом.

Розрізняють реальне й номінальне визначення поняття. В останньому випадку мова йде про вибір імені(«будемо називати...»). Типовими способами реальних визначень є вказівка найближчого роду й видової відмінності, а також генетичні визначення (правила породження).

Інтенсіонал поняття- це його визначення через більш загальне (родове поняття) із вказівкою видових відмінностей. Інтенсіонал поняття– це визначення його через співвіднесення з поняттям вищого рівня абстракції з вказівкою специфічних властивостей.

Інший спосіб визначає поняття через співвіднесення з поняттями нижчого рівня абстракції або перелік фактів, які відносяться до об'єкта, що визначається. Це є визначення через дані, або екстенсіонал поняття. Екстенсіональне визначення дається через поняття більш низького рівня ієрархії або факти(визначення через дані).

Приклад. Поняття“персональний комп'ютер”. Його інтенсіонал: “Персональний комп'ютер це дружня ЕОМ, яку можна поставити на стіл і купити менш ніж за$1000”. Екстенсіонал цього поняття: “Персональний комп'ютер це Мас, IВМ РС, Sincler...”.

Основними типами визначення понять є:

1. Порівняння– установлення подібності або розходження в поняттях;

2. Аналіз– розчленовування цілого на складові частини;

3. Синтез– створення цілого з деякого числа складових частин(ознак, властивостей, відношень);

4. Абстрагування– виділення в якому-небудь понятті певних ознак при відволіканні від інших;

5. Узагальнення– об'єднання різних об'єктів в однорідні групи на підставі загальних ознак,

6. Індукція– перерахування приватних прикладів і правило породження (як у мовах програмування).

Визначення повинне бути чітким, розмірним і не повинне містити логічного кола, тобто прямого або непрямого посилання на себе ж. Приклади порушення перерахованих вимог:

1. Лев- цар звірів (це взагалі не визначення, а метафора).

2. Бочка- посудина для зберігання рідин. Це визначення в одному змісті широке (рідини можуть зберігатися не тільки в бочку), в іншому- вузьке (у бочці можуть зберігатися й сипучі речовини).

3. Кількість- визначення предмета з його кількісної сторони(логічне коло).

Усяке поняття має зміст– комплекс ознак предмета в даному понятті, і об'єм– сукупністю об'єктів, що входять у дане поняття. За об'ємом поняття діляться на порожні (реально не існуючі), одиничні й загальні(зокрема, універсальні, тобто що охоплюють всі предмети даного виду). З погляду змісту поняття діляться на позитивні й негативні (присутні чи ні певні ознаки в понятті), безвідносні й відносні, порівнянні й непорівнянні. У логічному відношенні один з одним перебувають тільки порівнянні поняття(у їхньому змісті присутні загальні ознаки). Вони бувають сумісними(об'єми понять мають співпадаючу частину) і несумісними. Виділяють три види відношень сумісності: рівнозначність, перетинання, підпорядкування об'ємів. Існують і три види відношень несумісності: супідрядність, протилежність, протиріччя.

На рис.1 показані можливі відношення між порівнянними поняттями.

Рис. 1. Відношення порівнянних понять

Зв'язок між об'ємом і змістом понять виражається законом зворотного відношення: якщо два поняття порівнянні в логічному змісті й зміст першого з них більше, ніж другого, то об'єм першого менше об'єму другого. Із цим законом зв'язане узагальнення (перехід від поняття з меншим об'ємом і більшим змістом до поняття з більшим об'ємом і меншим змістом) і обмеження(протилежний перехід).

Однією з основних логічних операцій над об'ємом і змістом понять є ділення поняття. При її виконанні розрізняють ділене поняття, підстава ділення(ознаки), члени ділення(множина понять, видових стосовно вихідного). Ділення повинне бути повним, за єдиною підставою, без перекриттів, безперервним(кожний крок ділення повинен проводитися на одному ієрархічному рівні). Приватним випадком ділення є дихотомічне (на два класи із суперечливими ознаками). Практичне застосування операції ділення понять пов'язане із класифікацією— приведенням знань про предметну область у систему. Підстава ділення повинне відповідати цілі класифікації. Класифікація завжди має деревоподібну структуру.

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

Елементарне висловлення складається із суб'єктаS (логічний підмет– те, про що мова йде у висловленні), предиката Р(логічний присудок– те, що затверджується або заперечується у висловленні про суб'єкт), і квантора («всі», «деякі»).

Логічний зв'язок між суб'єктом і предикатом висловлення виражається зв'язуванням «є» або«не є» (у множині«є» заміняється на«суть»), хоча в самому реченні це зв'язування може лише матися на увазі. Відповідність або невідповідність цього зв'язку реальності робить судження істинним або хибним.

Приклади висловлень:

1. Всі дельфіни- теплокровні.

2. Жоден кит не є рибою.

3. Туркменія- республіка.

3 Викладач: Шаров С.В.

4 Викладач: Шаров С.В.

За структурою висловлення діляться на прості(вони мають логічну форму"S є Р" або"S не є Р") і складні(граматично виражаються складними реченнями).

Прості висловлення бувають:

1. Атрибутивні(у них виражається приналежність або не приналежність якоїсь властивості об'єкту або класу об'єктів). В атрибутивні висловлення часто включають кванторні зв'язування;

2. Про відношення між декількома об'єктами;

3. Про існування або не існування якого-небудь об'єкта або явища.

За якістю прості висловлення діляться на стверджувальні й негативні. З кількісної точки зору висловлення діляться на одиничні, приватні й загальні. У приватних судженнях слово«деякі» не виключає варіанта«всі». Перелічимо основні типи висловлень і їхнього позначення:

1. А- загальностверджувальні("УсякийS є Р");

2. Е- загальнонегативні("УсякийS не є Р");

3. І- частковостверджувальні("ДеякийS є Р");

4. О- частковонегативні("ДеякийS не є Р").

Основні закони правильного мислення. lect4_metod.pdf

Найбільш важливими є логічні закони:

1. Тотожності.

2. Несуперечності.

3. Протиріччя.

4. Виключеного третього(у класичній логіці).

5. Достатньої підстави.

Відповідно до закону тотожності, об'єм і зміст усякого поняття повинні залишатися незмінними протягом усього процесу міркування. Цей закон записується формулою А ≡ А, де через А позначена висловлювальна форма або змінна.

Закон несуперечності: два судження, в одному з яких щось стверджується, а в другому те саме, в той же час і в тому ж відношенні заперечується, не можуть бути одночасно істинними.

За законом протиріччя два суперечних один одному висловлення не можуть бути одночасно істинними: принаймні одне з них хибне. Його формульнйй вид: А ∧ ¬ А ≡0 (ми будемо позначати логічні константи"істина" і"неправда" нулем і одиницею відповідно).

Закон виключеного третього: із двох суперечних суджень одне неодмінно є істинним, друге- хибним, а третього і бути не може. Якщо закон несуперечності діє і між суперечними, і між протилежними судженнями, то закон виключеного третього діє лише між суперечними судженнями- загальностверджувальним і частковозаперечним, загалmнозаперечним і частковостверджувальним, одиничним стверджувальним і одиничним заперечним.

Закон достатньої підстави вимагає, щоб жодне твердження не визнавалося справедливим без достатньої підстави(яку підставу вважати достатньою – це питання особливе). Даний закон має змістовний характер.

2. Види міркувань Дедуктивні міркування

Дедуктивні міркування - це міркування, в якому між засновниками і висновком існує відношення логічного слідування [ldu].

Таке міркування спирається на логічний закон. У ньому із істинних засновків завжди отримують істинний висновок.

♦ Прикладом дедуктивного міркування є такий текст: «Злочин може бути вчинений умисно або з необережності. Цей злочин вчинений умисно. Отже, він не вчинений з необережності».

Як правило, у засновках дедуктивних міркувань міститься загальне знання, а у висновку — окреме знання.

У всіх випадках, коли треба розглянути якесь явище на підставі вже відомого знання, чи загального правила і вивести щодо цього явища необхідний висновок, ми розмірковуємо на підставі дедукції. Таким чином, дедуктивні міркування дозволяють із знання, яке ми вже маємо, отримати нові істини на підставі чистого міркування, без звертання до здорового глузду, досвіду, інтуїції. Дедукція дає повну гарантію успіху при обґрунтуванні істинності якогось висновку, якщо вихідні положення — засновки — будуть істинними висловлюваннями. Не випадково дедуктивні міркування ще називають необхідними, або примусовими, міркуваннями.

Розрізняють два основних види дедуктивних міркувань:

♦ прямі;

♦ непрямі.

Прямі дедуктивні міркування - це міркування, в яких висновок безпосередньо випливає з засновків.

Непрямі дедуктивні міркування - це міркування, в яких висновок випливає із засновків опосередковано за допомогою додаткових виводів.

Розрізняють велику кількість схем прямих і непрямих дедуктивних міркувань. Так, наприклад, існують схеми дедуктивних міркувань, що базуються на структурі складних висловлювань, а також схеми міркувань, що базуються на структурі простих висловлювань. Однак серед всієї множини таких схем можна виділити найтиповіші, які переважно використовуються людьми в процесах мислення і спілкування.

Складні міркування.

Безпосередній висновок.

Опосередковане заключення.

Прості силогізми.

Складні висновки.

Індуктивні міркування.

Заключення по аналогії.

3. Дедуктивні системи

Ключові слова: Логічний вивід і логічне програмування. Співвідношення між змістовними і формальними теоріями. Формалізація мислення і формальні системи. Аксіоматичний метод і формальні теорії.

4. Логіка та обчислення висловлювань.

Ключові слова: Логічні операції над логічними змінними. Алгебра логіки. Пропозиціональні формули. Логічний наслідок і логічний вивід. Метод резолюцій. Обчислення висловлювань. Логічний наслідок і формальний вивід.

4.1 Поняття висловлювань та основні логічні операції

Висловлювання (у математичній логіці) – це речення, в якому стверджується або заперечується властивості певного об’єкту. Кожне висловлювання приймає одне з двох знань істинне (1) або хибне (0). Наприклад, Земля обертається навколо сонця. Тернопіль столиця України.

Висловлювання позначаються великими літерами A, B, C, X, Y, Z.

Логічна змінна (булава змінна), яка приймає одне з значень true, false називається константою.

Основними логічними операціями над логічними змінними є наступні:

 - заперечення;

Λ – кон’юкція (логічне множення);

V – диз’юкція (логічне додавання);

→ - імплікація (якщо то);

 - еквівалентність ().

Вирази, які отримуються при використанні логічних змінних і логічних зв’язків називаються логічними, або пропозиційними формулами.

Приведемо таблиці істинності:

A

B

Λ

V

I

X

X

I

X

X

I

I

I

I

I

I

X

I

X

I

I

X

X

X

X

X

I

I

A називається посилкою (антецедент);

В називається заключенням (консеквент);

АВ (А тоді і тільки тоді, коли В).

Поряд дій при обчисленні по формули такий:

  • заперечення;

  • кон’юкція;

  • диз’юкція;

  • імплікація і еквівалентність.

( Виконання в порядку слідування, але при необхідності можна змінити дану пріоритетність за допомогою дужок ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]