У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Робота з секціями IDE ESTA.
6

Лабораторна робота №

Тема: Робота з секціями IDE ESTA.

Мета: Розглянути синтаксис секцій системи ESTA; ознайомитися з керуючими конструкціями секцій; навчитися створювати їх для побудови власної бази знань.

Хід виконання роботи:

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

Для створення нової секції виберіть Section->New Section, і в вікно мал. 1 введіть назву секції.

Мал. 1 Створення секції в ESTA

Після чого відкривається вікно опису секції:

Розглянемо синтаксис секцій:

section Vik : ' '

if (vik>=18) and (vik<=30) (do simstan)

if vik>30 (do dity)

if vik<=17 (advice 'Такого працівника в супермаркеті немає')

section dity : ' '

if dity=0 advice 'У даного працівника немає дітей' do prem

if dity>0 do prem

section prem : ' '

if stat='option_1'and staw>=7 advice 'Працівник 'prizvywe' 'imja' 'отримує від вищого керівництва щоквартальну премію за перевиконання квартального плану. І є менеджером з продажу електротехніки'

if stat='option_1'and (staw>0) and (staw<6) advice 'Працівник 'prizvywe' 'imja' 'pobat' отримує від вищого керівництва місячну премію за хорошу організацію роботи. І займає посаду адміністратора'

if stat='option_1'and staw=0 advice 'Працівник 'prizvywe' 'imja' 'pobat' не отримує від вищого керівництва жодного преміювання. І є продавцем у відділі побутової техніки'

if stat='option_2'and staw>=6 advice 'Працівниця 'prizvywe' 'imja' 'pobat' отримує щомісячну премію за сумлінне виконання своїх обов’язків. На даний час займає посаду: “заввіділом господарських товарів'

if stat='option_2'and (staw>0) and (staw<5) advice 'Працівниця 'prizvywe' 'imja' 'pobat' отримує від вищого керівництва премію у випадку виконання поставленого плану у встановлений термін жодного преміювання. І є продавцем у відділі побутової техніки'

if stat='option_2'and staw=0 advice 'На даний момент працівниця 'prizvywe' 'imja' 'pobat' не отримує від вищого керівництва жодного преміювання, оскільки має малий стаж роботи. Працює продавцем-консультантом. Кар’єрний ріст передбачається у випадку сумлінного виконання своїх обовязків'

Як видно, секція складається з назви (section-name), опису(description-text) та кількох параграфів. Якщо параграф містить логічний вираз, то спочатку обислюється цей вираз і в випадку його істинності чи коли параграф не містить логічний виразів, виконуються дії, згідно порядку записаному в параграфі. Дії в ESTA є такі:

advice -виводить пораду яка вказана в лапках;

assign -використовується для присвоєння значень параметрам;

call -викликає вбудовані процедури

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

do -переведення контролю виконання на іншу секцію;

do_section_of -приймає аргументом перерахований параметр і виконує керування згідно вибраного значення цього параметра;

exit -вихід з режиму консультації;

stop -ця дія може використовуватися для оптимізації

section simstan : ' '

if stan='option_1' do dity

if stan='option_2' do dity

section start : ' '

if (first=true)and(stat)and(prizvywe<>'')and(imja<>'')and(pobat<>'') do Vik

if first=false (stop)

Для розгляду структури секцій вашої бази знань потрібно вибрати Section->Draw section tree

Щоб побачити список всіх секцій вашої БЗ виберіть Section->List all sections: