Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедуральне чи декларативне знання

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

char fly(char *s)

{

char answer = 'д';

if (strcmp(s, "пінгвін")= =0) { answer = 'н' }

return answer;

}

Незалежно від того, володієте ви мовою Сі чи ні, зрозуміло, що цей програмний код явно викликається іншою частиною програми, наприклад, так:

char з;

с == fly("пінгвін");

Припустимо, що замість цього в нас є два правила, що зберігаються в базі знань:

(defrule (птах (тип?Х))

=> (assert (да))

)

(defrule

(птах (тип пінгвін))

=>

(assert (немає))

)

У цьому прикладі форма правил більш близька до оголошення визначення (використаний синтаксис мови CLIPS). Для випадково обраного птаха затверджується, що вона здатна літати. Але якщо відомо, що птах— це пінгвін, то затверджується, що вона не здатна літати. Але оскільки пінгвін це теж птах, то якийсь інший компонент експертної системи повинен вирішити, яке з цих двох правил застосовувати в даній ситуації. Цей компонент називається машиною логічного висновку (inference engine).

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

У цей період з'явився ряд систем, що досить ефективно справлялися з нетривіальними задачами. Прикладом може служити система R1/XCON, призначена для структурного синтезу обчислювальних систем (докладно про неї— у розділі 14). У цій системі реалізований ряд концепцій, що істотно відрізняють її як від звичайних програмних додатків, так і від дослідницьких програм штучного інтелекту (див. [Davis, 1982]), Ті, які я вважаю найбільш важливими, перераховані нижче:

• Як уже було підкреслено в розділі 1, частина програми, що містить представлення знань, що стосується визначеної предметної області, — база знань, як правило, відділена від тієї частини програми, що займається формулюванням розумінь, — машини логічного висновку. Такий поділ дозволяє вносити зміни (звичайно, у розумних межах) в одну частину програми, не змінюючи іншої. Зокрема, можна додавати в базу знань нову інформацію, розширюючи наявні в системі знання, чи набудовувати механізм логічного висновку, підвищуючи його ефективність, і при цьому не модифікувати програмний код системи.

• З погляду користувача систем такого роду бажано, щоб у них використовувалася єдина форма представлення знань, наскільки це взагалі можливо в системах різного призначення. Це спрощує процес уведення знань у систему, полегшує обслуговуючому персоналу супровід системи і перешкоджає зайвому ускладненню машини логічного висновку. Однак, як буде показано в розділі11 і наступних, однаковість може привести до виникнення визначених труднощів при спробі ''утиснути" самі різні по своїй природній природі знання в той самий формалізм. Таким чином, у питанні про представлення знань існує визначена "золота середина" між крайностями — повною однаковістю й вузькоспециалізованим формалізмом.

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

<== предыдущая лекция | следующая лекция ==>
У знаннях сила | Машина логічного виведення і база знань
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 403; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.