Вибір та обгрунтування можливих варіантів технічної реалізації - Розробка прототипу експертної системи з вибору оптимальної мови програмування

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

Для розробки ЕС використовуються ті ж мови і системи програмування, що і для звичайних програм, але наявність таких специфічних структурних частин, як логічний висновок, природно-мовний інтерфейс, робить кращим використання для розробки ЕС таких мов як LISP, Prolog і спеціальних засобів підтримки розробки.

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

Метою підтримки розробки є полегшення творчого та інтелектуального шляху від ідеї до її опису в доступній комп'ютеру формі. Специфіка засобів, мов програмування і користувальницьких інтерфейсів робить істотний вплив на технологію створення ЕС: розробнику доводиться витрачати більше часу на переклад ідеї на машинний мову, ніж на доведення самої ідеї. Підтримка розробки повинна звільнити користувача від якомога більшої кількості деталей і дозволити йому зосередитися на ідеї [5].

Існують різні засоби підтримки розробки програм. Транслятори мов програмування і відладчики для контролю за станом програм під час виконання були в числі перших таких засобів. Відладчики поряд з екранними редакторами і в даний час залишаються найбільш часто використовуваними засобами, до інших популярних засобів відносяться програми "красивого" друку, підтримка управління конфігурацією, програма перехресних програмних посилань і трасувальник виконання.

Системи EXSYS і GURU відносяться до систем дедуктивного продукційного типу, причому система GURU (у її сучасній версії, орієнтованій на робочі станції) по суті є інструментальним середовищем, що підтримує різні режими конструювання прикладних ЭС і має досить розвинені засоби обробки чинника невизначеності. Ця система орієнтована на різні класи користувачів залежно від їх підготовки в області штучного інтелекту і програмування, має розвинений інтерфейс з сучасними СУБД і електронними таблицями, засоби збору статистики і т. д. Система може працювати на різних обчислювальних платформах під управлінням різних операційних систем, а також має підтримку мережевої конфігурації.

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

Такі системи, як Turbo-Prolog, Interlisp-D дозволяють програмісту запустити програму відразу після введення її в систему. У відповідь на помилку системою викликається відладчик, щоб дати можливість програмісту вивчити причину збою. Програміст може потім відредагувати програму і продовжити її виконання. Цей підхід скорочує час на виправлення дрібних помилок у програмі для експериментального програмування (метод проб і помилок), зазвичай застосовуваного фахівцями з штучного інтелекту.

Проектування великих програмних засобів є складною проблемою. Розбиття життєвого циклу на кілька етапів (аналіз вимог, специфікації, проектування, реалізація, тестування і налагодження, робота і супровід) спрямовано на зменшення складності проектування шляхом ізолювання та впорядкування важливих завдань в процесі розробки.

Lnterlisp-D, Turbo Prolog підтримують тільки етапи реалізації та налагодження. Дослідження показують, що найбільший внесок у вартість життєвого циклу дає етап супроводу. Не менш важливе значення мають засоби етапу вимог і специфікацій, тому що будь-яку помилку в специфікаціях дуже важко і дорого виправляти на пізніших етапах життєвого циклу. Таким чином, аналіз життєвого циклу важливий для будь-якої частини програмного забезпечення, яка призначена для використання кінцевими користувачами на помітному інтервалі часу.

За рівнем абстракції мови програмування діляться на:

Мови низького рівня (машинно-залежні) - Assembler і т. п.;

Мови високого рівня (орієнтовані на користувача (людину) до певної міри) - Pascal, C, Fortran і т. п. ;

Мови програмування високого рівня дозволяють писати програми в формі, більш наближеній до звичайної мови. Програму, написаною мовою високого рівня, можна більш легко читати і модифікувати, і вони значно полегшують роботу програміста порівняно з написанням машинного коду. Для перекладу програм, написаних мовою високого рівня, в машинні коди, повинні існувати спеціальні програми. Такі програми називаються трансляторами.

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

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

В курсовій роботі під час розробки прототипу експертної системи, була використана експертна система Exsys з декількох причин:

Проста реалізація ;

Зручність і легкість візуального сприйняття користувачем;

Зручність наповнення бази знань;

Легкість у додаванні додаткових функцій;

Невеликі часові затрати на створення.

Похожие статьи




Вибір та обгрунтування можливих варіантів технічної реалізації - Розробка прототипу експертної системи з вибору оптимальної мови програмування

Предыдущая | Следующая