Розробка прототипу експертної системи з вибору оптимальної мови програмування

Дослідження методів та розробка програмного продукту, який дозволятимете автоматизувати процес визначення та рекомендації вибору оптимальних мов та засобів програмування, обраних на основі аналізу поставленої задачі. Вимоги до характеристик об’єкта.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 18.05.2016
Размер файла 295,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Реферат

Пояснювальна записка до курсової роботи містить: 30 сторінок, 7 рисунків, 1 таблицю, 6 джерел інформації.

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

Предмет - прототип експертної системи з вибору оптимальних мов та засобів програмування.

Мета курсової роботи - розробка прототипу експертної системи з вибору оптимальної мови програмування для вирішення поставленої задачі.

ЕКСПЕРТНА СИСТЕМА, МОВИ ТА ЗАСОБИ ПРОГРАМУВАННЯ, БАЗА ЗНАНЬ, ФАКТИ, РОЗРОБКА, ПРОТОТИП.?

Зміст

Вступ

1. Загальний розділ

1.1 Опис предметної області

1.2 Постановка задачі

2. Спеціальний розділ

2.1 Вимоги до характеристик об'єкта розробки

2.2 Вибір та обґрунтування оптимальності теоретичних методів

2.2.1 Загальні відомості про експертні системи

2.2.2 Переваги експертних систем

2.3 Вибір та обґрунтування можливих варіантів технічної реалізації

3. Розрахунковий розділ

3.1 Опис бази знань

3.1.1 Вхідні дані

3.1.2 Факти

3.1.3 Таблиця переходів

3.2 Вимоги до персональних комп'ютерів

3.3 Установка/видалення програми

3.4 Правила роботи з програмою

3.4.1 Інструкція користувача

3.4.2 Приклади роботи інтерфейсу

Висновки

Список літератури

Вступ

Предметною областю курсової роботи є сучасні мови та засоби програмування.

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

програмний оптимальний мова автоматизація

1. Загальний розділ

1.1 Опис предметної області

У даній роботі використано наступний підхід для побудови системи надання поради при виборі мови та засобів програмування. Він полягає в попередньому визначенні розробником цілей для яких створюється програмний продукт(ПО) та платформи для якої він призначений. Недоліком цього підходу є складність вибору при написанні кросс-платформенних ПО .

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

1.2 Постановка задачі

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

2. Спеціальний розділ

2.1 Вимоги до характеристик об'єкта розробки

Основними характеристиками, які повинна мати експертна система є:

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

використання ефективних способів, які застосовують фахівці, тобто моделювання діяльності експерта;

прогностичні можливості, тобто можливість описати особливості функціонування системи в заданих параметрах та можливість пояснення своїх дій;

конденсований і узагальнений досвід, відчужений від конкретного носія.

Можна сформулювати чотири принципових вимоги до експертної системи (ЕС)[1,2]:

