Рефераты. Зв'язок нейронних мереж з штучним інтелектом

Існує цілий ряд правил виведення логіки висловів, і вони представлені в табл.5.

Таблиця 5. Правила виведення логіки висказаного

Правило Пояснення

Приклад 1

Є наступна інформація.

Якщо акумулятор машини розряджений, то машина не заводиться. Якщо машина Джона не заводиться і поточний час виявляється пізнішим 8 годин ранку, то Джон запізниться на потяг. Одного разу вранці після 8 годин ранку акумулятор машини Джона виявився розрядженим.

Використовуючи логічні правила виводу, покажіть, що Джон запізнився на потяг.

Розв'язання 1

У символьному вигляді інформація може бути представлена таким чином.

Р: акумулятор машини розряджений.

Q: машина не заводиться.

R: час після 8 ранку.

S: Джон запізнився на потяг.

Правило 1. Р => Q.

Правило 2. Q ^ R =>S

Відомо, що Р і R є ІСТИНА. Завданням є доказ S. Доказ будується таким чином.

1 Р Дано.

2 R Дано.

3 Q Виходить з кроку 1 і правила 1 за правилом modus ponens.

4 Q ^ R Виходить з кроків 3 і 2 за правилом інтродукції 1.

5 S Виходить з кроку 4 і правила 2 за правилом modus ponens.

3.2 Числення предикатів

Числення висловів припускає, що світ можна моделювати за допомогою фактів. Але для реальних застосувань числення висловів не підходить. Розглянемо, наприклад, число пропозицій, які будуть потрібні для моделювання запізнення на роботу, скажімо, 50 чоловік. Для цього потрібно допускати узагальнені вирази. Числення предикатів (або, точніше, числення предикатів першого порядку) розширює числення висловів так, що світ виявляється таким, що складається з об'єктів, відносин і властивостей. Ця метод допускає узагальнені твердження, вводячи в розгляд змінні, а також квантори, що дозволяють визначати властивості сукупності об'єктів. Розглянемо твердження "Якщо конем володіє Джон, то кінь є чистокровним". Це твердження посилається на сукупність об'єктів, а саме, на всіх коней, якими володіє Джон, у наслідок чого відпадає необхідність посилатися на кожен екземпляр (тобто на кожного з коней Джона) окремо. Це твердження є узагальненим і позбавляє від необхідності формулювання відповідного твердження для кожного з коней Джона. Можна перефразовувати твердження і сказати "Всі коні, якими володіє Джон, є чистокровними". Тут для вказівки того, що властивість "чистокровний" застосовується до всієї сукупності коней Джона, використовується квантор (всі). Слово "володіти" є бінарним предикатом, що описує відношення між Джоном і конем, а слово "чистокровний" є унарним предикатом, що описує властивість коня. В термінах числення предикатів твердження "Всі коні, якими володіє Джон, є чистокровними" в символьному вигляді записується так:

х (Кінь (х) ^ Володіти (Джон, х)) => Чистокровний (х).

Символ називається квантором спільності і читається як "для всіх" або "кожен". У численні предикатів визначається і інший символ, а саме, символ , так званий квантор існування, який читається як "існує". Наприклад, коли ми говоримо "Джон має чистокровного коня", це означає, що існує принаймні один кінь (а можливо і більше) в колекції Джона, що є чистокровним. На мові предикатів це твердження виглядає таким чином:

х Кінь (х) ^ Володіти (Джон, х) ^ Чистокровний (х).

Числення предикатів пропонує запис який є більш стислим, ніж звичайна розмовна мова. У системі числення предикатів одна пропозиція відповідатиме безлічі пропозицій звичайної розмовної мови. Числення предикатів зменшує і неоднозначність. Наприклад, "Всі коні не є чистокровними" можна сплутати з "Не всі коні є чистокровними", і плутанина вирішується за допомогою знання того, що існують інші породи коней. Уявлення кожної з пропозицій в термінах предикатів показує їх різницю:

