Ілюстрований самовчитель із введення в експертні системи › Системи, що ґрунтуються на знаннях ›
Канонічні системи
У сфері штучного інтелекту й у сучасної психології твердження, що розумне поведінка спрямовується правилами, перетворилося на аксіому. Навіть у "великому" світі люди схильні пов'язувати рівень інтелектуальності з дотриманням правил, і ми все частіше при поясненні розумності звертаємо увагу на те, наскільки дотримуються правила.
Візьмемо для прикладу манеру розмовляти природною мовою. Ми всі поводимося так, ніби володіли знанням усіх правил тієї мови, якою говоримо, наприклад англійської, хоча, звичайно, ми знаємо далеко не всі. (Будь-який, хто запише ці правила, може розраховувати на сліпучу кар'єру в лінгвістиці.)
Суть же полягає в тому, що розумна поведінка, така як правильна мова, видається нам як деякий процес, який регламентується певними правилами, навіть у тому випадку, якщо ми не можемо їх точно сформулювати. У штучному інтелекті правила грають навіть більш явно виражену роль формуванні того, що ми називаємо розумною поведінкою. Ми говоримо, що щось (агент) веде себе саме таким чином, оскільки воно має у своєму розпорядженні подання правил, доречних для формування поведінкового акта, який у такому разі претендує на розумність.
Набір породжуючих правил – це формалізм, який використовувався теоретично автоматів, формальної граматиці, розробці мов програмування, як стати на службу моделюванню психофізіологічної діяльності [Newell and Simon, 1972] та експертних систем [Buchanan and Feigenbaum, 1978]. У літературі за експертними системами їх іноді називають правилами "умова - дія" або "ситуація - дія". Це пов'язано з тим, що такіправила зазвичай використовуються уявлення емпіричних асоціативних зв'язків між даними, пред'явленими системі, і діями, які система має зробити у відповідь.
В експертних системах такі правила зазвичай задають, що потрібно зробити із символічною структурою, що представляє поточний стан проблеми, щоб перейти до подання, ближчого до рішення.
Породження - це насправді граматичні правила маніпулювання рядками символів і тому їх іноді називаютьправилами переписування (rewrite rules ). Пост вивчав властивості систем правил, що базуються на породженнях, які він назвав канонічними системами [Post, 1943].Канонічна система - це різновид формальної системи, заснованої на наступних компонентах:
- алфавіт А, із символів якого формуються рядки;
- кілька рядків, які розглядаються якаксіоми,
- множинипороджень у формі:
- (I) кожне ai та bi; є фіксований рядок;
- (II) а1 та am, часто є нуль;
- (III) деякі або всі з ai або bi можуть являти собою нуль;
- (IV) кожне $i є змінним рядком, який також може бути нулем;
- (V) кожне $i замінюється певним $'i.
Визначення канонічної системи, можливо, стане зрозумілішим, якщо навести приклад. НехайА - алфавіт, а аксіоми суть:
Тоді наступні породження згенерують всі паліндроми, що базуються на цьому алфавіті, прийнявши за відправну точку наявні аксіоми:
Понад те, у разі можна простежити застосування правил, які мають призвести до зростання певного палиндрома. Наприклад, щоб згенеруватиbacab, потрібнозастосувати Р1 до аксіоми, а потім Р2 – до результату. Іншими словами, прийнявшиз як аксіома, можна вивести з неї теоремуаса і додати її до наявних аксіом. Потім заса можна вивести нову теоремуbacab. Зверніть увагу, що ця послідовність породжень не має властивості комутативності, тобто. якщо застосовувати самі правила, але у іншому порядку, вийде зовсім інший результат. Наприклад, якщо до аксіомиз застосувати спочатку правило Р2, а потімР1, то отримаємоabcba.
На погляд канонічні системи досить тривіальні. Все, що можна зробити в рамках такої системи, – перетворити один рядок символів на інший. Але якщо замислитися, будь-яке логічне чи математичне обчислення зводиться до набору правил маніпулювання символами. Ми втрачаємо це на увазі, оскільки для нас часто важливий певний сенс логічних і математичних символів, чого не скажеш про рядки типуabcba.
Звідси випливає, що будь-яка формальна система може розглядатися канонічна (див., наприклад, [Minsky, 1972, Chapter 12J). Насправді до цього потрібно додати тривіальне застереження, що така система може потребувати ще додаткового алфавіту, літери якого будуть використовуватися як знаки пунктуації у складних доказах. Таким чином, для перевірки доказу в будь-якій формальній системі або для того, щоб виконати будь-яку ефективну процедуру, цілком достатньо здатності прочитати рядок символів, розділити його на компоненти і переупорядкувати (при цьому, можливо, доведеться додати ще які- символи або видалити існуючі у вихідному рядку).
Сенс породжень
Нехай задано породжувальне правило у формі:
У ньому a1$1… аm$m часто називаютьантецедентом (antecedent ) правила, а b,$'1… bn$'nконсеквентом (consequent ) правила, за аналогією з умовним виразом логіки висловлювань (див. Розділ 8). Умовний оператор зазвичай записується у вигляді: p U q1, що означає "якщо р, то q", наприклад "якщо ви впали в річку, то будете мокрим".
Однак часто 'U' замінюють значком ' › ', що навряд чи варто робити, оскільки останній несе більш імперативний або вирішальний сенс. Як правило, він говорить не так про логічне слідство, як про те, що потрібно зробити, або про те, що можна було б зробити.
Правило у формі Х › У говорить про те, що можна записати, згенерувати або породити консеквент У при заданому анцеденті X. Воно не говорить про те, що набір X, є нерозривно пов'язаною послідовністю, як у прикладі з купанням в річці. Правила переписування в теоретичній лінгвістиці називаються "породження", оскільки правило виду:
Має таку інтерпретацію: "один із способів сформувати пропозицію S полягає в тому, щоб узяти іменник (NР) і додати до неї дієслово (VP)".