Загальні аспекти розробки систем зі штучним інтелектом
Інтелектуальна діяльність
— це дії та розумові висновки людей у нестандартних ситуаціях, коли схема, алгоритм задачі, яка постала перед спеціалістом, апріорі невідомі. Системами штучного інтелекту називають системи, які здатні виконувати операції, імітуючи інтелектуальні функції людини.
Створення систем штучного інтелекту (ШІ) — це багатоаспектне дослідження, яке потребує вирішення кількох груп проблем. На рис.1 наведено чотири групи проблем досліджень у галузі штучного інтелекту. Перша група проблем пов'язана з імітацією творчої розумової діяльності людини. Сутність цього напрямку полягає в розробці комп'ютерних програм, які здатні до відтворення процедур, пов'язаних із творчими розумовими процесами. До таких процедур можна віднести гру в шахи, математичні задачі тощо. Частка робіт, пов'язаних з імітацією творчих процесів у загальному обсязі робіт, що мають на меті створення систем з ШІ, є невеликою. Ці дослідження, насамперед, цікаві з погляду психологів, а також для вироблення фундаментальних положень теорії ШІ.
Друга група проблем пов'язана з інтелектуалізацією ЕОМ. Інтелектуалізація ЕОМ полягає в тому, що разом з обчислювальними операціями значна увага приділяється вмінню ЕОМ виконувати логічні операції і розумові висновки з орієнтацією на користувачів-непрофесіоналів.
Третя група проблем присвячена розробці нових технологій розв'язування задач. Ця технологія базується на нових принципах обробки, в яких виконується маніпулювання нелише даними, а й знаннями таким чином, як це роблять спеціалісти, виконуючи творчу роботу.Четвертим важливим напрямком у створенні систем з ШІ є створення інтелектуальних роботів, здатних до цілеспрямованого поводження, які сприймають інформацію про зовнішнє середо-вище і залежно від цього виконують певні дії.
Розвиток інтелектуальних систем в економіці пов'язаний з роз-робкою експертних систем, а також комп'ютерних систем підтримки прийняття рішень.
Рис.
1.
Схема взаємозв'язку проблем досліджень в галузі штучного інтелекту
ЕКСПЕРТНІ СИСТЕМИ ТА ЇХ ХАРАКТЕРИСТИКА
Експертна система
— це комп'ютерна система, яка втілює в собі досвід експерта, що грунтується на його знаннях в певній галузі. Експертна система (ЕС) на основі обробки цих знань може давати інтелектуальні поради, приймати рішення на рівні експерта-професіонала, а також за бажанням користувача пояснювати хід розв'язування в разі відшукання того чи іншого рішення.
Основні характеристики експертної системи такі:
1. Експертна система, як правило, обмежена певною предметною областю.
2. ЕС має вміти приймати рішення за неповних чи неточних даних.
3. ЕС має вміти пояснювати свої дії при розв'язуванні задачі.
4. Система повинна мати властивість розширення та нарощування функцій.
5. ЕС має вміти імітувати діяльність висококваліфікованого спеціаліста (експерта).
6. ЕС при розв'язуванні задач використовує, як правило, не точні алгоритми, а так звані евристики, тобто методи, які спираються на досвід та знання експерта.
Головні відмінності систем обробки даних від експертних систем, що ґрунтуються на обробці знань, полягають ось у чому:
1. На виході експертної системи користувач дістає не машино-чи відеограму, яка подана в табличному вигляді, а інтелектуальну пораду, що має вигляд тексту.
2. В основу ЕС покладено технологію обробки символьної інформації, що здебільшого подається у формі правил.
3. В узагальненому вигляді системи обробки даних можна подати такою конструкцією:
ДАНІ + АЛГОРИТМ - СИСТЕМА ОБРОБКИ ДАНИХ. Структурно в узагальненому вигляді ЕС можна зобразити так:
ЗНАННЯ + РОЗУМОВИЙ ВИСНОВОК = = ЕКСПЕРТНА СИСТЕМА.
4. Експертна система має архітектуру, яка також відрізняється від архітектури традиційних систем обробки даних. Відмінності полягають у наявності в експертній системі таких блоків:
1) бази знань;
2) пояснень;
3) нагромадження знань.
Структуру експертної системи зображено на рис. 2. розглянемо характеристику основних блоків ЕС.
База знань — це сукупність відомостей про предметну область, для якої розробляється експертна система.
Для функціонування системи база знань має бути наповнена знаннями. Для цього запрошують висококваліфікованих спеціалістів у тій галузі, для якої розробляється система, вони відіграють роль експертів, завдання яких — описати всі відомі знання для функціонування ЕС. У базі знань мають бути наявні знання першого та другого родів. Знання першого роду — це загальновідомі факти, явища, закономірності, які визнані в даній предметній області й опубліковані. Знання другого роду — це набір емпіричних правил та інтуїтивних висновків, якими користуються спеціалісти, приймаючи рішення в умовах невизначеності за наявності неповної суперечливої інформації. Відомості про ці знання, як правило, не опубліковані.
У базі знань ЕС переважно містяться знання першого роду, але мають бути й знання другого роду. Якщо ці знання відсутні, то це означає поганий вибір експертів (вони не вміють формулювати свої знання чи навпаки: не хотять цього робити, щоб зберегти за собою статус унікальних спеціалістів).
Рис.
2.
Структура експертної системи
Інженер з питань знань має такі обов'язки: знання, що їх подали експерти, він структурує і записує в базу знань з урахуванням правил побудови моделі знань, проектованої EC.
Усі знання, які подані в базі знань поділяються на інтенсіо-нальні та екстенсіональні.
Інтенсіональні, або абстрактні, знання являють собою по» нятійні (концептуальні) знання про об'єкти предметної області І зв'язки між ними.
Екстенсіональні (конкретні) знання — це кількісні характе. ристики інтенсіональної частини знань, тобто база даних EC.
Блок рішень, необхідний для пошуку та побудови логічних ви» сновків, які видає користувачеві EC. Дії цього блока подібні до міркувань людини-експерта, яка оцінює проблему і пропонує її гіпотетичне вирішення. Цей блок виконує функції управління процесом пошуку розв'язків, тобто він визначає спосіб і послідовність використання різних правил та процедур. Кожна ECмає містити певну кількість таких правил та процедур. Кількість правил, що їх містить середня EC, перевищує 500, а для великої ECможе перевищувати й 1000.
Здебільшого блок розв'язків складається з двох частин: блока логічного виводу та управляючого блока.
Блок логічного виводу виконує дії, аналогічні до інтелектуальної діяльності спеціаліста, коли той приймає рішення. Функції цього блока — побудова логічного висновку на базі існуючих знань, які зберігаються в БЗ.
Блок управління керує процесом пошуку рішення, тобто визначає послідовність використання різних правил і процедур маніпулювання знаннями.
Блок пояснень слугує для видачі за запитом користувача послідовності логічних висновків та міркувань, якими оперувала система у процесі пошуку рішення. Наявність такого блока в ECдає змогу використовувати її не лише для прийняття рішень, а й для процесу навчання як навчальну систему.
Проблема пояснень та обгрунтування правильності міркувань— важлива й складна задача. Адже попри те, що система містить знання експертів та надає поради, відповідальність за прийняте рішення несе особисто користувач. Досі немає правових актів, які б визначали відповідальність експертів за знання, надані системі, а також за рішення, які приймаються в результаті консультування користувачів з EC, яка містить знання даного експерта чи групи експертів.
Оцінка EC користувачем значною мірою залежить від того, наскільки праця з експертною системою схожа на співробітництво з експертом, і, відповідно, істотно залежить від якості пояснень, що їх надає система користувачеві на ті запитання, які викликають у нього сумнів. Усі питання, які можуть виникнути в користувача при роботі з EC, можна поділити на такі групи: пов'язані з процесом рішення проблеми (як і чому? з якою метою? з яким результатом? з чого це випливає?); стосовно значень термінів, які прийняті в ЕС при організації діалогу з користувачем; про причини виникнення певного запитання у процесі експертизи; стосовно наслідків, які випливають із даної користувачем відповіді на запитання, поставлене системою (наприклад, що буде, коли?).
Для того щоб ЕС змогла швидко і якісно пояснювати правильність своїх відповідей, а також доцільність поставлених запитань, вона записує в робочій пам'яті хід своїх міркувань та їх послідовність.
Факт можливості дістати пояснення породжує в користувача ілюзію, ніби-то система перевіряє відповідність правил, що записані в базі знань. Між тим ЕС пояснює свої дії виключно лише видаючи інформацію про хід процесу міркувань. Наприклад, в ЕС продукційного типу пояснення записуються в базу знань за допомогою модифікованого правила продукції:
Правило XXXЯКЩО < умова >
ТО < висновок чи дія >
ТОМУ ЩО < обгрунтування >
Обґрунтування — це текст, що його дістане користувач після використання даного правила, маючи намір дістати пояснення.
Блок спілкування з користувачем або інтерфейс користувача необхідний для організації діалогової взаємодії між системою і користувачем. Основна вимога до цього блока — це реалізація спілкування природною мовою користувача.
Блок нагромадження знань. ЕС здебільшого будується для таких предметних областей, які характеризуються необхідністю актуалізації та розширення знань. З огляду на це ЕС містить блок, який дає змогу експерту завантажувати базу знань, а також виконувати редагування знань, які зібрані в базі. Усе більший інтерес викликає питання автоматизованого набуття знань експертною системою (актуалізація, коригування та розширення знань ЕС через процес навчання ЕС). Проблему навчання можна звести до створення нових понять та правил на базі існуючих, а також підключення їх в базу знань таким чином, аби не було суперечливості знань.
Отже, функція цього блока полягає у формуванні емпіричних залежностей із неповних знань, тобто здобуття знань першого роду на основі знань другого роду. Але через складність реалізації цих функцій не всі ЕС мають у своєму складі такий блок.
Створення нових знань повністю автоматизованим способом — це дуже проблематичний підхід, запропонований занадто захопленими прибічниками штучного інтелекту. Будь-які знання (особливо нові) потребують дуже ретельної перевірки, яку можуть виконати лише експерти.
Основані на знаннях (інтелектуальні) або експертні комп'ютерні системи мають здатність показати вражаючу і інколи приголомшуючу продуктивність розглядати проблеми в порівнянні з людиною, що не є експертом. Вони роблять так за допомогою використання обширних баз знання, об'єднаних із спеціалізованим евристичним доведенням. Цей підхід привів до розробки систем, які пропонують наступні переваги:
• У класах проблем, як наприклад діагностика дефектів, терапія і вибір, вони можуть розв'язати деякі проблеми інколи краще ніж людина.
• Вони можуть надати організаціям можливість краще управляти важливими активами управління і професійними знаннями і експертизою. Вони дозволили використовувати знання з управління і нагромаджений досвід, що в них зберігаються, центрально підтримуються і зручно розподілені.
• Вони можуть відповісти простим запитам про їхні знання і досвід, і про те, як вони розв'язують проблеми.
• Вони можуть функціонувати з менш досконалою і сумнівною інформацією.
• Вони можуть використовувати тренувальні інструментальні засоби, щоб вдосконалити людський досвід; вони проводять експертизу відносно недорого.
• Вони можуть часто бути легко зміненими, щоб відобразити зміни в робочому оточенні, як наприклад політику, правила і діючі процедури.
• Вони не сплять, не хворіють, не тікають або не з'єднуються з іншими компаніями.
Однак експертні системи на даний момент мають багато обмежень.
• Вони звичайно працюють тільки у вузько визначених проблемних доменах, і їхній рівень розуміння середовища, в якому вони працюють, є до деякої міри поверховим.
• Ці системи досі не мають «здорового глузду», як засоби вони звичайно не можуть обміркувати про проблему багатократними шляхами або на багатократних рівнях. Вони не знають те, коли вони не знають що-небудь, доречне до проблеми; це засіб, що вони можуть спробувати розв'язати проблеми, навіть коли їх знання і метод мислення є очевидно невідповідними, і вони не зможуть повідомити користувача-людину про цей факт. Вони не можуть глибоко знати логіку правил або достовірності правил, які зберігаються в їх базах знань, і вони не знають, коли доцільно порушити правила.
• Вони не можуть самі навчитися.
• Є проблеми продуктивності щодо тривалості відповіді в багатьох системах.
• 3 метою вирішення проблеми продуктивності були створені спеціалізов
• Експертні системи можуть бути дорогими і ризикованими, щоб розроблятися. Навіть коли спеціалізованих апаратних засобів і програмного забезпечення не вимагається, дистиляція людського досвіду, його кодування і збереження в базах знань для використання в експертних системах можуть вимагати значних витрат часу і бути трудомісткими. Майстерності, яка для цього вимагається, немає в багатьох випадках.
• Успішні експертні системи можуть привести до реальних змін в шляхах людини виконувати свої завдання. Це може вимагати суттєвих організаційних і технологічних змін, які можуть стати на перешкоді повного успіху системи , навіть якщо система добре виконана з технічного боку.
Незважаючи на ці обмеження, багато комп'ютерних корпорацій розробили додатки експертних систем як експериментальних, так і діючих, які розгортаються у використанні сьогодні. Вони зробили висновок, що ці системи репрезентують стратегічну конкурентну технологію .
Наприклад, компанія DuPontмає понад 600 експертних систем в дії і таким чином отримує щорічні заощадження до податку, що оцінюються в сотнях мільйонів. Важливо, що тільки близько 20 цих систем є додатки «закритого циклу» (тобто створюється рішення скоріше, ніж підтримується). Решта використовуються в консультативному режимі або в режимі підтримки рішення.
Іншим прикладом є експертна система кредитного дозволу, що використовується AmericanExpress (theCreditAuthorizer'sAssistant — асистент того, хто надає кредитний дозвіл). Ця система ідентифікує ризики між більш ніж 23 млн держателів кредитних карток. Вона слідує крок за кроком за процесом міркування одного із своїх досвідчених аудитерів кредиту, але час рішення скоротився на 25%. AmericanExpressотримала на основі цієї системи до 60% скорочень витрат від фальсифікованих операцій. Очікувані переваги від зменшення ризику, зменшення вартості і вдосконалення дохідних статей оцінюються в 27 млн. дол. США на рік.
Корпорація Австралії LendLease, одна з найбільших Австралійських будівельних компаній, збудувала експертну систему, яка використовується, щоб оцінити справжній час конструювання великих розроблюваних проектів. Ці оцінки потім використо вуються, щоб зробити багато більш точні оцінки для будівельних витрат на ранній стадії.
BritishPetroleum(Британська нафта) розробила і розгорнула багато експертних систем. Можливо найкраща серед відомих систем є радник для проектування розділювачів газу/нафти. Використання її забезпечило економію витрат у кілька мільйонів фунтів стерлінгів за рік.
Багато японських компаній зробили реальні інвестиції в експертних системах з суттєвим обсягом і виграшем. Е. Feigenbaum, P. McCorduck, і Н. Nii, в своїй книзі TheRiseoftheExpertCompany (Зростання Досвідченої Компанії), включають багато прикладів експертних систем, розгорнених Японськими компаніями. Лихоманка експертних систем розгорнулася широко і охопила сотні японських фірм. Не сюрпризом є застосування Ее в інжинірингу інтенсивних індустрій, важких машин і індустріях матеріалів, конструюванні, хімії, страхуванні і фінансових послугах.
Отже, серйозні організаційні заходи і фінанси охоплені розробкою прикладень експертних систем і продуктів. Крім того, виконавчі інформаційні системи і системи підтримки прийняття рішень є дві області, куди потрібно включити дану технологію, і тому є сподівання, що багато компаній намагатимуться зробити так.
Модулі експертних систем можуть і мають бути використані в середині додатків ВІС і СППР. Вони нададуть нам можливість працювати з більш абстрактними, не цифровими фактами і зв'язками, і мають істотно підвищувати ефективність і поширеність таких систем. У деяких випадках вони забезпечать пояснення про те, як вони виконують завдання або щонайменше посилатися на деяку корисну міру надійності, з якою вони обмірковують.
ПОНЯТТЯ ЗНАНЬ ТА ВІДМІННОСТІ ЇХ ВІД ДАНИХ
Інформаційним об'єктом для обробки на ЕОМ у системах зі штучним інтелектом є знання. Знання найчастіше подають як набір фактів (тобто класів об'єктів і зв'язків між ними), що характеризують певну предметну область, процедур та правил маніпулювання фактами, а також інформацію про те, коли і як потрібно використовувати ті чи інші процедури.
Специфічними особливостями знань, які дають змогу відрізняти їх від даних, є такі:
1. Внутрішня інтерпретація. Дані, що зберігаються в базі даних, дістають семантичну інтерпретацію лише після обробки їх відповідними програмами. Знання, на відміну від даних, завжди несуть в собі змістовну інформацію.
2. Наявність ситуативних зв'язків. Знання пов'язані не лише структурно. Вони відбивають закономірності щодо фактів, процесів, явищ і причинно-наслідкових відношень між ними. Ситуаційні зв'язки допомагають будувати процедури аналізу знань на сумісність, суперечливість, одночасність і т.ін.
3. Активність знань. Це принципова відмінність знань від даних. Знання завжди активні. Наприклад, суперечливість у знаннях є стимулом до появи нових знань. Таким самим стимулом активності є неповнота знань, яка й зумовлює необхідність їх поповнення.
4. Знання відрізняються від даних формою подання. Дані відбивають кількісні характеристики і здебільшого подаються в цифровому вигляді. Знання — це переважно якісні характеристики, які набирають вигляду текстової інформації.
Незважаючи на відмінності знань від даних, не завжди можна їх чітко розмежувати.
Якщо база даних є джерелом фактографічних кількісних характеристик про певну предметну область, то база знань містить знання, які відбивають закономірності розвитку цієї предметної області і дають змогу прогнозувати й виводити з допомогою міркувань нові факти, які не належать до бази даних. Знання бувають двох типів: декларативні та процедурні.
Декларативні (предметні) знання — це факти, тобто класи об'єктів і зв'язки між ними. Декларативні знання не містять у явному вигляді опису процедур перетворення знань. Декларативні знання — це певна множина тверджень, які не залежать від того, де і коли вони використовуються. Моделювання предметної області в такій формі потребує повного опису всіх можливих її станів. Розв'язування задачі в такій базі знань грунтується на пошуку, що відбувається у множині можливих станів предметної області.
Процедурні знання чи правила являють собою набір певних процедур перетворення знань як даних. При процедурному поданні знань немає потреби зберігати інформацію про всі можливі стани предметної області, достатньо мати опис початкового стану та процедур, що генерують необхідні стани на базі початкового.
Поділ знань на декларативні та процедурні суто умовний, і межа між цими знаннями рухома. Крім того, відомі нині моделі подання знань різною мірою використовують ті чи інші знання. Існує чотири типи моделей знань: логічні моделі, семантичні мережі, фреймові моделі та моделі продукції. Розглянемо найпоширеніший тип моделей
знань — модель продукції.
МОДЕЛЬ
ПРОДУКЦІЇ
Модель продукції найкраще відбиває процедурний характер знань. Основним конструктивним елементом даної моделі є так зване правило продукції, яке можна подати так:
ЯКЩО <умова> ТОДІ <висновок чи дія>
Ліва частина продукції «ЯКЩО» може містити кілька умов, які об'єднані знаками кон'юнкції та диз'юнкції. Права частина продукції виконується тоді, коли ліва частина істинна.
Компонент «ТОДІ» може містити висновки, твердження, ймовірності, вказівки, тобто набір певних процедур перетворення даних.
Експертні системи, які побудовані на базі моделей продукції, називаються продукційними. Продукційна система складається з таких компонентів: набір правил продукції, база даних (набір фактів) та інтерпретатора, який керує послідовністю використання правил.
В основу правил продукції покладено такий простий принцип: правило визначає шлях (тобто певний набір дозволених перетворень), за допомогою яких виконується перехід від початкового стану до кінцевого розв'язку задачі. Поточний стан відбивається за допомогою множини фактів, які фіксуються в базі даних.
Робота продукційної системи полягає у виконанні певної послідовності ітерацій. Кожна ітерація містить процедуру прийняття рішення про виклик наступного правила і виконання дій, що визначаються останнім. Дії спричинюються до змін у множині фактів, які впливають на вибір відповідного правила. Ідентифікація ґрунтується на порівнянні умови лівої частини правила продукції із вмістом бази даних. Із множини правил, для яких збіглися частини, формується так званий конфліктний набір. Після чого використовується та чи інша процедура вирішення конфлікту. У результаті їх виконання вибирається певне правило з конфліктного набору, використовується його права частина, і цикл повторюється. Існує ряд прийомів, за допомогою яких виконується вибір потрібного правила з конфліктного набору. До найчастіше використовуваних належать такі процедури:
упорядкування продукцій — зазначається послідовність використання правил;
задания параметрів, що свідчать про вік даних — за допомогою цих параметрів можна відфільтрувати останні дані, які є більш «свіжими»;
використання, насамперед, продукції з жорсткішими умовами, тобто з найбільшим списком умов.
Процедура вирішення конфлікту та інформація про послідовність використання продукцій є ядром стратегії управління продукційною системою.
Пошук розв'язку у продукційній системі пов'язаний з переглядом і погодженням за певною послідовністю правил. Такі послідовності можуть бути різними щодо побудови, а саме: прямими, зворотними або змішаними. Продукційні системи з прямим висновком (П-продукція) — це системи, де пошук розв'язку виконується від початкового стану до цільового.
Системи зі зворотним пошуком (3-продукція) характеризуються тим, що в них, на відміну від П-продукції, при пошуку розв'язку відбувається зворотний процес — від цілі до початкового стану.
У системах змішаного типу при виконанні висновку є змога використати як прямий, так і зворотний метод пошуку.
Будь-яка ЕС є системою автоматизованою, а не автоматичною, тобто в роботі системи передбачається наявність і участь людини. При цьому користувач задає початкові дані, тобто факти, які необхідні для забезпечення функціонування системи.
Дня того, щоб користувач зміг ввести необхідні дані, йому видається альтернативне меню. Набір фактів, які необхідні для функціонування системи, і склад правил визначаються при її проектуванні.
Розглянемо приклад знаходження розв'язків ЕС з прямим пошуком.
Приклад. Задано фрагмент правил продукції ЕС, яка функціонує на фондовій біржі як консультуюча та навчальна система для брокерів-початківців.
1. ЯКЩО <процентна ставка падає> ТО <рівень цін на біржі росте>
2. ЯКЩО <процентна ставка росте> ТО <рівень цін на біржі падає>
3. ЯКЩО оалютний курс долара падає> ТО <% ставки ростуть>
4. ЯКЩО <валютний курс долара росте> ТО <% ставки падають> Нехай користувач для визначення поведінки на біржі звернувся з проханням дати відповідь на такий запит:
«Валютний курс долара падає щодо основних валют інших країн».
У разі прямого ланцюжка міркувань система переглядає ліві частини правил. Для наведеного прикладу істинним (тобто таким, що збігатиметься) буде правило 3, але на цьому процес міркувань не закінчується. Здобута права частина «процентні ставки ростуть» знову звіряється з лівими частинами решти правил і вибирається правило 2 і т.д. У результаті ЕС формує і видає таку відповідь на поставлений запит:
«Якщо валютний курс долара падає, то процентні ставки ростуть і рівень цін на біржі падає». Отже, система прямого міркування працює так: 1. Система містить опис ряду ситуацій.
2. Для кожної ситуації система виконує пошук у базі знань відпо-бідного правила, у лівій частині якого міститься відповідна умова.
3. Згідно з правою частиною «ТОДІ» кожне правило генерує нові ситуації, які доповнюють уже виявлені.
4. Система обробляє кожну заново згенеровану ситуацію. За наявності хоча б однієї такої ситуації виконуються дії починаючи з п.2. Міркування закінчуються тоді, коли вже більше немає не-оброблених ситуацій.
У разі зворотної продукції міркування завжди починаються з наслідків («ЯКЩО» — права частина правила). Система, що ре-алізує зворотну систему міркувань за наявними висновками, проводить пошук відповідних умов.
Наприклад, користувача може цікавити питання про те, яка має бути ситуація на фондовій біржі, щоб ціни на ній виросли. Тоді для отримання відповіді система виконає зворотні міркування.
Подання знань на базі правил продукції дуже легко сприймається користувачами, побудовані на цьому принципі ЕС також вельми прості.