Оператор чи демон є застосовний до опису ситуацiї, якщо до нього може бути застосовано його основне продукцiйне правило.
Наведемо приклад запису продукцiйних правил оператора типу дiї, вiдповiдного перемiщенню робота з кiмнати Х1 у смiжну з нею кiмнату Х3.
ОД ДОСТ 0,5 СТАРТ ПІСЛЯ 5: ПЕРЕЙТИ З КІМ_Х1 У КІМ_Х3
ЯКЩО
ПРИМІЩЕННЯ: МІСТИТЬ ДВЕРІ_Х2, КОМ_Х1, КОМ_Х3
ДВЕРІ_Х2: З'ЄДНУЄ КОМ_Х1 З КОМ_Х3, СТАН ВІДЧИНЕНА.
/ КОМ_Х1 МІСТИТЬ РОБОТ /
РОБОТ ПОРЯД З ДВЕРЯМИ_Х2,
ТО
КОМ_Х3 МІСТИТЬ РОБОТ,
'ЯКЩО
УВЕСЬ Х4: КОМ_Х1 МІСТИТЬ Х4;
Х4 ДВЕРІ_Х2
/ РОБОТ ПОРЯД З Х4. /
Пiсля виконання основного продукцiйного правила опис пiдсумковiї ситуацiї записується вираз “КОМ_Х3 МІСТИТЬ РОБОТ” з конкретизованим значенням змiнної Х3, яке набулося пiд час розпiзнавання застосування цього правила в вiдповiдностi з описом його лiвої частини. З опису вхiдної ситуацiї буде вилучено вираз “КОМ_Х1 МІСТИТЬ РОБОТ”.
До складу цього оператора входить також корекцiйне правило без правої частини. Внаслiдок виконання цiєї продукцiї з опису вхiдної ситуацiї вилучаються вирази, що затверджують факти находження робота зо всiма об'єктами Х4. Проте, слiд замiтити, що умови находження робота поряд з об'єктами Х4 не є умовами застосування оператора.
Операторам, якi мають в описах продукцiй цикли, можуть вiдповiдати послiдовностi дiй, що циклiчно повторюються.
Наведемо приклад iменувальної частини оператора, що задає циклом дiю по перестановцi п'яти об'єктiв з столу Х2 на стiл Х3:
ОД ЦИКЛ 5 СТАРТ ПЕРЕД 12.00 ТРИВ 30 С:
( ПІДІЙТИ ДО С ТОЛУ Х2; ВЗЯТИ Х1;
ПІДІЙТИ ДО С ТОЛУ Х3; ПОСТАВИТИ Х1 НА СТІЛ Х3 ).
Для задання часу початку i тривалостi виконання оператора в описiiменувальної частини використанi обмежувачи старта i тривалостi.
Рiшення по вибору вариантiв механiчної обробки деталей приведени в табл. 2.
Таблиця 2
Значення параметрiв деталей, що визначають вибiр обробки | |||||||
Варианти обробки | Кiлькiсть деталей в партiї (КДП) | Вiдношення довжини до дiаметра (ВДД) | Найбiльший зовнiшнiй дiаметр (НЗД) | Довжина деталi (ДД) | Дiаметр центру отвору (ДЦО) | Матерiал | Вигляд заготiвки (ВЗ) |
1 2 3 4 5 | 1, 2 1, 2 3, 4, 5 3, 4, 5 4, 5 | 0, 1 2, 3 1 2, 3 0, 1 | О И О И О А О А З А | 0 Ж 0 Ж 0 6 0 Б 7 Д | - - 05 15 05 | - - 06 06 06 | - - 5, 6, 8, 9 0, 6, 8, 9 5, 6, 8, 9 |
Опис оператора, що моделює таблицю рiшень, мiстить значення змiнних, якi йдуть поза службовим словом ДЕ, i має вигляд:
ОД ВАР Х1:
ЯКЩО
КПД Х2;
ВДД Х3;
НЗД Х4;
ДД Х5;
ДЦО Х6;
МАТЕРІАЛ Х7;
ВЗ Х8;
ТО
ВАР Х1;
ДЕ:
Х1 1, 2, 3, 4, 5;
Х2 1, 2, 1, 2, 3, 4, 5, 3, 4, 5, 4, 5;
Х3 0, 1, 2, 3, 1, 2, 3, 0, 1;
Х4 О_И, О_И , О_А, О_А , З_А;
Х5 0_Ж, 0_Ж, 0_6, 0_Б, 7_Д;
Х6 _ , _ , 0_5, 1_5, 0_5;
Х7 _ , _ , 0_6, 0_6, 0_6;
Х8 _ , _ , 5, 6, 8, 9, 0, 6, 8, 9, 5, 6, 8, 9.
Демон типу подiя, що моделює дзвiнок будильнику пiд час Х1 тривалiстю Х2, подається таким чином:
ДС
СТАРТ В Х1 ТРИВ Х2:
ЯКЩО
БУДИЛЬНИК УСТАНОВЛЕНО НА Х1;
ТО
СТАРТ В Х1 ТРИВ Х2: БУДИЛЬНИК ДЗВОНИТЬ.
Опишемо демон логiчного виводу, що моделює процес утворення вiльних мiсць на поверхнi одного об'єкта пiсля зняття з нього другого.
Установочнi поверхнi об'єктiв i вiльних мiсць апроксимуємо квадратами i класiфiкуємо за розмiрами цих квадратiв так, що при установцi на поверхню А класу i об'єкта з установочною поверхнею класу i-1 (див. мал.2, мiсце Х4 зайняте, мiсця Х6, Х7, Х8 - вiльнi). Пiсля вилучення об'єкта з поверхнiА на нiй з'являються чотири вiльних мiсця класу i-1, якi за допомогою демона логiчного виводу перетворюються в одне вiльне мiсце класу i (на мал. 2з вiльних мшсць Х4, Х6, Х7, Х8 утворюється вiльне мiсце Х1).
Опис такого демона виглядає так:
ДЛ ВІЛЬНЕ МІСЦЕ_Х1 КЛАСУ_Х2:
ЯКЩО / ОБ_Х3: ВІЛЬНЕ МІСЦЕ_Х4 КЛАСУ_Х5;
ВІЛЬНЕ МІСЦЕ_Х6 КЛАСУ_Х5;
ВІЛЬНЕ МІСЦЕ_Х7 КЛАСУ_Х5;
ВІЛЬНЕ МІСЦЕ_Х8 КЛАСУ_Х5. /
ТО Х1:=NAMER, X2:=X5+1;
ОБ'ЄКТ_Х3: ВІЛЬНЕ МІСЦЕ_Х1 КЛАСУ_Х2.
6. Опис формулювань задач
Синтаксис
опис ситуацiї: список виразiв.
опис змiн: ! ДОПИСАТИ список виразiв
! ADD
! ВИЛУЧИТИ
! DEL
опис вихiдної ситуацiї: СИТ опис ситуацiй
SIT опис змiн
опис цiльової ситуацiї: ЦІЛЬ опис ситуацiї
GOAL
опис формулювання задачi: { опис вихiдної ситуацiї} { опис цiльової ситуацiї}
Семантика
Опис формулювання задачi складається з описiв вихiдноїi цiльової ситуацiй.
Опис ситуацiї складається з списку виразiв, кожен з яких може бути простим чи складовим i описує деяку множину властивостей, станiв i вiдношень об'єктiв середовища.
Декларативнi описовi вирази, що входять до опису ситуацiї, складаються з стереотипiв базових вiдношень шляхом їх конкретизацiї, тобто пiдстановки на мiсця змiнних певних значень. При вiдповiдному пiдборi базових вiдношень опис ситуацiї може мати вигляд текстiв природної мови.
Опис вихiдної ситуацiї для задач в складних середовищах включає велику кiлькiсть виразiв, однак бiльша частина цього опису залишається незмiнною пiд час переходу вiд однiєї задачи до другої. Враховуючи це, можна запобiгти повного опису вихiдної ситуацiї при формулюваннi конкретних задач. З цiєю метою для всього класу задач видiляється базова ситуацiя, яка подає найбiльш “типовi” властивостi, стани i вiдношення мiж об'єктами. Шляхом видiлення базової ситуацiї можна запобiгти також зберiгання повних описiв промiжних ситуацiй в кожному вузлi пошукового графу.
Хай S- множина ситуацiй для деякого класу задач перетворення ситуацiй, - базова ситуацiя. Позначимо через множину виразiв, що подає ситуацiю .
Тодi множину виразiв назовемо записувальним фрагментом по вiдношенню до , а множину виразiв - вилучальним фрагментом по вiдношенню до . Звiдси випливає, що .
Таким чином, будь-яка ситуацiя може бути подана трiйкою . Опис базової ситуацiї вводиться один раз i не змiнюється пiд час переходу вiд однiєї задачi до другої. Варiйованими елементами є лише записувальнii вилучальнi фрагменти ситуацiй, що вiдображують динамiчнi властивостi, стани i вiдношення мiж об'єктами.
Наведемо приклад опису вихiдної ситуацiї:
СИТ ПРИМІЩЕННЯ_ЦЕХ_125:
ДОВЖИНА 100 М;
ШИРИНА 50 М;
ВИСОТА 5 М;
ВКЛЮЧАЄ ВІДДІЛОК_1, ВІДДІЛОК_2;
ВІДДІЛОК_1:
ДОВЖИНА 20 М;
ШИРИНА 10 М;
ВИСОТА 5 М;
ТИП ТЕХНІЧНИЙ;
ВКЛЮЧАЄ ВЕРСТАТ_1, ВЕРСТАТ_2,
ВЕРСТАТ_3, ВЕРСТАТ_4,
ВЕРСТАТ_5;
ПОРЯД З ВІДДІЛКОМ_2;
ВІДДІЛОК_2:
ДОВЖИНА 30 М;
ШИРИНА 15 М;
ВИСОТА 5 М;
ТИП СКЛАДАЛЬНИЙ;
ВКЛЮЧАЄ ВЕРСТАТ_1, ВЕРСТАТ_2,
ВЕРСТАТ_3, ВЕРСТАТ_4,
ВЕРСТАТ_5, ВЕРСТАТ_6;
Опис цiльової ситуацiї може бути заданий:
· повним описом цiльової ситуацiї, тобто усiх об'єктiв, що указанi в опису вихiдної ситуацiї;
· описом фрагменту цiльової ситуацiї, тобто деякою пiдмножиною об'єктiв , що указанi в опису вихiдної ситуацiї.
Для опису цiльової ситуаiї використовуються тi ж самi типи виразiв, що i для опису продукцiйних правил.
Цiльова ситуацiя вважається досягнутою, якщо iснує такий вариант пiдстановки змiнних, при якому усiiї описи приймають значення “iстина”.
Вирази, що входять до опису цiльової ситуацiї, можуть мiстити квантори i обмежувачи.
Приклади
1. ЦІЛЬСТАРТ ПІСЛЯ 15.00
НІ Х1 ЗНАХОДИТЬСЯ НА ОБ'ЄКТІ_41.
2. ЦІЛЬСТАРТ МІЖ 10 11
/ ОСЦИЛОГРАФ НА СТОЛІ А,
ТРИВ 30 ХВИЛ.,
ТУМБЛЕР ЖИВЛЕННЯ ОСЦИЛОГРАФУ УВІМКНУТО /.
3. ЦІЛЬ СТАРТ ПЕРЕД 12.00
А НА В; С НА D.
4. ЦІЛЬУВЕСЬ Х1:
ВОЛЬТМЕТР Х1 У ШАФІ_1.
5. ЦІЛЬЄ Х1:
ДЕТАЛЬ Х1 У ЯЩИКУ_3.
6. ЦІЛЬЦИКЛ 5 Х1:
ВОЛЬТМЕТР_Х1 НА СТОЛІ_2.
Опис першої цiльової ситуацiї включає обмежувач старту (СТАРТ) подiї. Інтерпретацiя його така: “На об'єктi_41 в певний перiод часу (пiсля 15.00) не повинно бути жодного об'єкта”.
У прикладi 2 використується обмежувачи старту i тривалостi. Перший з них показує на момент старту подiї (мiж 10.00 i 11.00), другий визначає тривалiсть процесу (30 хвилин). Двi подiї “осцилограф на столi А” i “тумблер живлення осцилографу увiмкуто” повиннi початися в один i той самий промiжок часу, але не водночас. Друга подiя повинна початися пiсля першоїi тривати 30 хвилин. Приклад 3 iлюструє використання пiд час опису цiльової ситуацiї обмежувача старту з обов'язковим одночасним початком (до 12.00) двох рiзних подiй (А на В) i (С на D). Приклад 4 мiстить квантор загалу “УВЕСЬ” iiнтерпретується таким чином: “Цiльова ситуацiя вважається досягнутою, якщо всi вольтметри знаходяться у шафi_1”. Інтерпретацiя приклада 5, що мiстить квантор iснування, є така: “В ящику_3 знаходиться хоча б одна деталь_Х1”. Приклад 6 мiстить квантор циклу, у вiдповiдностi з яким п'ять вольтметрiв повиннi бути на столi.
7. Пiдсумки
Таким чином, з опису мови SITPLAN-2 виходить, що розширення можливостей формалiзацiїi формулювань задач у порiвняннi з мовою SITPLAN досягається за рахунок:
1) введення конструкцiй типу фреймiв для опису складних складових об'єктiв i параметрiв стратегiй;
2) введення конструкцiй для подання невизначеностей i часових обмежень в описах продукцiйних правил;
3) введення змiнних, кванторiв загалу та iснування; обмежувачив максимуму, мiнiмуму i циклу, визначених на множинах описових виразiв i дозволяючих формування моделей складних складових об'єктiв;