коні ¬ Чистокровний (кінь) і ¬ коні Чистокровний (кінь).

Перша пропозиція дійсно стверджує, що всі чистокровні вимерли (жодного екземпляра не існує), а друга пропозиція стверджує, що "то, що кожен кінь є чистокровним, невірно".

3.3 Інші символьні мови

Є багато мов уявлень, але вони мають багато спільного. Популярні мови типу FOPC, Frames або Semantic nets по суті еквівалентні і мають цілий ряд загальних ключових елементів:

об'єкти, такі як, наприклад, м'яч, персона, човен, велосипед або філософ;

відносини між об'єктами, такі як, наприклад, Джон є батьком Кім, або паровоз тягне склад;

властивості, такі як, наприклад, моя машина зеленого кольору, Девід має зріст шість футів.

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

3.4 Мова Ргоlog

Мова Рrоlog формально не є мовою уявлень, але її синтаксис використовується в наступному розділі, тому ми приведемо її опис.

Мова Ргоlog є мовою програмування штучного інтелекту, в якому дані представляються як безліч відносин між об'єктами. Програма на мові Ргоlog складається із списку фактів і правил, і ця мова є важливою завдяки тому, що вона має вбудований механізм виведення висновків, який дає можливість отримати відповіді на питання про запрограмовані знання. Синтаксис мови Рrоlog опирається на обчисленні предикатів. Відношення типу "Джон любить Мері" записується так:

любить (джон, мері).

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

метал (мідь) - мідь є метал;

грають (джон, мері, теніс) - Джон і Мері грають в теніс.

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

Хто любить мері?

любить (Х, мері)

відповідь X = джон

X конкретизована значенням Джон

Хто є тим, кого любить джон?

любить (джон, X)

відповідь X = мері

Хто кого любить?

любить (Х, V)

відповідь X = джон, У = мері

Правила виражаються за допомогою зворотної нотації у формі "умова якщо умова", в протилежність прямій нотації "якщо умова, то умова". Наприклад

дядько (Х, У): - батько (Z. У), брат (Z, X).

Символ ": - " використовується замість ЯКЩО, а символ ","замість І. Таким чином вказане правило стверджує, що

X є дядько У, якщо Z є батько У і брат є X.

Приклад конкретизації цього правила показаний на мал.3.

Брат Джон

Девід

Дядько

Батько

Малкольм

дядько (джон, малкольм): - батько (девід, малкольм), брат (девід, джон).

Мал.3. Правило мови Prolog, конкретизоване семантичним уявленням, показаним у вигляді діаграми

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

Робота Prolog побудована на уніфікації. Коли Prolog намагається довести твердження, шукається перший вираз, що дає збіг. Для збігу двох виразів вони повинні:

мати одне і те ж відношення;

мати однакове число аргументів;

давати збіг по кожному аргументу.

Порівняння аргументів визначається таким чином.

1. Константи: дві константи дають збіг, якщо вони є ідентичними рядками.

2. Константа і змінна: якщо змінна не конкретизована, то вона даватиме збіг з будь-якою константою і буде конкретизована цією константою; конкретизована змінна даватиме збіг з константою у відповідності с п.1.

3. Змінні: дві довільні змінні (не конкретизовані) завжди дають збіг, а якщо надалі одна змінна стає конкретизованою деякою константою, то інша змінна також буде конкретизована тією ж константою.

Приклади збігів показані в табл.6

Таблиця 6. Порівняння зразків в мові Prolog

Вираз 1

Вираз 2

Збіг

любить (Х, Мері)

любить (Джон, Мері)

так

любить (Джон, X)

любить (Джон, Мері)

X = Мері

любить (Джон, Мері)

подобається (Джон, Мері)

Немає

любить (Х, У)

любить (Джон, Мері)

X = Джон У = Мері

любить (Джон, Мері)

любить (Х, X)

Немає

любить (Х, Мері) і

X = Джон

любить (У, Мері)

У = X = Джон

штовхає (Джон, Кріс)

штовхає (Джон, Кріс, рука)

Немає

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.