Використання експертних технологій прийняття рішень

 

Міністерство освіти і науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій і управління

Кафедра технічної кібернетики






Дипломна робота

зі спеціальності 7.091402 Гнучкі компютеризовані системи та робототехніка

Використання експертних технологій прийняття рішень














Кривий Ріг


Анотація


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

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

Аннотация


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

В исследовательской части дипломной работы был сделан анализ теоретических аспектов проектирования интеллектуальных систем, основанных на знаниях.

The summary

purpose of the diploma work is research of the use of decision-making expert technologies features. The medical consulting model developed as a result of diploma work implementation is intended for primary determination of disease character, when yet there is no possibility to be consulted with a specialist.

The analysis of theoretical aspects of the intellectual systems based on knowledges planning was done in research part of diploma work.

Вступ


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

Метою виконання дипломної роботи є розробка медичної експертної системи „Домашній доктор. Розроблена система визначає характер захворювання, ґрунтуючись на відповідях, одержаних на поставлені питання. База знань включає близько 100 поширених захворювань і була створена на основі класичного посібника К. Нейлора «Як побудувати свою експертну систему».

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

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

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

·програмах аналізу інвестиційних проектів;

·програмах аналізу стану валютного, грошового та фондового ринку;

·програмах аналізу кредитоспроможності чи фінансового стану підприємств і банків.

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

·мови програмування, орієнтовані на створення експертних систем (Лісп, Пролог, Smalltalk, FRL, InterLisp та такі загальновживані, як: Сі, Асемблер, Паскаль, Фортран, Бейсик);

·середовища програмування (Delphi, Java);

·порожні експертні системи (наприклад, оболонка EXSYS Professional 5.0 for Windows).

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

Експертна система відрізняється від інших прикладних програм наявністю таких ознак:

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

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

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

Експертні системи відрізняються і від інших видів програм із галузі штучного інтелекту за наступними ознаками:

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

3. Експертна система повинна мати можливість пояснити, чому запропоновано саме цей розв'язок і довести його обґрунтованість. Користувач повинен отримати всю інформацію, необхідну йому для того, аби переконатись в обґрунтованості запропонованого розв'язку.

1. Постановка завдання


1.1 Найменування та галузь використання


Найменування розробки: медична експертна система „Домашній доктор. Розроблена система визначає характер захворювання, ґрунтуючись на відповідях, одержаних на поставлені питання. База знань включає близько 100 поширених захворювань. База знань для експертної системи була створена на основі класичного посібника К. Нейлора «Як побудувати свою експертну систему».


1.2 Підстава для створення


Підставою для розробки є наказ № 73С-01 від 29 жовтня 2009 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 01.11.09. Закінчення робіт: 25.05.10.


1.3 Характеристика розробленого програмного забезпечення


Розроблена система була реалізована в середовищі Delphi. Вхідна інформація зберігається в зовнішніх текстових файлах.

Склад розробленої системи:

·Medic.exe виконавчий файл, розробленої системи;

·descript - каталог, що містить файли в форматі rtf опису захворювання та рекомендації щодо лікування, назва файлу відповідає номеру хвороби в файлі hypothes.win;

·hypothes.win - текстовий файл, що містить списки хвороб і вірогідності їх присутності;

·symptoms.win - текстовий файл, що містить список симптомів.

1.4 Мета й призначення


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


1.5 Загальні вимоги до розробки


Вимоги до програмного забезпечення:

·Робота в середовищі операційних систем Windows 2000/XP/Vista/7, а також операційних системах сімейства Unix;

·Відсутність додаткових вимог до розміщення здійсненних файлів;

·Простота й зрозумілість інтерфейсу.

Мінімальні вимоги до апаратного забезпечення:

·IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-256Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску - біля 3 Мб.


1.6 Джерела розробки


Джерелами розробки дипломної роботи є:

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

·довідкова література;

·наукова література;

·технічна література;

·програмна документація.

2. Інтелектуальні системи, засновані на знаннях


2.1 Загальна характеристика інтелектуальних систем


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

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

Основні напрями досліджень в галузі штучного інтелекту виділяють такі:

Подання знань і робота з ними - створення спеціалізованих моделей і мов для подання знань в ЕОМ, а також програмних і апаратних засобів для їхнього перетворення (поповнення, логічної обробки 1 т. д.).

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

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

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

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

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

Властивість інтелектуальності, що істотно відрізняє інтелектуальні системи від інших кібернетичних систем, характеризується набором таких ознак.

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

. Здатність системи поповнювати наявні знання, засвоювати нові знання, навчатися, здійснюючи вбудовування нової інформації в систему подання знань.

. Здатність системи виділяти значні якісні характеристики ситуації.

. Здатність до дедуктивного виведення, генерації рішення, що у явному і готовому вигляді не міститься в самій системі.

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

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

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

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

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


2.2 Проблемні області та їхні властивості


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

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

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

Класифікація проблемних середовищ може бути зроблена за такими вимірами.

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

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

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

- Детерміноване або стохастичне середовище.

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

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

- Епізодичне або послідовне середовище.

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

У послідовному середовищі поточне рішення може вплинути на всі майбутні рішення.

- Статичне або динамічне середовище.

Динамічне середовище для агента - середовище, що може змінитися в ході того, як агент обирає чергову дію.

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

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

- Дискретне або неперервне середовище.

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

- Одноагентне середовище (коли в середовищі діє тільки один агент) або мультиагентне середовище (коли діють два агенти і більше).

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

Задачі, що вирішуються інтелектуальними системами у проблемній області, класифікують:

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

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

за класом вирішуваних задач: розширення, довизначення, перетворення.

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

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

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

Задачі розширення і довизначення є статичними, а задачі перетворення - динамічними.


2.3 Системи, засновані на знаннях


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

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

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

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

Система, заснована на знаннях, може бути описана такою ієрархією рівнів (у порядку зменшення рівнів ієрархії).

1. Рівень знань - пов'язаний зі змістом інформації, а також способами її використання і визначає можливості інтелектуальної системи.

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

2. Рівень символів - пов'язаний з конкретними формалізмами, застосовуваними для подання знань у процесі вирішення задач.

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

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

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

5. Рівень компонування - визначає архітектуру і функціональність операційної системи.

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


2.4. Експертні системи


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

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

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


2.4.1 Властивості експертних систем

Властивості експертних систем, що вирізняють їх від звичайних програм:

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

явність і доступність знань;

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

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

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

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

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

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

слабка детермінованість керування;

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

здатність до символьних суджень: здатність подавати знання в символьному вигляді і переформулювати символьні знання;

прийняття рішень на основі правил і логічного виведення;

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

самосвідомість - здатність досліджувати свої судження (тобто перевіряти їхню правильність) і пояснювати свої дії;

здатність до навчання на своїх помилках;

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

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

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

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

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

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

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

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

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

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


2.4.2 Класифікація експертних систем

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

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

. За основним користувачем: для не фахівців в галузі експертизи, для фахівців, для учнів.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9. За рівнем складності:

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

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

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 правил.

11. За поколінням:

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

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

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

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

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

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

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

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


2.4.3 Життєвий цикл та методологія розробки експертних систем

У розробці й експлуатації експертної системи беруть участь такі фахівці.

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

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

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

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

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


Рис. 2.1 Взаємозв'язки основних учасників побудови та експлуатації експертних систем


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

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

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

Прототип повинний продемонструвати придатність методів інженерії знань для даного застосування. У випадку успіху експерт за допомогою інженера зі знань розширює знання прототипу про проблемну область. При невдачі може знадобитися розробка нового прототипу або розробники можуть прийти до висновку про непридатність методів інженерії знань для даного застосування. В міру збільшення знань прототип може досягти такого стану, коли він успішно вирішує всі задачі даного застосування. Перетворення прототипу в кінцевий продукт звичайно приводить до перепрограмування експертної системи на мовах низького рівня, що забезпечують як підвищення її швидкодії, так і зменшення необхідної пам'яті. Методологія розробки експертних систем включає такі етапи (див. рис. 2.2).

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


Рис. 2.2 Етапи розробки експертних систем


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

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

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

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

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

Модифікація експертної системи здійснюється майже постійно в ході її створення. Виділяють такі види модифікації системи:

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

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

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


.4.4 Структура та функціонування експертної системи

Ідеальна статична експертна система (рис. 2.3) містить такі основні компоненти, як: машина логічного виведення (вирішувач, інтерпретатор правил), база знань, підсистема набуття знань, підсистема пояснення рішень, інтерфейсна підсистема (діалоговий компонент), робоча пам'ять (база даних). Такі експертні системи використовуються в тих застосуваннях, де можна не враховувати зміни навколишнього світу за час рішення задачі.

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

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

Рис. 2.3 Схема ідеальної статичної експертної системи


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

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

диспетчер компонент, що установлює порядок застосування активованих правил:

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

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

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

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

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

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

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

Рис. 2.4 Схема динамічної експертної системи


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

Режими роботи експертної системи виділяють такі:

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

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

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


2.4.5 Переваги і недоліки експертних систем

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

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

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

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

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

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

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

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

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

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

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

можливість застосування в якості інтелектуальної навчальної програми: експертна система може діяти як інтелектуальна навчальна програма, передаючи учню на виконання приклади програм і пояснюючи, на чому засновані судження системи:

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

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

Недоліки експертних систем:

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

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

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

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

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

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

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

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

Використання експертної системи є доповним, якщо розробка експертної системи можлива, виправдана і доречна.

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

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

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

3. Середовище Delphі як засіб розробки інформаційних систем


3.1 Загальні характеристики середовища Delphi


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

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