компетентність (необхідність досягнення рівня професіоналізму експерта-людини, бути вмілим: використовувати знання ефективно і швидко, скорочуючи довгі обчислення, вміти міркувати, виходячи із загальних знань і методів розв'язання, у випадках некоректних даних або неповних наборів правил);

символьне міркування (вміння подавати знання в символьній формі та переформульовувати символьні знання);

глибина пошуку (здатність працювати в предметній галузі, що містять складні задачі творчого характеру, і використовувати складні правила);

«самосвідомість», що передбачає можливість аналізувати свої міркування і пояснювати свої дії [3].

2.2 Вибір та обґрунтування оптимальності теоретичних методів

2.2.1 Загальні відомості про експертні системи

Експертна система - це методологія адаптації алгоритму успішних рішень одної сфери науково-практичної діяльності в іншу. З поширенням комп'ютерних технологій це тотожна (подібна, заснована на оптимізуючому алгоритмі) інтелектуальна комп'ютерна програма, що містить знання та аналітичні здібності одного або кількох експертів щодо деякої галузі застосування і здатна робити логічні висновки на основі цих знань, тим самим забезпечуючи вирішення специфічних завдань (консультування, навчання, діагностика, тестування, проектування тощо) без присутності експерта (спеціаліста в конкретній проблемній галузі). Також визначається як система, яка використовує базу знань для вирішення завдань (видачі рекомендацій) у деякій предметній галузі [4].

Виділяють такі види експертних систем:

за метою створення:

для навчання фахівців;

для вирішення задач;

для автоматизації рутинних робіт;

для тиражування знань експертів.

за основним користувачем:

для не фахівців в галузі експертизи;

для фахівців;

для учнів.

за типами розв'язуваних задач:

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

прогнозуючі системи - призначені для логічного аналізу можливих наслідків заданих ситуацій або подій. Приклади: прогнозування погоди і ситуацій на фінансових ринках;

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

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

системи планування - призначені для підготовки планів проведення послідовності операцій, що призводить до заданої мети. Приклади: задачі планування поведінки роботів і складання маршрутів пересування транспорту;

системи моніторингу - аналізують поведінку контрольованої системи і, порівнюючи отримані дані з критичними точками заздалегідь складеного плану, прогнозують імовірність досягнення поставленої мети. Приклади: контроль руху повітряного транспорту і спостереження за станом енергетичних об'єктів;

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

системи надання допомоги при ремонті устаткування - виконують планування процесу усунення несправностей у складних об'єктах, наприклад, у мережах інженерних комунікацій;

навчальні системи проводять аналіз знань студентів за визначеним предметом, відшукують пробіли в знаннях і пропонують засоби для їхньої ліквідації;

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

за ступенем складності структури:

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

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

за типом використовуваних методів і знань:

традиційні системи - використовують в основному неформалізовані методи інженерії знань і неформалізовані знання, отримані від експертів;

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

за видами використовуваних даних і знань:

з детермінованими знаннями;

з невизначеними знаннями.

Під невизначеністю знань і даних розуміються їхня неповнота, ненадійність, нечіткість.

за способом формування рішення:

аналізуючі системи - вибір рішення здійснюється з множини відомих рішень на основі аналізу знань;

синтезуючі системи - рішення синтезується з окремих фрагментів знань.

за способом урахування часової ознаки:

статичні системи - призначені для вирішення задач з незмінними в процесі рішення даними і знаннями;

динамічні системи - допускають зміни даних і знань у процесі рішення.

за рівнем складності:

прості системи: поверхневі, традиційні (рідше гібридні) системи, виконані на персональних ПЕОМ, з комерційною вартістю від 100 до 25 тисяч доларів, з вартістю розробки від 50 до 300 тисяч доларів, з часом розробки від 3 міс. до одного року, що містять від 200 до 1000 правил;

складні системи: глибинні, гібридні системи, виконані або на символьних ЕОМ, або на потужній універсальній ЕОМ, або на інтелектуальній робочій станції, з комерційною вартістю від 50 тисяч до 1 мільйона доларів, із середньою вартістю розробки 5-10 мільйонів доларів, часом розробки від 1 до 5 років, що містять від 1,5 до 10 тисяч правил.

за стадією існування (ступенем пропрацьованості і налагодженості):

демонстраційний прототип - система, що вирішує частину необхідних задач, демонструючи життєздатність методу інженерії знань. При наявності розвитих інструментальних засобів для розробки демонстраційного прототипу потрібно в середньому приблизно 1-2 міс., а при відсутності 12-18 міс. Демонстраційний прототип працює, маючи 50-100 правил;

дослідницький прототип - система, що вирішує всі необхідні задачі, але хитлива в роботі та не є цілком перевіреною. На доведення системи до стадії дослідницького прототипу йде 3-6 міс. Дослідницький прототип звичайно має 200-500 правил, що описують проблемну область;

діючий прототип - надійно вирішує всі задачі, але для вирішення складних задач може знадобитися занадто багато часу та (або) пам'яті. Для доведення системи до стадії діючого прототипу потрібно 6-12 міс., при цьому кількість правил збільшується до 500-1000.

система промислової стадії - забезпечує високу якість вирішення всіх задач при мінімумі часу і пам'яті. Звичайно процес перетворення діючого прототипу в промислову систему полягає в розширенні бази знань до 1000-1500 правил і переписуванні програм з використанням більш ефективних інструментальних засобів. Для доведення системи від початку розробки до стадії промислової системи потрібно 1-1,5 року;

комерційна система - система, придатна не тільки для власного використання, але і для продажу різним споживачам. Для доведення системи до комерційної стадії потрібно 1,5-3 роки та 0,3-5 млн. доларів. При цьому в базі знань системи 1500 - 3000 правил.

за поколінням:

системи першого покоління - статичні поверхневі системи;

системи другого покоління - статичні глибинні системи (іноді до другого покоління відносять також гібридні системи);

системи третього покоління - динамічні системи, що, як правило, є глибинними і гібридними.

за узагальненим показником - класом:

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

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

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

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

2.2.2 Переваги експертних систем

Експертні системи відзначаються певними перевагами над людьми-експертами при використанні. Зокрема, експертна система:

переважає можливості людини при вирішенні надзвичайно громіздких проблем;

не має упереджених думок, тоді як експерт може користуватися побічними знаннями і легко піддається впливу зовнішніх факторів;

не робить поспішних висновків, нехтуючи певними етапами знайдення рішення;

забезпечує діалоговий режим роботи;

дозволяє роботу з інформацією, що містить символьні змінні;

забезпечує коректну роботу з інформацією, яка містить помилки, за рахунок використання ймовірнісних методів досліджень;

дозволяє проводити одночасну обробку альтернативних версій;

за вимогою пояснює хід кроків реалізації програми;

забезпечує можливість обґрунтування рішення та відтворення шляху його прийняття.

2.3 Вибір та обґрунтування можливих варіантів технічної реалізації

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Розрахунковий розділ

3.1 Опис бази знань

3.1.1 Вхідні дані

Вхідні дані надходять з одного джерела, а саме від експерта. Дані, які надходять:

актуальні дані про мови та засоби програмування;

рекомендації;

підказки;

коментарі.

Усі вхідні дані можуть коррегуватися з часом, наприклад, якщо з'явилися нові мови та засоби програмування

До вихідних даних можна віднести:

мову чи засіб програмування;

рекомендація;

коментар.

3.1.2 Факти

1. Якщо Ви бажаєте написати сайт, і це буде особистий сайт, Вам варто використати конструктор сайтів( наприклад, Ucoz).

2. Якщо Ви бажаєте написати сайт, і це буде коммерційний/ адміністративний сайт Вам варто використати сплав HTML, CSS, та Javascript ».

3. Якщо Ви бажаєте написати додаток для мобільного телефону системи Android слід використати мову програмування Java».

4. Якщо Ви бажаєте написати додаток для мобільного телефону системи IOS, слід використати мову програмування Swift.

5. Якщо Ви плануєте написати додаток для Персонального Комп'ютера (ПК), і цей додаток не буде містити графічного інтерфейсу, можете використати мову програмування С++.

6. Якщо Ви плануєте написати додаток для ПК, і цей додаток буде містити графічний інтерфейс, та включати в себе базу даних, доцільно буде скористатися Access.

7. Якщо Ви плануєте написати додаток для ПК, який буде по своїй суті являтися Експертною Системою(ЕС), рекомендуємо використати програмний продукт Exsys.

8. Якщо Ви плануєте написати додаток для ПК, що матиме графічний інтерфейс, та не потребуватиме зв'язку з мережею Інтернет, слід використати мову С# .Net .

9. Якщо Ви плануєте написати додаток для ПК, що матиме графічний інтерфейс, та потребуватиме зв'язок з мережею Інтернет, слід використати мову С# ASPNet

3.1.3 Таблиця переходів

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

Кожна дуга описується номером її початку й номером її кінця. Крім двох стовпців, відповідних до початку і кінця дуги, є ще два стовпці: “Кінець пошуку” і “Відповідь користувача” (табл. 3.1). Стовпець «Кінець пошуку» вказує на продовження пошуку (0) або його закінчення (1).

Таблиця 3.1 Керування переходом станів

Початковий стан

Кінцевий стан

Кінець пошуку

Відповідь користувача

0

1

1

Сайт

1

3

1

Для себе

1

4

1

Коммерційний

0

2

2

Додаток

2

5

2

Для мобільних платформ

2

6

2

Для ПК

6

7

2

Без граф. інтерфейсу

6

8

2

З граф. інтерфейсом

8

9

2

Так є, БД

8

10

2

Ні, це не БД

10

11

2

Так є, ЕС

10

12

2

Ні, це не ЕС

12

13

2

Так потребує Інтернет

12

14

2

Ні, не потребує Інтернет

3.1.4 Дерево прийняття рішень

Існує декілька методів представлення знань:

концептуальний граф;

семантична мережа;

фрейми.

Продукційна модель знання - модель, заснована на правилах, дозволяє представити знання у вигляді пропозицій типу «Якщо (умова), то (дія)». Продукційна модель - фрагменти семантичної мережі, засновані на тимчасових відносинах між станами об'єктів. Продукційна модель має такий недолік, що при накопиченні досить великого числа (порядку декількох сотень) продукцій вони починають суперечити один одному.

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

На рисунку 3.1 представлений орієнтований граф, що відображає знання експертної системи. Граф представлений у вигляді семантичної мережі. Початкова точка «0», з якої починається опитування користувача. В залежності від відповіді на питання, користувач зможе побачити або наступне логічне питання, або кінцеву рекомендацію, зважаючи на всі відповіді отримані у конкретній гілці питань.

Рисунок 3.1 - Дерево прийняття рішень

3.2 Вимоги до персональних комп'ютерів

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

Для правильної роботи даної програми до складу технічних засобів повинні входити:

персональний комп'ютер наступної конфігурації:

процесор з тактовою частотою не нижче 1 ГГц;

об'єм оперативної пам'яті не менше 225 Мб;

комп'ютерна периферія, до складу якої входить:

системний блок;

монітор;

маніпулятор типу «миша»;

клавіатура;

додатково має бути встановлено наступне програмне забезпечення:

операційна система Windows XP/Vista/7/8;

java ;

будь-який браузер.

3.3 Установка/видалення програми

Зручність реалізованого прототипу експертної системи, полягає у тому, що програма не вимагає попередньої установки, та подальшого видалення. Для повноцінної роботи програми необхідно і достатньо мати на персональному комп'ютері архів/папку з усіма файлами експертної системи. Для запуску програми, достатньо відкрити файл *.CVR. Програма відкриється у браузері, після завершення опитування достатньо закрити вкладку з отриманою рекомендацією. Для видалення програми необхідно просто видалити архів/папку з усіма файлами експертної системи.

3.4 Правила роботи з програмою

3.4.1 Інструкція користувача

Для зручності, інструкцію для користувача, можна побачити на головній сторінці програми (рис. 3.1) [6].

Рисунок 3.2 - Головна сторінка

3.4.2 Приклади роботи інтерфейсу

Після того, як на головній сторінці натиснути кнопку «Приступить», користувач побачить перше запитання (рис. 3.3).

Рисунок 3.3 - Сторінка питання

Вибір можна зробити, вибравши одну із відповідей и натиснувши на кнопку «Ок». Для прикладу роботи програми, наведені сторінки однієї гілки опитування.

Рисунок 3.4 - Сторінка питання

Рисунок 3.5 - Сторінка питання

Рисунок 3.6 - Сторінка питання

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

Рисунок 3.6 - Рекомендація програми

Висновки

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

Використаний у курсовій роботі підхід дає змогу: спростити процес пошуку «оптимальних мови та засобів програмування»; підвищити інформативність користувачів.

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

Вибір рекомендаційних мови чи засобів програмування обґрунтовується коментарями.

Даний прототип можна використати як основу для розробки повноцінної ЕС. Також, на його основі можливо розробити більш масштабну ЕС з підбору мови чи засобу програмування.

Список літератури

1. Джексон П. Введение в экспертные системы / В.И. Андрианов, А.В. Соколов. - Спб.: БХВ, 2001. - 624 с.

2. Райли Г. Экспертные системы: принципы разработки и программирования / В.Н. Корнейчук. - К.: ВИПОЛ, 2007. - 340 с.

3. Мелихов А.Н. Ситуационные советующие системы с нечеткой логикой/ А.Н. Мелихов, Л.С. Берштейн. - М.: Наука, 2006. - 572 с.

4. Стеклов В. К. Телекомунікаційні мережі: підручник для вузів / В.К. Стеклов, Л.Н. Беркман. - К.: Техніка, 2005. - 502 с.

5. Экспертные системы. Принципы работы и примеры; Радио и связь - Москва, 2004. - 224 c.

6. Exsys. - [Електронний ресурс] - Режим доступу : https:// www.exsys.com/demomain.html

Размещено на Allbest.ru


Подобные документы

  • Дослідження класифікації автоматизованих інформаційних систем. Обґрунтування вибору мови і системи програмування. Програмне забезпечення та опис компонентів середовища. Інтерфейс програмного комплексу. Розрахунок повної собівартості програмного продукту.

    дипломная работа [584,1 K], добавлен 26.06.2015

  • Розробка програмного додатку - гри "Jump way", яка поєднала в собі сучасні методи побудови 2D ігор. Обґрунтування вибору мови програмування. Проектування UML-діаграм класів. Користувацький інтерфейс. Програмна реалізація гри. Інструкція користувача.

    курсовая работа [1,2 M], добавлен 09.01.2017

  • Аналіз навігаційних технологій у сучасних AVL системах. Структура системи і вимоги до апаратного забезпечення, розробка алгоритмів функціонування окремих програмних модулів. Вибір мови програмування і СУБД. Тестовий варіант програмного забезпечення.

    дипломная работа [1,8 M], добавлен 17.12.2015

  • Широкі можливості по використанню комп'ютерних навчальних систем. Розробка навчальної системи мультимедійного посібника з дисципліни "Інформатика і ОТ" на тему "Особливості мови програмування С++. Вказівники". Вимоги до розробки навчальної програми.

    курсовая работа [2,9 M], добавлен 23.11.2010

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

  • Створення баз даних для автоматизування роботи торгового представника в середовищі програмування Delрhі. Опис вхідної та результуючої інформації, формалізований опис задачі. Розробка технічного та робочого проекту, опис та обґрунтування вибору структури.

    курсовая работа [135,8 K], добавлен 11.10.2010

  • Дослідження та аналіз об’єкту програмування. Основні архітектурні риси JavaScript. Переваги CSS розмітки. Структура HTML-документа. Вимоги до апаратного та програмного забезпечення. Опис програми та її алгоритмів. Оцінка вартості програмного продукту.

    дипломная работа [1,0 M], добавлен 01.09.2016

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

  • Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.

    дипломная работа [730,9 K], добавлен 21.01.2016

  • Розробка ефективних засобів навчання. Виявлення системи, способів, що сприяють підвищенню активності учнів. Призначення та область використання програми електронний довідник. Розробка алгоритму програми. Обґрунтування вибору мови і системи програмування.

    курсовая работа [161,7 K], добавлен 02.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.