Реферат на тему:
Мова опису задач SITPLAN-2
1. Вступ
В останнi роки у нас в країнi та за кордоном з'явився новий клас програмних систем, спроможних вирiшувати задачи не за заданими алгоритмами, а за їх формулюваннями, якi складаються з описiв вихiдних та цiльових ситуацiй. Такого роду системи названi в [1] iнтелектуальними вирiшуючими системами (ІВС). Важливою особливiстю цих систем є те, що разом з обробкою даних в них виконується обробка знань про проблемну область (ПО). Для работи в слабоформалiзованих ПО створюються ІВС, вiдомi пiд назвою експертнi системи (MYSIN, PROSPECTOR, R1 [2] та iн.). Поряд з експертними системами в слабоструктурованих ПО використується ще один рiзновид ІВС - розрахунково-логiчнi системи (ПРИЗ, МАВР, СПОРА [2] та iн.).
Для опису формулювань задач i знань про ПО в ІВС використуються не мови програмування, а мови опису задач, в яких декларативний компонент значно бiльш розвинений, нiж процедурний (останнього може взагалi не бути).
У даному посiбнику розглядається мова опису задач SITPLAN-2, яка є подальшим розвитком мови SITPLAN, орiєнтованої на задачi перетворювання ситуацiй в змiшанiй, декларативно-процедурнiй формi подання [3].
Мова SITPLAN має ряд переваг порiвняно з iншими мовами опису задач. Це докладно аналiзуєтся в [4]. Однiєю з найбiльш важливих переваг мови SITPLAN, що зберiгається в SITPLAN-2, єїї неприв'язанiсть до конкретних стратегiй планування рiшень. На вiдмiну вiд мови SITPLAN запропонована мова мiстить ряд засобiв, якi розширюють можливостi формалiзацiї та формулювань задач планування дiй в проблемних областях, що включають складнi багатокомпонентнi об'єкти, а також задач в умовах невизначеностi та часових обмежень.
Для опису знань про проблемну область у мовiSITPLAN-2 використуються такi конструкцiї:
· базовi поняття та вiдношення;
· складовi поняття та вiдношення, що подаються конструкцiями типу фреймiв;
· в'язки продукцiйних правил, що називаються операторами i демонами.
Для опису вихiдних даних i цiлей використовуються простi декларативнi та процедурнi вирази, а також складовi вирази, що дозволяють описувати конструкцiї з кванторами, обмежувачами i типу фреймiв.
Мова SITPLAN-2є вхiдною мовою системи керування базою знань (СКБЗ), архiтектура якої приведена на мал. 1.
Формулювання задачи i опис знань про проблемну область обробляється лiнгвiстичним процесором i перетворюється у внутрiшнє подання в пам'ятi даних та знань у виглядi пирамiдальних мереж [5]. СКБЗ ор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йних системах UNIX, MS-DOS, WINDOWS та iн.
1. Формалiзм синтаксичного опису
Синтаксичнi структури мови беруться у хвилястi дужки { }.
Застосування квадратних дужок [ ] означає, що замкнена в них конструкцiя або набiр альтернатив може бути вiдсутньою. Альтернативнi визначення записуються окремими рядками або роздiляються вертикальними рисочками i беруться в дужки ( { } чи [ ] ).
Три крапки пiсля символу або конструкцiї означають його (або її) повторення не менш одного разу.
Символ “:” використовується замiсть “дорiвнює по визначенню”, “_” означає “пропуск”. У текстах на мовiSITPLAN-2 можуть зустрiчатися коментарi - будь-якi послiдовностi символiв, замкненi в косi дужки з зiрочками /* ... */. Коментарi у процесi розбору текстiв пропускаються без будь-якої обробки. Службовi слова набираються великими видiленими лiтерами.
Внаслiдок обмежень за обсягом не будемо давати формальний опис всiх конструкцiй мови. Придiлемо основну увагу семантицi конструкцiй мови i прикладам їх опису. Опис синтаксису приведено лише для деяких конструкцiй.
2. Елементарнi конструкцi мови
Синтаксис
слово: { лiтера } ...
службове слово: { велика видiлена лiтера } ...
iдентифiкатор: слово лiтера
цифра
змiнна: Х { цифра } ...
Семантика
Числа, слова, змiннi та iншiiдентиф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в.
3. Енки (n-ки)
Синтаксис
первинний рядок: слово
iдентифiкатор
число
змiнна
n-ка: первинний рядок _ первинний рядок
n-ка_[ первинний рядок ] ...
Семантика
Енки використовуються для видiлення кортежiв вiдношень, iмена яких вiдсутнi у фразах природної мови i припускаються за умовчанням. Енка - це складове iм'я, яке є неподiльною лексичною одиницею. Енка з числом компонент, що дорiвнює двум, називається парою. Енка, що мiстить хоча б одну змiнну, вважається змiнною.
Приклади
Енки: ІВАНОВ_МИКОЛА_ІВАНОВИЧ;
ПОВЕРХНЯ_А_ОБ'ЄКТА_В;
ГОСТ_24_42_56;
ТОЧКА_Х1_Х2_Х3.
Пари: СТІЛ_А; ЯЩИК_Х5; ВЕЛИКИЙ_КОНТЕЙНЕР.
Енка змiнна: Х1_МИКОЛА_ІВАНОВИЧ.
4. Вирази
Синтаксис
операцiя: { арифметична | логiчна | тригонометрична |
вiдношення | присвоювання }
префiкс заперечення: НІ
NOT
описовий вираз: первинний рядок
n-ка
первинний рядок ( описовий вираз )
( описовий вираз )
префiкс заперечення, описовий вираз
описовий вираз, описовий вираз
операцiйний вираз: операцiя
операцiя, первинний рядок
первинний рядок, описовий вираз
( описовий вираз )
описовий вираз, описовий вираз
декларативний вираз: описовий вираз
операцiйний вираз
процедурний вираз: ! описовий вираз
! операцiйний вираз
простий вираз: декларативний вираз
процедурний вираз
квантор: УВЕСЬ | Є
обмежувач: ЦИКЛ | СТАРТ | ТРИВ | СИТ | ДОС | МАХ | МIN
iменувальна частина виразу:
описовий вираз ...
квантор описовий вираз ...
обмежувач описовий вираз ...
складовий вираз: iменувальна частина виразу: простий вираз:... складовий вираз
( простий вираз: )...
вираз: простий вираз
складовий вираз
список виразiв: { вираз; } ...
( список виразiв )
{ список виразiв }
список виразiв
[ список виразiв ]
Семантика
Вираз є основною семантичною одиницею при опису задач. В мовiSITPLAN-2 використується два типи виразiв: описовi та операцiйнi. В кожному з них видiляються два рiзновида виразiв: декларативнi та процедурнi (останнi починаються з символу !). Крiм того вирази можуть бути простими i складовими.
4.1. Описовi вирази
Декларативнi описовi вирази служать для опису властивостей, станiв та зв'язкiв об'єктiв середовища без вказiвки, як їх використовувати. Семантика цих виразiв залежить вiд класу задач i типу конструкцiї. Як описовi вирази можуть бути використанi фрази природної мови, а також послiдовностi, складенi з пар, n-ок, первинних рядкiв, ком та пропускiв.
Приклади
СТОЛ; ТОЧКА Х1_Х2_Х3;
ПОРЯД (ОБ_1, СТОЛ);
(ПОВ_1_ОБ_2 НА ПОВ_3_ОБ_4);
ОБ_1, ОБ_2, ОБ_3 НА ПІДЛОЗІ.
Префiкс заперечення (НІ, NOT) в складi описового виразу означає вiдсутнiсть властивостi, стану чи зв'язки, що подається даним описовим виразом.
Приклади
НІ Х1 У ЯЩИКУ_2;
НІ РОБОТ ПОРЯД СТОЛ_Х2.
Процедурнi описовi вирази використовуються в таких випадках:
· Для опису звернення до вбудованої процедури. Наприклад, !ПЕРЕСТАВИТИ МОЖНА (Х1, Х2, Х3). Пiд час виклика цiєї процедури перевiряється можливiсть переставлення об'єкта Х1 з об'єкту Х2 на Х3.
· Для означення iмперативiв (конструкцiй), що забезпечують участь користувача в процесi рiшення задачi, а також пошук, вилучення, ввiд та модифiкацiю певних конструкцiй у базi знань, наприклад, ! ВИКОНАТИ:{ OP1 } ... { OPn }. Цей iмператив означає виконання послiдовностi операторiв { OP1 } ... { OPn }: СИТ! ВИЛУЧИТИ { вир. 1, вир. 2, ... вир }. Пiд час його виконання з опису ситуацiї будуть вилученi вирази, що взятi у дужки.
4.2. Операц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.
Приклади
(1)
(2) (3)
(4)
Вирази (1), (2) є декларативними. Вони не задають якоїсь послiдовностi виконання операцiй. До них можуть бути застосованi правила виводу i тотожнiх перетворень. Наприклад, вираз (1) за допомогою правила замiни iмплiкацiї диз'юнкцiєю можна привести до вигляду Вираз (2) можна привести до вигляду