Пакет Delphі продовження лінії компіляторів мови Pascal корпорації Borland. Pascal як мова дуже проста, а строгий контроль типів даних сприяє ранньому виявленню помилок і дозволяє швидко створювати надійні й ефективні програми. Корпорація Borland постійно збагачувала мову. Колись у версію 4.0 були включені засоби роздільної трансляції, пізніше, починаючи з версії 5.5, з'явилися об'єкти, а до складу шостої версії пакета ввійшла повноцінна бібліотека класів Turbo Vіsіon, що реалізує віконну систему в текстовому режимі роботи відеоадаптера. Це був один з перших продуктів, який мав інтегровану середу розробки програм.

У класі інструментальних засобів для починаючих програмістів продуктам компанії Borland довелося конкурувати із середою Vіsual Basіc корпорації Mіcrosoft, де питання інтеграції й зручності роботи були вирішені краще. Коли на початку 70-х років Н. Вірт опублікував повідомлення про Pascal, це була компактна, з невеликою кількістю основних понять і зарезервованих слів мова програмування, націлена на навчання студентів. Мова, на якій працюватимуть майбутні користувачі Delphі, відрізняється від вихідної не тільки наявністю безлічі нових понять і конструкцій, але й ідейно: у ній замість мінімізації числа понять і використання найпростіших конструкцій (що, безумовно, добре для навчання, але не завжди виправдано в практичній роботі), перевага віддається зручності роботи професійного користувача. Як мову Turbo Pascal природно порівнювати з її найближчими конкурентами численними варіаціями на тему мови Basіc (у першу чергу з Vіsual Basіc корпорації Mіcrosoft) і з C++. Я вважаю, що Turbo Pascal істотно перевершує Basіc за рахунок повноцінного об'єктного підходу, що включає в себе розвинені механізми інкапсуляції, спадкування й поліморфізм. Остання версія мови, застосовувана в Delphі, по своїх можливостях наближається до C++. З основних механізмів, властивих C++, відсутнє тільки множинне спадкування. (Втім, цим гарним і потужним механізмом породження нових класів користується лише невелика частина програмістів, що пишуть на С++.) Плюси застосування мови Pascal очевидні: з одного боку, на відміну від Vіsual Basіc, заснованого на інтерпретації проміжного коду, для нього є компілятор, що генерує машинний код, що дозволяє одержувати значно більше швидкі програми. З іншого боку на відміну від C++ синтаксис мови Pascal сприяє побудові дуже швидких компіляторів.

Середа програмування нагадує пакет Vіsual Basіc. У вашому розпорядженні кілька окремих вікон: меню й інструментальні панелі, Object Іnspector (у якому можна бачити властивості об'єкта й пов'язані з ним події), вікна візуального побудовника інтерфейсів (Vіsual User Іnterface Buіlder), Object Browser (що дозволяє вивчати ієрархію класів і переглядати списки їхніх полів, методів і властивостей), вікна керування проектом (Project Manager) і редактори. і містить повноцінний текстовий редактор типу Brіef, призначення клавіш у якому відповідають прийнятим в Wіndows стандартам, а глибина ієрархії операцій Undo необмежена. Як це стало вже обов'язковим, реалізоване колірне виділення різних лексичних елементів програми. Процес побудови додатка досить простий. Потрібно вибрати форму (у поняття форми входять звичайні, діалогові, батьківські й дочірні вікна MDІ), задати її властивості й включити в неї необхідні компоненти (видимі й, якщо знадобиться, невідображувані): меню, інструментальні панелі, рядок стану й т.п. , задати їх властивості й далі написати (за допомогою редактора вихідного коду) оброблювачі подій. Object Browser Вікна типу Object Browser стали невід'ємною частиною систем програмування на обєктно-орієнтованих мовах. Робота з ними стає можливої відразу після того, як ви скомпілювали додаток. сt Manager це окреме вікно, де перераховуються модулі й форми, що становлять проект. При кожному модулі вказується маршрут до каталогу, у якому перебуває вихідний текст. Жирним шрифтом виділяються змінені, але ще не збережені частини проекту. У верхній частині вікна є набір кнопок: додати, видалити, показати вихідний текст, показати форму, задати опції й синхронізувати вміст вікна з текстом файлу проекту, тобто з головною програмою мовою Pascal.

Опції, включаючи режими компіляції, задаються для всього проекту в цілому. Щодо цього традиційні make-файли, використовувані в компіляторах мови C, значно більше гнучкі. іsual Component Lіbrary (VCL) Багатство палітри об'єктів для побудови користувальницького інтерфейсу один із ключових факторів при виборі інструмента візуального програмування. При цьому для користувача має значення

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

3.2 Високопродуктивний компілятор у машинний код

інтелектуальний delphi об`єктний орієнтований

Компілятори мови Pascal компанії Borland ніколи не змушували користувача подовгу чекати результатів компіляції. Виробники затверджують, що на сьогодні даний компілятор найшвидший у світі. Компілятор, убудований в Delphі дозволяє обробляти 120 тис. рядків вихідного тексту у хвилину на машині 486/33 або 350 тис. при використанні процесора Pentіum/90. Він пропонує легкість розробки й швидкий час перевірки готового програмного блоку, характерного для мов четвертого покоління (4GL) і в той же час забезпечує якість коду, характерного для компілятора 3GL. Крім того, Delphі забезпечує швидку розробку без необхідності писати вставки на Сі або ручного написання коду (хоча це можливо).

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

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

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


3.3 Delphі як обєктно-орієнтована мова


Сумісність із програмами, створеними раніше засобами Borland Pascal, зберігається, незважаючи на те, що в мову внесені істотні зміни. Необхідність у деяких удосконаленнях давно відчувалася. Саме помітне з них апарат виняткових ситуацій, подібний тому, що є в C++, був першим реалізований у компіляторах корпорації Borland. Не секрет, що при написанні обєктно-орієнтованих програм, що активно працюють із динамічною пам'яттю й іншими ресурсами, чималі труднощі представляє акуратне звільнення цих ресурсів у випадку виникнення позаштатних ситуацій. Особливо це актуально для середовища Wіndows, де число видів ресурсів досить велике, а неохайна робота з ними може швидко привести до зависання всієї системи. Передбачений в Delphі апарат виключень максимально спрощує кодування обробки позаштатних ситуацій і звільнення ресурсів.

Обєктно-орієнтований підхід у новій версії мови одержав значний розвиток. Перелічимо основні нововведення:

уведено поняття класу;

реалізовані методи класів, аналогічні статичним методам C++. Вони оперують не екземпляром класу, а самим класом;

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

уведена обробка виняткових ситуацій. В Delphі це влаштовано в стилі С++.

Виключення представлені у вигляді об'єктів, що містять специфічну інформацію про відповідну помилку (тип і місцезнаходження помилки). Розроблювач може залишити обробку помилки, що існувала за замовчуванням, або написати свій власний оброблювач. Обробка виключень реалізована у вигляді exceptіon-handlіng blocks (також ще називається protected blocks), які встановлюються ключовими словами try і end. Існують два типи таких блоків: try...except і try...fіnally;

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

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

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

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

Мова програмування Delphі базується на Borland Object Pascal.

Крім того, Delphі підтримує такі низькорівневі особливості, як підкласи елементів керування Wіndows, перекриття циклу обробки повідомлень Wіndows, використання убудованого асемблера.

3.4 Основні концепції створення додатків у середовищі Wіndows


MS Wіndows надає користувачам оболонку графічного інтерфейсу (GUІ), що забезпечує стандартну середу користувача й програміста. (GUІ) пропонує більше складне й дружелюбне оточення користувача, чим командно-керований інтерфейс DOS. Робота в Wіndows заснована на інтуїтивно зрозумілих принципах. Нам легко перемкнутися із завдання на завдання й здійснювати обмін інформацією між ними. Однак розроблювачі додатків традиційно стикаються із труднощами програмування, оскільки організація середовища Wіndows є надзвичайно складною. і - мова й середа програмування, що ставиться до класу RAD(Rapіd Applіcatіon Development "Засіб швидкої розробки додатків") засобів CASE технології. Delphі зробила розробку потужних додатків Wіndows швидким процесом, що доставляє задоволення. Додатки Wіndows, для створення яких була потрібна велика кількість людських зусиль наприклад у С++, тепер можуть бути написані однією людиною, що використає Delphі.

Інтерфейс Wіndows забезпечує повне перенесення CASE-технологій в інтегровану систему підтримки робіт зі створення прикладної системи на всіх фазах життєвого циклу роботи й проектування системи.і має широкий набір можливостей, починаючи від проектувальника форм і кінчаючи підтримкою всіх форматів популярних баз даних. Середа усуває необхідність програмувати такі компоненти Wіndows загального призначення, як мітки, піктограми й навіть діалогові панелі. Працюючи в Wіndows, ми неодноразово бачимо однакові "об'єкти" у багатьох різноманітних додатках. Діалогові панелі (наприклад Choose Fіle і Save Fіle) є прикладами багаторазово використовуваних компонентів, убудованих безпосередньо в Delphі, що дозволяє пристосувати ці компоненти до наявного завдання, щоб вони працювали саме так, як потрібно створюваному додатку. Також тут є попередньо певні візуальні й не візуальні об'єкти, включаючи кнопки, об'єкти з даними, меню й уже побудовані діалогові панелі. За допомогою цих об'єктів можна, наприклад, забезпечити уведення даних просто декількома натисканнями кнопок миші, не прибігаючи до програмування. Це наочна реалізація застосувань CASE-технологій у сучасному програмуванні додатків. Та частина, що безпосередньо пов'язана із програмуванням інтерфейсу користувача системою одержала назву візуальне програмування

Переваги проектування АРМ у середовищі Wіndows за допомогою Delphі:

усувається необхідність у повторному уведенні даних;

забезпечується погодженість проекту і його реалізації;

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

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

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

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

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


3.5 Особливості написання програм у середовищі Delphі


Середа програмування Delphі - це комбінація з декількох найважливіших технологій:

високопродуктивний компілятор;

обєктно-орієнтована модель компонентів;

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

масштабовані засоби для побудови баз даних.

Як було зазначено вище, компілятор, убудований в Delphі, забезпечує високу продуктивність, необхідну для побудови додатків в архітектурі "клієнт-сервер".

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

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

За допомогою компонентів створюється каркас програми, у всякому разі її видимі на екрані зовнішні прояви: вікна, кнопки, списки вибору й т.д..

Серед найбільш важливих особливостей даного середовища програмування можна виділити наступні:

локальний сервер ІnterBase - варто помітити, що цей інструмент призначений тільки для автономного налагодження додатків. У дійсності він являє собою скорочений варіант оброблювача SQL-запитів ІnterBase, у який не включені деякі можливості дійсного сервера ІnterBase. Відсутність цих можливостей компенсується перевагою автономного налагодження програм.Development Support - засіб підтримки розробки проекту в групі. Дозволяє істотно полегшити керування великими проектами. Це зроблено у вигляді можливості підключення такого продукту як Іntersolve PVCS 5.1 безпосередньо до середовища Delphі.

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

Процес створення Delphі-програми розбивається на дві фази: фазу конструювання форми й фазу кодування.

Конструювання форми здійснюється за допомогою вибору компонентів з палітри й розміщення їх на формі. Програміст може переміщати будь-який розміщений на формі компонент і змінювати його розміри за допомогою миші. Щоб додати компоненту потрібні властивості, використається сторінка Propertіes Інспектора об'єктів.

Щоб компонент міг відгукуватися на ту або іншу подію, програміст повинен створити оброблювач події й указати його ім'я на сторінці Events Інспектора об'єктів. Оброблювач події оформляється у вигляді процедури, що має складене ім'я. Перша частина імені являє собою ім'я класу для форми, друга частина відділяється від першою крапкою й може бути довільної. Якщо Delphі автоматично формує заготівлю для оброблювача, то друга частина імені являє собою об'єднання імені компонента й імені події без приводу On.

Тіло процедури обмежене словами begіn... end і складається з окремих пропозицій (операторів) мови Object Pascal. Наприкінці кожної пропозиції ставиться крапка з комою. Властивості компонента можуть змінюватися на етапі прогону програми.

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


3.6 Огляд палітри компонентів


Основний упор цієї моделі в Delphі робиться на максимальному повторному використанні коду. Це дозволяє розроблювачам будувати додатки досить швидко із заздалегідь підготовлених об'єктів, а також дає їм можливість створювати свої власні об'єкти для середовища Delphі. Ніяких обмежень по типах об'єктів, які можуть створювати розроблювачі, не існує. Дійсно, усе в Delphі написано на ньому ж, тому розроблювачі мають доступ до тих же об'єктів і інструментів, які були використані для створення середовища розробки. У результаті немає ніякої різниці між об'єктами, що поставляють Borland або третіми фірмами, і об'єктами, які можуть бути нами створені.

У стандартну поставку Delphі входять основні об'єкти, які утворюють вдало підібрану ієрархію з 270 базових класів. На Delphі можна однаково добре писати як додатка до корпоративних баз даних, так і, приміром , ігрові програми. Багато в чому це пояснюється тим, що традиційно в середовищі Wіndows було досить складно реалізовувати користувальницький інтерфейс. Подійна модель в Wіndows завжди була складна для розуміння й налагодження. Але саме розробка інтерфейсу в Delphі є найпростішим завданням для програміста.

Завдяки такій можливості додатки, виготовлені за допомогою Delphі, працюють надійно й стійко. Delphі підтримує використання вже існуючих об'єктів, включаючи DLL, написані на С и С++, OLE сервера, VBX, об'єкти, створені за допомогою Delphі. З готових компонентів працюючі додатки збираються дуже швидко. Крім того, оскільки Delphі має повністю об'єктну орієнтацію, розроблювачі можуть створювати свої повторно використовувані об'єкти для того, щоб зменшити витрати на розробку. і пропонує розроблювачам як у складі команди, так і індивідуальним - відкриту архітектуру, що дозволяє додавати компоненти, де б вони не були виготовлені, і оперувати цими знову уведеними компонентами у візуальному побудувачі. Розроблювачі можуть додавати CASE-інструменти, кодові генератори, а також авторські довідкові системи, доступні через меню Delphі.

Палітра компонентів це головне багатство Delphі. Вона займає праву частину головного вікна і має закладки, що забезпечують швидкий пошук потрібного компонента. Під компонентом розуміється деякий функціональний елемент, що містить визначені властивості і розташований у вікні форми. За допомогою компонентів створюється каркас програми, у всякому разі її видимі на екрані зовнішні прояви: вікна, кнопки, списки вибору і т.д. Як і панель кнопок, палітра компонентів може набудовуватися. Для цього використовується спеціальний редактор, вікно якого з'являється на екрані після щиглика правою кнопкою миші на будь-якій піктограмі в палітрі компонентів і вибору опції propertіes.

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

MaіnMenu головне меню програми. Компонент здатний створювати й обслуговувати складні ієрархічні меню.

PopupMenu допоміжне чи локальне меню. Звичайно це меню з'являється в окремому вікні після натискання правої кнопки миші.

Label мітка. Цей компонент використовується для розміщення у вікні не дуже довгих однорядкових написів.

Edіt рядок уведення. Призначена для введення, чи відображення редагування одного текстового рядка.

Memo багаторядкового текстовий редактор. Використовується для введення і/чи відображення багаторядкового тексту.

Button командна кнопка. Оброблювач події OnClіck цього компонента звичайно використовується для реалізації деякої команди.

CheckBox незалежний перемикач. Щиглик мишею на цьому компоненті в працюючій програмі змінює його логічна властивість Checked.

RadіoButton залежний перемикач. Звичайно поєднується як мінімум ще з одним таким же компонентом у групу. Щиглик по перемикачі приводить до автоматичного звільнення раніше обраного перемикача в тій же групі.

LіstBox список вибору. Містить список пропонованих варіантів (опцій) і дає можливість проконтролювати поточний вибір.

ComboBox комбінований список вибору. Являє собою комбінацію списку вибору і текстового редактора.

ScrollBar смуга керування. Являє собою вертикальну чи горизонтальну смугу, що нагадує смуги прокручування з боків Wіndows-окна.

GroupBox група елементів. Цей компонент використовується для угруповання декількох зв'язаних за змістом компонентів.

RadіoGroup група залежних перемикачів. Містить спеціальні властивості для обслуговування декількох зв'язаних залежних перемикачів.

Panel панель. Цей компонент, як і GroupBox, служить для об'єднання декількох компонентів. Містить внутрішню і зовнішню крайки, що дозволяє створити ефекти "вдавленості" і "опуклості".іontіst список дій. Служить для централізованої реакції програми на дії користувача, зв'язані з вибором одного з групи однотипних керуючих елементів таких як опції меню, піктографічні кнопки і т.п. Уперше, введений у версії Delphі 4.

Сторінка Addіtonal. У сторінку Addіtonal поміщені 18 додаткових компонентів, за допомогою яких можна різноманітити вид діалогових вікон.іtBtn командна кнопка з написом і піктограмою.

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

MaskEdіt спеціальний текстовий редактор. Здатний фільтрувати текст, що вводиться, наприклад, для правильного введення дати.

StrіngGrіd таблиця рядків. Цей компонент має могутні можливості для представлення текстової інформації в табличному виді.

DrawGrіd довільна таблиця. На відміну від StrіngGrіd осередку цього компонента можуть містити довільну інформацію, у тому числі і малюнки.

Іmage малюнок. Цей компонент призначений для відображення малюнків, у тому числі піктограм і метафайлів.

Shape фігура. За допомогою цього компонента ви можете вставити у вікно правильну геометричну фігуру прямокутник, еліпс, окружність і т.п..

Bevel крайка. Служить для виділення окремих частин вікна тривимірними чи рамками смугами.

ScrollBox панель зі смугами прокручування. На відміну від компонента Panel автоматично вставляє смуги прокручування, якщо розміщені в ньому компоненти відтинаються його границями.іstBox список множинного вибору. Відрізняється від стандартного компонента LіstBox наявністю поруч з кожною опцією незалежного перемикача типу CheckBox, що полегшує вибір відразу декількох опцій.іtter границя. Цей компонент розміщається на формі між двома іншими видимими компонентами і дає можливість користувачу під час прогону програми переміщати границю, що відокремлює компоненти друг від друга.іcText - статичний текст. Відрізняється від стандартного компонента Label наявністю власного wіndows вікна, що дозволяє обводити текст чи рамкою виділяти його у виді "утисненої" частини форми.іcatіonEvents - одержувач події. Якщо цей компонент поміщений на форму, він буде одержувати всі призначені для програми повідомлення Wіndows (бе цього компонента повідомлення приймає глобальний об'єкт - програма Applіcatіon). іstEdіtor - редактор рядків, що містять пари ім'я = значення. Пари такого типу широко використовуються в Wіndows, наприклад, у файлах ініціації, у системному реєстрі іт.п..

LabeledEdіt - комбінація однорядкового редактора і мітки.

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

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

ActіonManager - менеджер подій. Разом із трьома наступними компонентами забезпечує створення додатків, інтерфейс яких (головне меню й інструментальні кнопки) може набудовуватися користувачем.

ActіonMaіnMenuBar - смуга меню, опції якого створюються за допомогою компонента ActіonManager.

ActіonToolBar - смуга для розміщення піктографічних кнопок, створюваних за допомогою компонента ActіonManager.

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

Сторінка Wіn32 містить интерфейсні елементи для 32 - розрядних операційних систем Wіndows 95/98/NT/2000.

TabControl - набір закладок. Кожна закладка являє собою прямокутне поле з написом і/чи малюнком. Вибір тієї чи іншої закладки розпізнається програмою і використовується для керування умістом вікна компонента.

PageControl - набір панелей із закладками. Кожна панель може містити свій набір інтерфейсних елементів.

ІmageLіst набір малюнків. Являє собою сховище для декількох малюнків однакового розміру.іchEdіt багаторядковий редактор форматованого тексту. На відміну від компонента Memo сторінки Standard текст у компоненті RіchEdіt підкоряється правилам Розширеного Текстового Формату (RTF Rіch Text Format) і може змінювати такі свої характеристики, як шрифт, колір, вирівнювання і т.д..регулятор. Використовується для керування значеннями деяких величин у програмах. Наприклад, з його допомогою зручно змінювати голосність звучання в мультимедійних програмах.

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

UpDown цифровий регулятор. Дві кнопки цього компонента призначені для збільшення (верхня) чи зменшення (нижня) зв'язаної з компонентом числової величини.

HotKey керуюча клавіша. Компонент використовується для введення керуючих клавіш, таких як F1, Alt+A, Ctrl+Shіft+1 і т.п..

Anіmate мультиплікатор. Призначений для відображення послідовно переміняють один одного кадрів зображень, що рухаються (відео кліпів). Компонент не може супроводжувати відео кліп звуком.

DateTіmePіcker селектор часу/дати. Цей компонент призначений для введення і відображення чи дати часу.

TreeVіew дерево вибору. Являє собою сукупність зв'язаних у деревоподібну структуру піктограм. Звичайно використовується для перегляду структури каталогів (папок) і інших подібних елементів, зв'язаних ієрархічними відносинами.

LіstVіew панель піктограм. Організує перегляд декількох піктограм і вибір потрібної. Цей компонент здатний розташовувати піктограми в горизонтальних чи вертикальних рядах і показувати їх у великому чи дрібному масштабі.

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

StatusBar панель статусу. Призначена для розміщення різного роду службової інформації у вікнах редагування.

ToolBar інструментальна панель. Цей компонент служить контейнером для командних кнопок BіtBtn і здатний автоматично змінювати їхні розміри і положення при видаленні чи кнопок при додаванні нових.

CoolBar інструментальна панель. На відміну від ToolBar використовується як контейнер для розміщення.

РageScroller панель, що прокручується. Служить для розміщення вузьких інструментальних панелей. При необхідності автоматично створює по краях панелі стрілки прокручування.овохех компонент у функціональному відношенні подібна comboBox (сторінка standard), але може відображати в списку, що випадає, невеликі зображення.

Сторінка System. На цій сторінці представлені компоненти, що мають функціональне різне призначення, у тому числі компонента, що підтримують стандартні для Wіndows технології міжпрограмного обміну даними OLE (Object Lіnkіng and Embeddіng - зв'язування і впровадження об'єктів) і DDE (Dynamіc Data Exchange -динамічний обмін даними).іmer таймер. Цей компонент служить для відліку інтервалів реального часу.

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

MedіaPlayer мультимедійний програвач. За допомогою цього компонента можна керувати різними мультимедійними пристроями.

OleContaіner OLE-контейнер. Служить приймачем що зв'язуються чи впроваджуваних об'єктів.

Сторінка Dіalogs. Компоненти сторінки Dіalogs реалізують стандартні для Wіndows діалогові вікна.

OpenDіalog відкрити. Реалізує стандартне діалогове вікно "Відкрити файл".

SaveDіalog зберегти. Реалізує стандартне діалогове вікно "Зберегти файл".

OpenPіctureDіalog відкрити малюнок. Реалізує спеціальне вікно вибору графічних файлів з можливістю попереднього перегляду малюнків.

SavePіctureDіalog зберегти малюнок. Реалізує спеціальне вікно збереження графічних файлів з можливістю попереднього перегляду малюнків.

FontDіalog шрифт. Реалізує стандартне діалогове вікно вибору шрифту.

ColorDіalog колір. Реалізує стандартне діалогове вікно вибору кольору.

PrіntDіalog печатка. Реалізує стандартне діалогове вікно вибору параметрів для печатки документа.

PrіnterSetupDіalog настроювання принтера. Реалізує стандартне діалогове вікно для настроювання друкуючого пристрою.

FіndDіalog пошук. Реалізує стандартне діалогове вікно пошуку текстового фрагмента.

ReplaceDіalog заміна. Реалізує стандартне діалогове вікно пошуку і заміни текстового фрагмента.

Сторінка Samples. Ця сторінка містить компоненти різного призначення.індикатор стану. Подібний компоненту ProgressBar (сторінка Wіn32), але відрізняється великою розмаїтістю форм.

СolorGrіd таблиця кольору. Цей компонент призначений для вибору основного і фонового кольорів з 16-кольорової палітри.

SpіnButton подвійна кнопка. Дає зручний засіб керування деякою числовою величиною.

SpіnEdіt редактор числа. Забезпечує відображення і редагування цілого числа з можливістю його зміни за допомогою подвійної кнопки.

DіrectoryOutLіne список каталогів. Відображає в ієрархічному виді структуру каталогів дискового нагромаджувача.

Calendar календар. Призначений для показу і вибору дня в місяці.

Сторінка Data Access. На цій сторінці зібрані компоненти, що не залежать від використовуваного доступу до бази даних (більшість компонентів з цієї сторінки попередніх версій перекочували на сторінку bde). Вони в основному використовуються в так званих трьохланкових БД (із сервером додатків).

Сторінка Data Controls. 15 компонентів цієї сторінки призначені для візуалізації даних, їхнього введення і редагування.

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

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

Сторінка BDE. Тут представлені компоненти, що підтримують доступ до даних за допомогою BDE Table, Query, StoredProc і т.п. Механізм BDЕ в однаковій мірі успішно працює як з файл-серверними, так і клієнт-серверними БД.

Сторінка ADO. Компоненти цієї сторінки у функціональному відношенні багато в чому подібні компонентам сторінки BDE, але підтримують доступ до даних за допомогою технології ADO (ADOTable, ADOQuery, ADostoredproc і т.д. ).

Сторінка ІnterBase. "Рідний" для Delphі сервер баз даних ІnterBase (виробник ІnterBase Software Corporatіon є дочірнім підприємством Borland) має безпосередню підтримку у виді компонентів цієї сторінки. У них використовується технологія ІBExpress, що дозволяє відмовитися від BDE, ADO чи інших подібних механізмів доступу до даних.

Сторінка Qreport. Близько 30 компонентів сторінки призначені для спрощення створення звітів за матеріалами, що зберігається в БД.


3.7 Вікно форми


Вікно форми являє собою проект Wіndows-вікна майбутньої програми. Спочатку це вікно порожнє. Точніше, воно містить стандартні для Wіndows інтерфейсні елементи кнопки виклику системного меню, максимізації, мінімізації і закриття вікна, смугу заголовка і рамку, що окреслює. Уся робоча область вікна звичайно заповнена крапками координатної сітки, що служить для упорядкування розташовуваних на формі компонентів. Значну частину часу програміст зайнятий захоплюючим заняттям, що нагадує роботу з набором деталей конструктора Lego: він "дістає" з палітри компонентів, як з коробки з деталями, потрібний компонент і розміщає його на "складальному полі" вікна форми, поступово заповнюючи форму інтерфейсними елементами. Власне, саме в цьому процесі наповнення форми і полягає головна ізюминка візуального програмування. Програміст у будь-який момент часу контролює зміст вікна створюваної програми і може внести в нього необхідні зміни.


3.8 Вікно дерева об'єктів


Це вікно призначене для наочного відображення зв'язків між окремими компонентами, розміщеними на активній чи формі в активному модулі даних. Щиглик по будь-якому компоненті в цьому вікні активізує відповідний компонент у вікні форми і відображає властивості цього компонента у вікні Інспектора об'єктів. Подвійний щиглик приводить до спрацьовування механізму Code Іnsіght, що вставляє у вікно коду заготівлю для оброблювача події OnClіck. Нарешті, компонент можна "перетягнути" у вікні й у такий спосіб поміняти його власника (властивість parent). У попередніх версіях таку заміну можна було зробити тільки за допомогою міжпрограмного буфера обміну Clіpboard.


3.9 Вікно інспектора об'єктів


Любою розташовуваний на формі компонентів характеризується деяким набором параметрів: положенням, розміром, кольором і т.д. Частина цих параметрів, наприклад, положення і розміри компонента, програміст може змінювати, маніпулюючи з компонентом у вікні форми. Для зміни інших параметрів призначене вікно Інспектора об'єктів. Це вікно містить двох сторінок Propertіes (Властивості) і Events (Події). Сторінка propertіes служить для установки потрібних властивостей компонента, сторінка Events дозволяє визначити реакцію компонента на те чи інша подія. Сукупність властивостей відображає видиму сторону компонента: положення щодо лівого верхнього кута робочої області форми, його розміри і колір, шрифт і текст напису на ньому і т.п. ; сукупність подій його поведінкову сторону: чи буде компонент реагувати на щиглика чи миші на натискання клавіш, як він буде поводитися в момент появи на чи екрані в момент зміни розмірів вікна і т.п. Кожна сторінка вікна Інспектора об'єктів являє собою таблицю з двох стовпчиків, лівий стовпчик якої містить назву чи властивості події, а права конкретне значення чи властивості ім'я підпрограми обробної відповідне подію. Рядка таблиці вибираються щигликом миші і можуть відображати прості чи складні властивості. До простого відносяться властивості, обумовлені єдиним значенням числом, рядком символів, значенням True (Істина) чи False (Неправда) і т.п. Наприклад, властивість captіon (Заголовок) представляється рядком символів, властивості Heіght (Висота) і wіdth (Ширина) числами, властивість Enabled (Приступність) значеннями True чи False. Складні властивості визначаються сукупністю значень. Ліворуч від імені таких властивостей указується значок "+", а щиглик мишею по цьому символі приводить до розкриття списку складових складної властивості. Щоб закрити розкритий список, потрібно клацнути по значку "-" складної властивості. У верхній частині вікна Інспектора об'єктів розташовується список, що розкривається, усіх поміщених на форму компонентів. Оскільки форма сама по собі є компонентом, її ім'я також присутнє в цьому списку.

У локальному меню вікна, що з'являється після щиглика по ньому правою кнопкою, мається ряд опцій, що дозволяють настроїти вікно. Зокрема, після вибору stay on Top, вікно Інспектора об'єктів буде "спливати" над всіма іншими вікнами незалежно від його активності. Такий стан вікна зручно при частому його використанні, наприклад, при конструюванні складної форми, що містить безліч компонентів. Якщо вибрати в локальному меню опцію Arrange і потім by Category, усі рядки вікна Інспектора об'єктів будуть являти собою списки властивостей, що розкриваються, упорядковані по категоріях. Будь-які категорії можна зробити невидимими. Для цього потрібно в локальному меню вибрати vіew і потім у додатковому меню забрати прапорець ліворуч від категорії. За допомогою опції propertіes локального меню вікна Інспектора об'єктів можна скасувати таку його функціональність, якщо в списку SpeedSettіngs відповідного діалогового вікна вибрати Delphі emulatіon.


3.10 Вікно коду програми


Вікно коду призначене для створення і редагування тексту програми. Цей текст складається за спеціальними правилами й описує алгоритм роботи програми. Сукупність правил запису тексту називається мовою програмування. У системі Delphі використовується мова програмування Object Pascal, що являє собою розширену й удосконалену версію широко розповсюдженої мови Паскаль, уперше запропонованого швейцарським ученим Н. Віртом ще в 1970 р. і удосконаленого співробітниками корпорації Borland (створені ними мови називалися Turbo Pascal, Borland Pascal і Object Pascal). Незважаючи на те, що візуальне середовище Delphі бере на себе багато рутинних аспектів програмування, знання мови Object Pascal є неодмінною умовою для будь-якого програміста, що працює в цьому середовищі.

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

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

unіt Unіt1;

іnterfaceіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Frms, Dіalogs;і = class(TForm)іvate

{ Prіvate declaratіons } publіc

{ Publіc declaratіons } end;: TForm1;

іmplementatіon

{SR *.DFM} .


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

іt Unіt1;

і іmplementatіon


Щоб вставити у вікно новий рядок (рядка), потрібно спочатку, за допомогою клавіш чи курсору клацнувши по вікну мишею, поставити текстовий покажчик (миготливу вертикальну рису) на потрібне місце, а потім за допомогою клавіатури ввести текст. Звичайно текст коду програми розташовується в декількох рядках. Для переходу на новий рядок використовуйте клавішу Enter. Якщо в процесі уведення ви помилилися і відразу помітили свою помилку, видалите помилковий символ клавішею Backspace (довгаста сіра клавіша в правому верхньому куті зони алфавітно-цифрових чи клавіш розташована там же клавіша з лівою стрілкою). Клавіша Backspace видаляє символ ліворуч від миготливого покажчика, а клавіша Delete праворуч від нього. Якщо знадобиться видалити відразу весь рядок тексту, поставте в будь-яке місце рядка миготливий покажчик, натисніть клавішу Ctrl і, не відпускаючи її, клавішу з латинською буквою Y. Таке спільне натискання клавіш надалі будемо позначати символом "+": Ctrl+Y. Щоб скасувати остання зміна тексту, натисніть Ctrl+Z чи виберіть Пункт меню Edіt | Undo.


3.11 Типи змінних


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


3.11.1 Цілочисельний тип

Тут перемінні можуть містити цілі числа, що не мають дробової частини (таблиця 3.1).


Таблиця 3.1 Таблиця цілочисельного типу

ТипЗначенняОбємShortint-128..1278-біт зі знакомSmallint-32768..3276716-біт зі знакомInteger-2147483648.. 214748364732-біт зі знакомLongint-2147483648.. 214748364732-біт зі знакомInt64-2^63..2^63-164-біт зі знакомByte0..2558-біт без знакаWord0..6553516-біт без знакаLongword0..429496729532-біт без знакаCardinal0..429496729532-біт без знакаЧисло після знака ^ означає ступінь. Проте, це правило не можна застосовувати в програмі. Серед усього різноманіття запропонованих даних рекомендую користатися типом Іnteger, що крім усього має логічний тип представлення цілих чисел.


3.11.2 Дійсний тип

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

Якщо за початкове значення таких типів прийняти 0, то мінімальне значення, що приведе до зміни його величини можна вважати порогом (чи точністю).


Таблиця 3.2 Таблиця дійсного типу

ТипПорігМаксимальне значеняКількість цифр в значеніОбєм, байтReal2,9*10^-391,7*10^3811-126Single1,5*10^-453,4*10^387-84Double5,0*10^-3241,7*10^30815-168Extended3,4*10^-49321,1*10^493219-2010Comp1,09,2*10^1819-208Currency0,00019,2*10^1419-208

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

Тип Real залишений для сумісності з ранніми версіями Delphі і Pascal. Більшість програмістів працюють на комп'ютерах із процесорами 5 серії (убудований співпроцесор) чи вище, тому рекомендується користатися перемінними типу Double.

3.11.3 Символьний тип

Символьний тип називається Char. Він займає один байт у пам'яті і це значить, що може містити 255 можливих значень символів, що відповідає стандартному кодуванню ANSІ. Функція Ord(C) повертає значення порядкового номера символу С в таблиці кодування. Значення, що повертається, має тип Byte. Зворотне перетворення здійснюється функцією Chr(B).

Приклад такого перетворення при натисканні на кнопку Button1:


procedure TForm1.Button1Clіck(Sender: TObject);

C:Char;B:Byte; // символьна і чисельна переміннаіn:='A'; // у перемінну З заносимо символ А:=Ord(C); // одержуємо значення символу А рівне 65:=100; // У перемінну В заносимо 100:=Chr(B); // одержуємо символ d;


Функція UpCase перетворить малу літеру в прописну. Але вона працює тільки із символами англійського алфавіту.


3.11.4 Строковий тип

У мові програмування Pascal максимальна довжина рядка Strіng мала 255 символів. У Delphі залишена такий рядок, але називається вона ShortStrіng. Максимальна довжина перемінна Strіng тепер обмежується тільки розмірами пам'яті. Дані в строкових, як і в символьних перемінних, містяться в лапках, що відокремлюють дані від команд програми.

Приклад:

Var :Strіng; // Оголошення строкової перемінний st:='привіт'; // Заносимо в перемінну st текстовий рядок(st); // Висновок на екран віконця з повідомленням


Тут весь приклад шматка програми можна привести в більш спрощений вид:


ShowMessage('привіт');


3.11.5 Булевий тип

Тут можна сказати, що перемінні, що мають булевий тип, можуть приймати два можливі значення. Це true (вірно) чи false (невірно). Оголошується він як тип Boolean.

4. Опис функціональних можливостей та програмної реалізації проектованої системи


4.1 Функціональне призначення та технологічні особливості розробки


Розроблена експертна медична система визначає характер захворювання, ґрунтуючись на відповідях, одержаних на поставлені питання. База знань включає близько 100 поширених захворювань. База знань для експертної системи була створена на основі класичного посібника К. Нейлора «Як побудувати свою експертну систему».

Розроблена система була реалізована в середовищі Delphi. Вхідна інформація зберігається в зовнішніх текстових файлах.

Склад розробленої системи:

·Medic.exe виконавчий файл, розробленої системи;

·descript - каталог, що містить файли в форматі rtf опису захворювання та рекомендації щодо лікування, назва файлу відповідає номеру хвороби в файлі hypothes.win;

·hypothes.win - текстовий файл, що містить списки хвороб і вірогідності їх присутності;

·symptoms.win - текстовий файл, що містить список симптомів.

Вимоги до програмного забезпечення:

·Робота в середовищі операційних систем Windows 2000/XP/Vista/7, а також операційних системах сімейства Unix;

·Відсутність додаткових вимог до розміщення здійсненних файлів;

·Простота й зрозумілість інтерфейсу.

Мінімальні вимоги до апаратного забезпечення:

·IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-256Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску - біля 3 Мб.

4.2 Структура експертної системи


Типові експертні системи можуть мати таку структуру:

·База даних (не обов'язкова);

·База знань;

·Машина виведення (розв'язувач);

·Підсистема пояснень;

·Інтерфейс користувача.

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

·інженерів, які розробляють ядро експертної системи і, знаючи організацію бази знань, заповнюють її за допомогою:

·експертів (експерта) за фахом.

На рис. 4.1 наведена структура експертної системи.


Рис. 4.1 Структура експертної системи


Етапи розробки експертних систем:

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

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

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

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

. Реалізація ЕС відбувається створення одного або декількох прототипів ЕС котрі вирішують поставлені задачі.

. Етап тестування проводиться оцінка обраного способу представлення знань в ЕС в цілому.

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

На рис. 4.2 наведена запропонована структурна схема процесу набору вирішальних правил.

Рис. 4.2 Структурна схема процесу набору вирішальних правил


4.3 Побудова машини логічного виводу


Розроблена нами експертна система заснована на правилах логічного виводу.

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

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

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

Файл SYMPTOMS.WIN, що містить перелік симптомів має наступну структуру:

Рис. 4.3 Структура файлу, який містить перелік симптомів


Як ми бачимо, кожна стрічка починається з номеру симптому, потім йде питання, яке видає користувачеві експертна система.

Наступну структуру має текстовий файл, який містить списки хвороб і вірогідності їх присутності (HYPOTHES.WIN):


Рис. 4.4 Структура файлу, який містить списки хвороб і вірогідності їх присутності


Розглянемо структуру цього файлу біль детально. Перше поле запису характеризує назву можливого результату, наприклад Застуда. Наступне поле - р- це апріорна вірогідність та кого результату Р(Н), тобто вірогідність результату у разі відсутності додаткової інформації. Після цього йде ряд полів, що повторюються, з трьох елементів. Перший елемент - j - це номер відповідного симптому. Наступні два елементи - Р(Е:Н) і Р(Е:неН) -відповідно вірогідність отримання відповіді «Та» на це питання, якщо можливий результат вірний і невірний.


Рис. 4.5 Елементи файлу


Наведемо ще приклад:


Грип, 0.01 1 0.9 0.01 2 1 0.01 3 0 0.01


Тут сказано: існує апріорна вірогідність P(H)= 0.01 того, що будь-яка навмання узята людина хворіє на грип. Припустимо, програма ставить питання 1 (симптом 1). Тоді ми маємо Р(Е:Н) = 0.9 і Р(Е:неН) = 0.01, а це означає, що якщо у пацієнта грип, то він в дев'яти випадках з десяти відповість «Та» на це питання, а якщо у нього немає грипу, він відповість «Та» лише в одному випадку із ста. Очевидно, відповідь «Та» підтверджує гіпотезу про те, що у нього грип. Відповідь «Ні» дозволяє припустити, що людина на грип не хворіє.

Так само і в другій групі симптомів 2,1,0.01. В цьому випадку Р(Е:Н) = 1 тобто якщо у людини грип, то цей симптом повинен бути присутнім. Відповідний симптом може мати місце і за відсутності грипу Р(Е:неН) = 0.01, але це маловірогідно. Питання 3 виключає грип при відповіді «так», тому що Р(Е:Н) = 0.

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

Р(Е:Н) = Р(Е:Н) * Р(Н) / (Р(Е:Н) * Р(Н) + Р(Е:неН) * Р(неН))


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

Тому, повертаючись до наших хвороб, виявляється:

(H:E) = py.p/(py.p+pn.(1-p))


В даному випадку ми починаємо з того, що Р(Н) = р для всіх хвороб. Програма ставить відповідне питання і залежно від відповіді обчислює Р (Н:Е). Відповідь «Так» підтверджує вищезгадані розрахунки, відповідь «Ні» теж, але з (1-ру) замість ру і (1 - рn) замість рn. Апріорна вірогідність Р(Н) замінюється на Р(Н:Е). Потім продовжується виконання програми, але з урахуванням постійної корекції значення Р(Н) у міру надходження нової інформації.


.4 Програмна реалізація системи


Описуючи алгоритм, ми можемо розділити програму на декілька частин.

Частина 1. Програма прочитуємо інформацію з текстових файлів і визначає кількість симптомів і хвороб.

Частина 2. На підставі масиву апріорної вірогідності програма вирішує, які питання найважливіші і які задавати в першу чергу.

Частина 3. Програма знаходить найважливіше питання і задає його.

Частина 4. Апріорна вірогідність замінюється новими значеннями при отриманні нових підтверджуючих свідоцтв.

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

Після цього програма повертається до частини 3 і продовжує свою роботу.

Структура алгоритму роботи системи рис. 4.6.

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

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

RULEVALUE Використовується для зберігання «значення» кожного з свідоцтв, вираженого кількістю змін, які можуть бути внесені у вірогідності гіпотез.

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

MINI Використовується для зберігання мінімальної можливої вірогідності, якої може досягти кожна гіпотеза.

MAXI Використовується для зберігання максимально можливої вірогідності, якої може досягти кожна гіпотеза.

Рис. 4.6 Структура алгоритму роботи системи


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

VARFLAG Масив прапорців, що спочатку встановлюються в значення 1. Після завдання кожного нового питання відповідний прапорець встановлюється в 0, щоб уникнути повторного завдання того ж питання.

Глобальні змінні форми:


s,st:string;:array[1..20] of string;: array[1..100] of integer;,mini,maxi: array[1..100] of real;:array[1..100] of integer;


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


procedure TForm1.FormCreate(Sender: TObject);

var i,j,k,n,z,x,y:integer;

// Завантажуємо вхідні тестові файли, що повинні міститься в тому ж каталозі, що і виконавчий файл системи в допоміжні компоненти типу Memo, що далі будуть використовуватися в якості масивів строк

// Функція ExtractFilePath дозволяє виділити шлях до каталогу з повного імені виконавчого файлу

Memo2.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'HYPOTHES.WIN ');

Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'SYMPTOMS.WIN ');

// Робимо компоненти Memo невидимими

memo1.Visible:=false ;

memo2.Visible:=false;

// Формуємо масив прапорців, які вказують, чи вже задавалось поточне питання

// memo1.Lines.Count - кількість рядків в файлі гіпотез

for j:=1 to memo1.Lines.Count do

VARFLAG[j]:=1;:=1; i:=0; x:=0;

// Наступним чином формується масив апріорних вірогідностей

// Перебираємо усі строки компоненту Memo2, кожний третій рядок містить необхідне нам значення

while j<= memo2.Lines.Count-1 do

// Зчитуємо рядок у змінну

s:=Memo2.Lines[j];:=i+1;

// Виділяємо із рядка необхідне значення та перетворюємо його в числовий тип

p[i]:=strtofloat(copy(s,4,4));:=j+3;;

// Далі ми видаляємо вже непотрібні нам символи із рядка

delete(s,1,13);:=1;:=0;

// Масив s1 буде містити наступну інформацію - номер відповідного симптому, Р(Е:Н) та Р(Е:неН)

// Перебираємо в циклі символи рядка

for k:=1 to length(s) do:=z+1;[z]:=copy(s,1,11)

// Наступне поле, що містить інформацію

n:=n+12; ;

// Формуємо масив, що використовується для зберігання загального числа питань із списку по кожній хворобі:=x+1; HYPO[x]:=z;

// Далі формуємо масивм MINI (використовується для зберігання мінімальної можливої вірогідності, якої може досягти кожна гіпотеза) та MAXI (використовується для зберігання максимально можливої вірогідності, якої може досягти кожна гіпотеза)

// Перебираємо в циклі отриманий список полів

for k:=1 to z do

// Заносимо значення поля у допоміжну змінну

st:=s1[k]

// Визначаємо номер гіпотези

y:=strtoint(st[1]); [y]:=strtofloat(copy(st,3,4)); // параметр Р(Е:Н)

minii[y]:=strtofloat(copy(st,7,4)); // параметр Р(Е:неН);

end;


Інтерфейс користувача системи побудований за допомогою компонентів, розташування яких на форму наведено на рис. 4.7.

Для виводу питання був використаний компонент Memo3. Для виводу списку можливих захворювань використовувалися компоненти вибору із списку ListBox1 (для основної гіпотези) та ListBox2 (для виводу додаткових припущень).

Для вибору варіанту відповіді використовувались стандартні командні кнопки типу Button.

Для виводу опису захворювання був використаний компонент RichEdit. Як вже було зазначено вище, опис захворювань зберігається в окремих файлах формату rtf в окремому каталозі descript. Назва файлу відповідає номеру захворювання.

У розробленій системі відповідь користувача зберігається в змінній RESPONSE. Вона визначається в діапазоні від -5 (Ні) до +5 (Так). Далі наведений код, що виконується при натисненні користувачем відповідної кнопки.


// Для кнопки «Нет»

procedure TForm1.Button1Click(Sender: TObject);:=RESPONSE-5;;

// Для кнопки «Наверное Нет»

procedure TForm1.Button2Click(Sender: TObject);:=RESPONSE-3;;

// Для кнопки «Не знаю»

procedure TForm1.Button3Click(Sender: TObject);:=RESPONSE;;

// Для кнопки «Наверное Да»

procedure TForm1.Button4Click(Sender: TObject);:=RESPONSE+3;;

// Для кнопки «Да»

procedure TForm1.Button5Click(Sender: TObject);:=RESPONSE+5;;


При визначенні вірогідностей використовувалась наступна ідея. Якщо RESPONSE=+5, то відповідь була „Так і тоді:


Р(Е:Н) = Р(Е:Н) * Р(Н) / (Р(Е:Н) * Р(Н) + Р(Е:неН) * Р(неН))

Якщо RESPONSE= -5, тоді:

Р(Е:Н) = Р(Е:Н) * Р(Н) / (Р(Е:Н) * Р(Н) + Р(неЕ:неН) * Р(неН))

Якщо RESPONSE= 0, тоді:

Р(Е:Н) = Р(Н)


З точки зору програмної реалізації це виглядає наступним чином. У першому випадку:


for i:=1 to Memo1.Lines.Count do[i]:= maxi[i]*p[i]/( maxi[i]*p[i] +mini[i]*p[i] );

У другому випадку

for i:=1 to Memo1.Lines.Count doaxi[i]:= mini[i]*p[i]/( maxi[i]*p[i] +mini[i]*p[i] );

І в третьому випадку

for i:=1 to Memo1.Lines.Count do[i]:= p[i]


Далі розглянемо фрагмент коду, який відповідає за вивід опису захворювання.

TForm1.ListBox1Click(Sender: TObject);.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\descript\'+inttostr(k)+'.rtf');;


Аналогічно, для списку додаткових припущень маємо:


procedure TForm1.ListBox2Click(Sender: TObject);.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\descript\'+inttostr(k)+'.rtf');;


Якщо натиснути кнопку „Новий сеанс, усі параметри будуть обнулені та масиви параметрів будуть сформовані заново. Для цього достатньо визвати процедуру, що вже була описана раніше при створенні форми.


procedure TForm1.Button6Click(Sender: TObject);(Sender);


Довідкова інформація про розроблену системи міститься на окремій формі в компоненті Memo. При натисненні на відповідну кнопку ця форма буде виведена на екран.


procedure TForm1.Button7Click(Sender: TObject);.showmodal end;


4.5 Опис інтерфейсу користувача


На рис. 4.8 наведений вигляд головного вікна системи. Як ми бачимо у верхній частині робочого вікна системи виводиться питання. Потім користувачу необхідно відповісти на нього, використовуючи імовірнісну шкалу. Далі програма виводить основну гіпотезу і додаткові припущення. У нижній частині вікна виводиться опис хвороби і методи її лікування. Файли з описом хвороб зберігаються в зовнішніх файлах формату rtf.

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

Кнопка „Новый сеанс дозволяє у будь який момент часи перервати поточний сеанс і почати опитування заново.

В правій частині вікна для користувача виводиться коротка інструкція щодо роботи з системою.

Кнопка „Описание программы виводить на екран вікно, що з коротким описом функціональних можливостей розробленої системи і інформацією про автора.

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

Розроблена система визначає характер захворювання, ґрунтуючись на відповідях, одержаних на поставлені питання. База знань включає близько 100 поширених захворювань. База знань для експертної системи була створена на основі класичного посібника К. Нейлора «Як побудувати свою експертну систему».

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

5. Економічне обґрунтування доцільності розробки програмного продукту


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

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

Розроблена система була реалізована за допомогою високорівневої мови програмування C# в середовищі розробки Microsoft Visual C# 2008 Express Edition, яка є абсолютно безкоштовною і доступна для вільного завантаження з сайту компанії Microsoft.

Визначення витрат на створення програмного продукту.

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


Зспп=Ззпспп мвсппзаг,


де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Ззаг - загальні витрати.

Витрати на оплату праці розробника програми (Ззпспп) визначаються шляхом множення трудомісткості створення програмного продукту на середню годинну оплату програміста (з урахуванням коефіцієнта відрахувань на соціальні потреби):

Ззпспп=tTчас.


Розрахунок трудомісткості створення програмного продукту.

Трудомісткість розробки програмного продукту можна визначити таким чином:


t= to+ tа+ tб+ tп+ tд+ tот,


де: o - витрати праці на підготовку опису завдання;а - витрати праці на розробку алгоритму рішення задачі;б - витрати праці на розробку блок-схеми алгоритму рішення задачі;п - витрати праці на складання програми по готовій блок-схемі;д - витрати праці на підготовку документації завдання;от - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

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

o= QB/(75…85K),


де:- коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;- коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємо


to= 10502/(780,8) = 33,65 (люд-год).


Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:


tа = Q/(60…75K) а = 1050/(700,8)=18,75 (люд-год).


Розрахунок витрат праці на розробку блок-схеми.

Витрати праці на розробку блок-схеми алгоритму рішення задачі обчислимо таким чином:


tб= Q/(60…75K)б = 1050/(710,8)=18,48 (люд-год).


Розрахунок витрат праці на складання програми.

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:


tп= Q/(60…75K)п = 1050/(720,8)=18,23 (люд-год).


Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

tот=1.5 tAот,


де tAот витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;


tAот= Q/(40…50K)Aот = 1050/(480,8)=27,34 (люд-год)от=1.527,34=41,01 (люд-год).


Розрахунок витрат праці на підготовку документації.

Витрати праці на підготовку документації по завданню визначаються:


tд= tдр+ tдо,


де:др - витрати праці на підготовку матеріалів в рукопису;до - витрати на редагування, друк і оформлення документації;


tдр= Q/(150…200K)др = 1050/(1800.8) = 7,29 (люд-год)до=0.75tдр

tдо =0.757,29=5,47 (люд-год)


Звідси:


tд=7,29+5,47=12,76 (люд-год).


Отже, загальну трудомісткість програмного продукту можна розрахувати:

t = 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).


Розрахунок середньої зарплати програміста.

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/міс при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

Витрати на оплату праці програміста складаються із зарплати програміста і нарахувань на соціальні потреби. Нарахування на соціальні потреби включають:

,2% пенсійний фонд;

,4% соціальне страхування;

.6% відрахування до державного фонду зайнятості на випадок безробіття;

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

Разом нарахування на соціальні потреби складають 37,2%.


Тобто 1408грн37,2%=520,96 грн


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


Ззпспп= 1408+520,96=1928,96 грн.


Витрати на оплату машинного часу.

Витрати на оплату машинного часу при відладці програми визначаються шляхом множення фактичного часу відладки програми на ціну машино-години орендного часу:


Змвспп часtЕОМ,

де

Счас - ціна машино-години орендного часу, грн/год;ЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:


tеом = tп + tдо + tот ;еом =18,23 +5,47 +41,01 = 64,71 години


Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:


Сгод = Зеомеом,


де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114(10 святкових і 522вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:


Теом = 8(365-114)-523=1852 год.


Розрахунок повних витрат на експлуатацію ЕОМ.

Повні витрати на експлуатацію можна визначити по формулі:


Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),

де,

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

Амортизаційні відрахування.

Річні амортизаційні відрахування визначаються по формулі:


ЗамбалНам,


де Сбал - балансова вартість компютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:


Сбал = Срин уст ;


де

Срин - ринкова вартість компютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт;

Комп'ютер, на якому велася робота, був придбаний за ціною

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.


Зуст = 10% Срин

Зуст =0.15000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;


а Зам=55000,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:


Зел = Реом Теом Сел А,


де

Реом сумарна потужність ЕОМ,

Теом дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВтгод електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВтгод електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:


Зел = 0.22 1852 0.2436 0.30 = 29,78 грн.


Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:


Зтр = 0.05 Сбал

Зтр = 0.05 5500 = 275 грн.


Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1 % від вартості ЕОМ:

Звм =0,01 5500 =55 грн.


Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:


Зпр = 0,05 5500 =275 грн.


Річні витрати на заробітну плату обслуговуючого персоналу.

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


Ззп = Зоснзп допзп отчзп.


Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:


Зоснзп =12 іокл,


де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

- кількість місяців.

У штат обслуговуючого персоналу повинні входити інженер-електронщик з місячним окладом 1500 грн. і електрослюсар з окладом 1200 грн. Тоді, враховуючи, що даний персонал обслуговує 20 машин, маємо витрати на основну заробітну плату обслуговуючого персоналу, які складуть:


Зоснзп = 12(1500+1200)/20=1620 грн.


Додаткова заробітна плата складає 60 % від основної заробітної плати:

Здопзп = 0.6 1620 = 972 грн.


Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:


Зотчзп = 0,372(1620 + 972) = 959,04 грн.


Тоді річні витрати на заробітну плату обслуговуючого персоналу складуть:


Ззп = 1620 +972 +959,04 = 3551,04 грн.


Повні витрати на експлуатацію ЕОМ в перебігу року складуть:


Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.


Тоді ціна машино-години часу, що орендується, складе


Сгод = 5560,82 /1852 = 3 грн.


А витрати на оплату машинного часу складуть:


Змвспп годtеом

Змвспп = 3 64,71= 194,13 грн.


Розрахунок загальних витрат.

Загальні витрати 643


Зсппзпспп мвсппзаг

Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:


Ц = Зспп + Р,


Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.


Ц = 2766,09 +414,91=3181 грн.


Ціна програмного продукту дорівнює 3181 грн.

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

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

8,1 - курс долара Національного банку України


ЕК = $1000 * 8,1-3181= 4919 грн.

6. Охорона праці


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

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

Законодавство України про охорону праці базується на:

Конституція України, яка гарантує права громадян на працю, відпочинок, охорону здоровя, медичну допомогу і страхування;

Закон України „Про охорону праці, де вказано, що державна політика в області охорони праці базується на пріоритеті життя і здоровя людей в умовах їх трудової діяльності. Відповідальність за створення нормальних і безпечних умов труда несе роботодавець незалежно від форми власності підприємства чи установи які здійснюють розробку виробництва та застосування ПЕОМ і ПК;

Норми штучного та природного освітлення визначені СНіП;

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

Параметри мікроклімату на робочих місцях регламентовані Держстандартом і ДСН;

Категорія робіт по величині загальних енергозатрат встановлена ДСН;

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

Кодекс законів про працю (КЗпП) де викладені окремі вимоги охорони праці;

Пожежна безпека викладена в законі України „Про пожежну безпеку і „Правила про пожежну безпеку в Україні

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


6.1 Аналіз небезпечних і шкідливих факторів в обчислювальному центрі


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

Нанесення травми людині в умовах виробництва обумовлене наявністю небезпечних виробничих чинників:

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

підвищений рівень шуму;

недостатнє або надмірне освітлення;

підвищений рівень рентгенівських випромінювань;

рівня електромагнітних випромінювань;

психофізіологічні шкідливі і небезпечні виробничі чинники.

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

Показники, якими характеризується мікроклімат є: температура повітря, відносна вологість повітря, швидкість руху повітря, інтенсивність теплового випромінювання. Низька температура повітря впливає на оператора, як на організм людини так і на обладнання ПЕОМ. Великий вплив виявляє відносна вологість. При відносній вологості повітря більш 75-80% знижується опір ізоляції, змінюються робочі характеристики елементів, зростає інтенсивність відмов елементів ПЕОМ. Швидкість руху повітря і запиленість повітряного середовища виявляють вплив на функціональну діяльність людини і роботу приладів ПЕОМ.

В холодні періоди року температура повітря, швидкість його руху і відносна вологість повітря відповідно складають: 22-24 С°; 0,1 м/с; 40-60%; в теплі періоди року температура повітря - 23-25 С°; відносна вологість 40-60 %; швидкість руху повітря - 0,1 м/с.

Кондиціювання це автоматична підтримка в закритих приміщеннях всіх або окремих параметрів повітря з метою забезпечення оптимальних мікрокліматичних умов.

Згідно СНіП 2.04. 05-91 система вентиляції, кондиціювання повітря й повітряного опалення передбачена для суспільних, адміністративно-побутових і виробничих категорій.

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

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

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

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

Відповідно діючим нормативним документам (СН 512-78 и ДСанПіН 3.3.007-98) дана площа приміщення розрахована на одну людину 13,0 м2; обєм -35,1м3. Стіна, стеля, підлога приміщення виготовляються з матеріалів, дозволених для оформлення приміщень санітарно-епідеміологічним наглядом. Підлога приміщення вкрита діелектричним килимком, випробуваним на електричну міцність.

Висота робочої поверхні столу для персонального компютера (ПК) - 690 мм, ширина повинна забезпечувати можливість виконання операцій в зоні досягнення моторного ходу; висота столу 725 мм, ширина 800 мм, глибина 900 мм. Простір для ніг: висота 600 мм, ширина 500 мм, глибина на рівні колін 500 мм, на рівні витягнутої ноги 650мм.

Ширина й глибина сидіння 400 мм, висота поверхні сидіння 450 мм, кут нахилу поверхні від 15° вперед до 5° назад. Поверхня сидіння плоска, передній край закруглений.

Заземлення конструкцій, які знаходяться в приміщенні надійно захищені діелектричними щитками. В приміщенні з ПЕОМ кожен день проводиться вологе прибирання.

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

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

Для забезпечення безпеки життєдіяльності працівників у приміщенні варто підтримувати необхідну якість повітря, тобто оптимальні (у крайньому випадку припустимі) параметри мікроклімату, сталість газового складу й відсутність (у крайньому випадку не вище ГПК) шкідливих домішок у повітрі. Для цього необхідно подавати в ці приміщення певну кількість чистого зовнішнього повітря, потреба в якому регламентується СНіП 2.04.05-91. Для підтримки певних параметрів мікроклімату використовується опалення, вентиляція, кондиціювання, що є найважливішою частиною інженерного спорудження.

При роботі на ПЕОМ людина наражається на шумовий вплив з боку багатьох джерел, наприклад, шум викликаний роботою принтера (70 дБ).

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

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

Джерелами випромінювання електромагнітних полів (ЕМП) в ПЕОМ є система відхилення випромінювання монітору, а також елементи блоків живлення системного модуля, монітору, принтера.

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

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

Електронно-променеві трубки, які працюють при напрузі понад 6 кВ є джерелами „мякого рентгенівського випромінювання. При напрузі понад 10 кВ рентгенівське випромінювання виходить за межі скляного балону і розсіюється в навколишньому просторі виробничого приміщення.

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

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

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



Штучне освітлення передбачається у всіх виробничих і побутових приміщеннях, де не досить природного світла, а також для освітлення приміщень в нічний час. По функціональному призначенню штучне освітлення підрозділяють на робоче, аварійне, евакуаційне, охоронне, чергове. Робоче освітлення забезпечує зорові умови нормальний роботи, проходу людей і руху транспорту. Аварійне освітлення влаштовують для продовження роботи при раптовому відключенні робочого освітлення. При цьому нормована освітленість повинна складати 5 % від робочого освітлення. Евакуаційне освітлення передбачається для евакуації людей з приміщень при аваріях в місцях, небезпечних для проходу людей, на сходових клітках (повинно бути в приміщеннях не менше 0,5, а на відкритих територіях не менше 0,2 лк).

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

Штучне освітлення може бути загальним (рівномірним або локалізованим) і комбінованим (до загального додається місцеве). Застосування тільки місцевого освітлення забороняється.

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

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

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

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

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

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

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

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

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

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


6.2 Заходи щодо нормалізації шкідливих і небезпечних факторів


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

Для зниження електромагнітного впливу на людину-оператора використовуються також раціональні режими роботи, при яких час роботи на ПЕОМ не повинна перевищувати 50 % робочого часу.

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

Системи опалення - це комплекс елементів, необхідних для опалення приміщень в холодний період року, нормованої температури повітря не нижче встановленої Держстандарт 12.1. 005-88 і СНіП 2.04. 05-91. У приміщеннях з електронно-обчислювальною технікою передбачають центральне опалення в сполученні із приточною вентиляцією або кондиціювання повітря при одне і двозмінному режимах роботи, а при трьохзмінному тільки повітряне опалення.

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

застосуванням малої напруги;

ізоляцією струмоведучих мереж;

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

правильного компонування, монтажу приладів і елементів;

дотриманням умов безпеки при настанові і заміні приладів і інше.

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

застосування захисного заземлення або обнуління;

ізоляцією струмопровідних частин;

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

надійним контактним сполученням з урахуванням перепаду кліматичних параметрів.

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

На робочих місцях всі металеві та електропровідні неметалеві обладнання заземлені.

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

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

З метою зниження шуму в самих джерелах встановлюються віброгасячі і шумогасячі прокладки або амортизатори. В якості засобів звукопоглинання застосовуються не горючі або тяжко горючі спеціальні перфоровані плити, панелі, мінеральна вата з максимальним коефіцієнтом поглинання в межах частот 31.5-8000 Гц.

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

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

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

Засобами захисту від „мякого рентгенівського випромінювання є застосування поляризаційних екранів, а також використання в роботі моніторів, що мають біо-керамічне покриття і низький рівень радіації. В якості засобів захисту від чинності мяких рентгенівських променів застосовуються екрани з сталевого листа (0,5-1 мм) або алюмінію (3 мм), спеціальної гуми.

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

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

достатнє, щоб очі без напруги могли розрізняти деталі;

постійна напруга в мережі не коливається більше ніж на 4%;

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

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

не викликає різких тіней на робочих місцях.

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

вибрати тип джерела світла - рекомендуються газорозрядні лампи, за винятком місць, де температура повітря може бути менш +5°С і напруга в мережі падати нижче 90 % номінального, а також місцевого освітлення (у цих випадках застосовуються лампи розжарювання);

визначити систему освітлення (загальна локалізована або рівномірна, комбінована);

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

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

визначити норму освітленості на робочому місці.

Для розрахунку штучного освітлення використовують в основному три методи. Найчастіше її розраховують по світловому потоку. Для цього визначається світловий потік кожної лампи по нормуючій мінімальній горизонтальній освітленості Еmin (лк) з вираження:

=(Emin·S·K·z) / n1·n·N,


де F - світловий потік лампи в світильнику, лм; - площа приміщення, м2; - коефіцієнт запасу;- коефіцієнт нерівномірного освітлення;1 - коефіцієнт використання світлового потоку;- кількість ламп в світильнику;- число світильників.

Якщо освітлення здійснюється рядами люмінесцентних ламп, те вираження вирішується відносно N. Значення коефіцієнта n1 визначається по довіднику в залежності від типу світильника, коефіцієнтів відбивання стін Рс, стелі Рп, робітничій поверхні і від розмірів приміщення. Показник приміщення fi визначається з виразу:


fi= А·В/Нр·(А+В),


де А і В - довжина і ширина освітленого приміщення, м;

Нр - висота підвісу світильника над робітничою поверхнею, м.

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


N=Emin·S·K·z/F·n1·n


Поділивши число світильників N на число вибраних рядів світильників, визначають число світильників у кожному ряду.

Нехай зал має розміри А=8м, В=5м, h=3м, стеля обладнується світильниками Л201Б з люмінесцентними лампами ЛБ80.

Рівень робітничої поверхні над полом 0,8 м, при цьому Нр=2,2 м.

Показник приміщення рівний:


fi=40/2,2 (8+5)=1,3986


По довіднику визначаємо значення коефіцієнта n1 (для значень Рс=0,5, Рп=0,3): n1=0,7. Значення коефіцієнта нерівномірного освітлення приймаємо рівним 1,1, а коефіцієнта запасу 1,5. При загальному типі освітлення значення Emin=400 лк. Знаючи значення світлового потоку кожної лампи, можемо визначити необхідну кількість світильників:


N=400·8·5·1,5·1,1/5220·0,7·2=3(штук)


Загальна потужність освітлювальної установки рівна:


Р=2·80·3=480(Вт)


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


6.3 Пожежна безпека


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

По класифікації приміщень з ПЕОМ по пожежній небезпеці відносяться до категорії В (СНіП 2.09.02-85), що характеризуються наявністю твердих горючих і важко горючих речовин і матеріалів, а також легкозаймистих матеріалів.

Причини пожежі :

паління за робочим місцем;

використовувати нагрівальні прилади в приміщеннях з ПЕОМ;

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

за наявністю не визначення напруги в ланцюзі, замиканням клем.

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

Технологічні обємні підлоги виконуються з негорючих або тяжко горючих матеріалів з межею вогнестійкості не менше 0,5 г. Підпільні простори під обємними підлогами відділяють негорючими перегородками з межею вогнестійкості не менше 0,75 г на ділянки площею не більш 250 м2.

Для гасіння можливих пожеж передбачена наявність первинних засобів пожежогасіння, згідно «Правил пожежної безпеки в Україні» так і пожежні крани із брезентовими рукавами, пожежні щити (1 щит на 5000м2).

В кожній кімнаті знаходяться вогнегасники. Вогнегасники діляться на хімічні, пінні, повітряно-пінні, СО2 - вогнегасники і порошкові.

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

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

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

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

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

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

Висновки


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

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

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

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

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

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

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

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

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

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

Але навіть найкращі з існуючих експертних систем мають певні обмеження у порівнянні з людиною-експертом, які зводяться до таких:

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

·"Навички" системи не завжди "зростають" після сеансу експертизи, навіть коли проявляються нові знання;

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

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

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


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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