ФОРМАЛіЗАЦіЯ БАЗОВИХ АЛГОРИТМіВ СПіВСТАВЛЕННЯ Зі ЗРАЗКОМ В ПРОДУКЦіЙНИХ СИСТЕМАХ

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость

Детальная информация о работе

Выдержка из работы

8. Anokhin, A. N. The system approach to analysis and description of operator activity [Text] / A. N. Anokhin // Cybernetics and Systems. — 2008. — Vol. 1. — P. 82−87.
9. Lavrov, E. Organizational approach to the ergonomic examination of E-learning modules [Text]. / E. Lavrov, O. Kupenko, T. Lavryk, N. Barchenko // Informatics in Education — an International Journal. — 2013. — Vol. 12, Issue 1. — P. 107−124.
10. Репринцева, Г. А. Системно-деятельностный подход: общенаучный и психолого-педагогический уровни анализа [Электронный ресурс] / Г. А. Репринцева // Концепт. — 2014. — № 8. — Режим доступа: http: //e-koncept. ru/2014/14 225. htm
11. Адаменко, А. Н. Информационно-управляющие человеко-машинные системы: Исследование, проектирование, испытания [Текст]: справочник / А. Н. Адаменко, А. Т. Ашеров, И. Л. Бердников и др.- под общ. ред. А. И. Губинского, В. Г. Евграфова. — М.: Машиностроение, 1993. — 528 с.
12. Лавров, Е. А. Автоматизация оценки условий труда на рабочем месте человека-оператора [Текст] / Е. А. Лавров, Н. Б. Пась-ко // Вюник Одесько! державно! академй будiвництва та арх^ектури. — 2009. — № 36. — С. 250−256.
13. Lavrov, E. Computer Simulation of Systems & quot-Man-Machine"-: Achievements and Tasks [Text] / E. Lavrov // Materials International Scientific Conference & quot-UNITECH '-07& quot-. — Gabrovo, Bulgaria. — 2007. — Vol. 3. — Р. 358−362.
В cmammi в единому форматi представлено формалiзований опис продукцшног систе-ми, комтляцю Rete та Treat мережi потоку даних, а також правил переходу мiж вузла-ми Treat мережi. Запропоновано формалiза-цю ствставлення за Treat алгоритмом, яка може бути використана для подальшог оцт-ки складностi. Розширено модель розрахунку витрат пам'-ятi для Treat алгоритму
Ключовi слова: ствставлення 3I зразком, формалiзацiя, Rete алгоритм, Treat алгоритм,
продукцшна система, логiчне виведення ?-?
В статье в едином формате представлено формализованное описание продукционной системы, компиляция Rete- и Treat-сети потока данных, а также правил перехода между узлами Treat сети. Предложена формализация Treat алгоритма сопоставления, которая может быть использована для дальнейшей оценки средней сложности. Расширена модель расчета затрат памяти для Treat алгоритма Ключевые слова: сопоставление с образцом, формализация, Rete алгоритм, Treat алгоритм, продукционная система, логический вывод
УДК 004. 825
|DOI: 10. 15 587/1729−4061. 2015. 465 711
ФОРМАЛ1ЗАЦ1Я БАЗОВИХ АЛГОРИТМ1 В СП1ВСТАВЛЕННЯ З1 ЗРАЗКОМ В ПРОДУКЦ1ЙНИХ СИСТЕМАХ
С. I. Шаповалова
Кандидат техычних наук, доцент* Е-mail: lana@ aprodos. aprodos. kpi. ua О. О. Мажара Астрант*
E-mail: olyamazhara@gmail. com *Кафедра автоматизацп проектування енергетичних процеав i систем Нацюнальний Техшчний Ушверситет УкраТни «Кшвський пол^ехшчний шститут» пр. Перемоги, 37, м. КиТв, УкраТна, 3 056
1. Вступ
Продукцшна модель представлення знань — один з найбшьш часто використовуваних формалiзмiв вирь шення задач штучного штелекту. Створення прикладних продукцшних систем потребуе оцшки 1х ефективност в процеа розробки. Для визначення об'-ективних критерпв ощнювання таких систем та 1х коректного порiвняння необхвдно застосовувати единий формальний опис.
1снуе деюлька пiдходiв до формалiзащi продукщ-йних систем [1−3]. Однак найбшьш ушверсальним з них е формалiзацiя на основi логжи першого порядку. В той же час формальний опис продукцiйноi системи (ПС) в термшах логжи першого порядку наразi пред-
ставлено лише частково для окремих базових мехашз-мiв обробки продукцш.
Лопчне виведення в продукцшних системах реа-лiзуеться на основi механiзмiв розв'-язання конфлжту та ствставлення зi зразком. При цьому останнш мае найб^ьший вплив на швидкодт та затрати пам'-яп в прикладнш продукцшнш системь
Для об'-ективного та незалежного ввд умов реалiза-ци ощнювання алгоритмiв ствставлення необхщно представити iх формальний опис в единому формать Це дозволить визначити критерп щодо використання ресурав пам'-ятi та швидкодп на стадii проектування прикладних продукцшних систем за заданими характеристиками запиав бази знань. Тому едина формаль
(c)
защя базових алгоритмiв спiвставлення 3I зразком е актуальною та мае практичне значення.
2. Аналiз лiтературних даних i постановка проблеми
Оцшювання ресурсоемност прикладних продук-цiйних систем здшснюеться при створеннi прототипу та тестувант ix альфа версiй [4] або на основi якiсних критерiiв продукцш, що описують задачу логiчного виведення [5]. Проте на сьогодт не представлено единоi методики розрахунку затрат пам'-яп на етапi проектування. Для ii розробки необxiдне створення едино формалiзацii алгоритмiв спiвставлення, якi ма-ють найбiльший влив на ресурсоемшсть прикладноi продукцiйноi системи.
В роботах [6] показано, що найб^ьш поширеним програмним iнструментарiем розробки продукцiйниx систем е CLIPS, Jess, Soar, Drools. Тому в даному до-слщжент для подальшоi формалiзацii обрано Rete та Treat алгоритми спiвставлення як базовi для зазначе-них середовищ розробки. Концепцii цих алгоритмiв були закладет Ч. Форгi (Forgy) [7] та Д. Мiранкером (Miranker) [8] ввдповвдно та надалi лише зазнавали мо-дифiкацiй у вiдповiдностi до специфiчниx задач [9−11].
В робот Л. Альберта (Albert) [12] наведено фор-малiзацiю продукцiйноi моделi в термшах логiки пер-шого порядку для розрахунку середньоi складностi Rete алгоритму. Це дозволило в робот [13] на основi даноi моделi формалiзувати спiвставлення за Rete алгоритмом з правилами переходу мiж вузлами Alpha- та Beta-мереж потоку даних. Запропонований для Rete математичний апарат дощльно застосувати до спорщ-неного Treat алгоритму. Однак для цього i необхщно представити аналопчну до Rete формалiзацiю Treat алгоритму.
3. Мета i завдання дослщження
Метою даноi роботи е формалiзацiя Treat алгоритму ствставлення зi зразком в термшах лопки першого порядку.
Для досягнення зазначеноi мети було поставлено наступш задачi:
— описати схеми ствставлення за Rete та Treat ал-горитмоми-
— представити формалiзацiю компiляцii мережi потоку даних Treat алгоритму-
— представити формалiзацiю правил переходу в Treat мереж^
— представити формулу розрахунку витрат пам'-ят для Treat алгоритму на основi запропонованоi форма-лiзацii.
4. Rete алгоритм
Робота шкрементних алгоритмiв спiвставлення Грунтуеться на запам'-ятовуванш кортежiв фактiв, якi узгоджуються з частиною антецеденту. В Rete алго-ритмi [7] на кожному крощ виведення зберiгаеться уз-годження умов антецеденту з фактами робочо! пам'-ят, а також результат зв'-язування змшних.
Спiвставлення з допомогою шкрементних алго-ритмiв вiдбуваеться у два етапи. На першому етапi -комтляцп — на основi умовних частин правил, що належать до БЗ, будуеться мережа потоку даних. Ком-тлящя виконуеться один раз при запуску системи та повторюеться лише у випадку внесення змш до БЗ.
На другому етат — виконання — ввдбуваеться оброб-ка мережi потоку даних на основi змiн робочо! пам'-ятi. Результатом цього етапу е конфлжтна множина (CS) з продукцш БЗ та кортеж фактв, яю призвели до акти-вацп. Пара з умовного елементу та факту, який з ним уз-годжуеться, називаеться маркером (token). Алгоритми шкрементного ствставлення вiдрiзняються тдходами до формування мережi потоку даних та ii обробки.
Мережа потоку даних Rete алгоритмiв складаеться з двох частин, яю вщповщають етапам обробки антецеденту продукцп: Alpha- та Beta-мережь Alpha-мере-жа, яку також називають деревом розбору, будуеться на основi умовних елементiв, якi знаходяться в межах одного шаблону. Вузли Alpha-мережi можуть мктити тести деюлькох видiв: перевiрку типу, перевiрку умов, перевiрку зв'-язкiв (коли одна й та сама змшна зустрь чаеться в умовному елемент бiльше одного разу). Таю тести називають внутршшми.
Beta-мережа будуеться на основi бшарного поед-нання листових вузлiв Alpha-мережь В вузлах Beta мережi ввдбуваеться узгодження змiнних для рiзних шаблошв одного правила. Такi тести називають зо-внiшнiми. Вузли Beta мережi мають два входи та збе-рiгають два типи пам'-ятi вщповщно — лiву та праву. Вид^яють два типи таких вузлiв — однотипш (Any) та негативнi (Not). В однотипних вузлах вщбуваеться узгодження мiж виключно позитивними чи негативними умовними елементами. Негативш вузли мктять тести мiж позитивним та негативним умовним елементом.
Термшальною е Beta-вершина, яка отримуе на вхо-дi екземпляр антецеденту (instance) — повний кортеж узгоджених фактв. Вихщ термiнальноi вершини — ак-тивоване правило, додаеться до конфлжтного набору.
На рис. 1 запропоновано схематичне зображення схеми потоку даних (dataflow net) для Rete алгоритму.
Рис. 1. Схема потоку даних Rete алгоритму
На етат виконання Rete алгоритму змши робочоi пам'-ят надходять до вузлiв мережь Якщо факт узгод-
жуеться з умовним елементом вузла Alpha — мереж1, формуеться маркер i передаеться нащадкам вузла. В вузлах Beta — мережi вiдповiднi маркери перевiряють-ся на узгодження змшних в двох рiзних шаблонах одного антецеденту. Результати перевiрки передаються далi по мережi. Досягнення листового (термшального вузла) означае активацiю правила. Таким чином, в термшальних вузлах збер^аеться поточна конфлiктна множина.
Обробка мережi пiсля видалення фактiв проводиться аналопчно додаванню. Iнформацiя поширю-еться по мережi вiд вершини до листового вузла i при-зводить до деактивацп вiдповiдного правила.
5. Treat алгоритм
Treat алгоритм [8] створено на базi Rete. Treat алгоритм передбачае збереження узгодження факпв, проте зв'-язування змшних обчислюеться повторно на кожному крощ ствставлення. Для виконання вну-трiшнiх теспв в антецедентi будуеться Alpha-мережа, в вузлах (Anode) яко! мiстяться тести для окремих шаблошв та факти, яю призвели до активацп поточно'-! вершини. Шдмножина таких фактiв називаеться ль вою (альфа) пам'-яттю. Комтлящю внутрiшнiх тестiв в мережу потоку даних можна представити единим чином для обох алгоритмiв.
На вiдмiну вiд Rete, Treat алгоритм не будуе про-мiжних вершин для зв'-язування змшних. Ввдповвдш обчислення повторюються на кожному крощ ствставлення. Якщо правило було активоване на попе-редньому крощ, то в термшальних вершинах Treat збертеться тдмножина фактiв, яка призвела до його активацп. Таким чином, алгоритм передбачае збереження конфлжтно! множини.
На рис. 2 запропоновано схематичне зображення схеми потоку даних (dataflow net) Treat алгоритму.
Виконання Alpha мережi Treat аналопчне до Rete алгоритму. Наступним кроком е зв'-язування змшних, яке за необхвдност вщбуваеться в термшальних вершинах. На вхщ до термшально! вершини надходять результати виконання альфа мережi вщповщшл про-дукцп. Таким чином, на вщмшу вiд бшарних Beta вершин Rete мереж^ термiнальнi вершини отримують на вхщ кiлькiсть маркерiв, яка вiдповiдае юлькост умов-
них елементiв антецедента. Узгодження змшних ввд-буваеться попарно для кожного шаблону в дов^ьному порядку. У найпроспшому випадку реалiзацii обира-ють порядок слiдування умовних елеменпв в записi антецеденту. Частiше використовують пiдходи для оптимiзацii порядку узгодження. У робот [8] доведено ефектившсть евристики впорядкування seed ordering, за якоi першим проводиться узгодження змшних для шаблону, який був активований новим фактом.
На вщмшу вiд Rete, в Treat алгоритмi додавання i видалення факпв з робочоi пам'-яп не е симетрич-ним процесом. Для видалення факту в Treat мережi перевiряеться конфлiктна множина, збережена на по-передньому кроцi. Якщо один з маркерiв конфлiктноi множини мштив даний факт, то вщповщш йому правила деактивуються. 1нформащя про видалення маркеру передаеться предкам вщповщно'-! альфа мережi. Таким чином вдаеться уникнути надлишкових узгоджень. Проте даний тдхвд виконуеться лише у випадку, коли видаляеться позитивний факт.
Для обробки негативного факту вш приймаеться за позитивний i передаеться на вхщ до альфа мере-жь Якщо це призводить до активацп правила, яка метиться в конфлжтнш множинi, правило деактиву-еться. Продукцп, якi активувалися видаленням негативного факту, потребують додатково'-! перевiрки. Alpha пам'-ять негативних умовних елеменпв перевь ряеться на наявшсть факту, подiбного до видаленого. Якщо такий факт вщсутнш, правило активуеться.
6. Формалiзацiя продукцшно! системи
Продукцшна система складаеться з трьох основних компонент: бази знань (БЗ), робочоi пам'-яН, механiзму лопчного виведення. База знань ® — це набiр про-дукцiйних правил, як е одиницями представлення шформацп в продукцiйних системах. Робоча пам'-ять (УМ) — динам1чна область пам'-ят1, в як1й 1нформац1я про розв'-язання поточно! задач! представлена у вигля-д1 факт1 В, доведених на поточному етат виведення.
Для проведения подалыпих досл1джень було при-йнято форма. гпзащю продукц! йно! системи, представ-лену в роботах [12, 13].
Вщповщно до роботи [13], в продукц! йних мовах програмування для забезпечення ефективност1 виведення використовуеться поняття обмежено! про-дукц!йно! системи. В дан1й робот! використовуеться визначення так звано! обмежено! продукц! йно! системи:
Р8 = (РР, Х, Ь,?М0,Р, 8),
де Р — множина функцюнальних символ! в, Р — множина предикативних символ! в, X — множина змшних, L — множина мггок, WM0 — початковий стан робочо'-! пам'-ятi, обмежений до термiв висотою 1, R — множина продукцшних правил, де правила мають шаблони висотою 1, S — стратегiя розв'-язання конфлжпв.
Висота терму визначаеться наступним чином:
,, [0, якщо t змiнна або проста константа
'- [1+тахйп^^)), якш^ = ^^… ^п)дляп>- 1.
Продукщя — правило бази знань, яке визначаеть-ся двома базовими частинами. Умовна — антецедент, який представляе собою лопчну формулу, що мктить зразки фактв в тому вигляд^ в якому вони представ-ляються в робочiй пам'-ятi. В консеквент — постумовi -представлено набiр дiй, спрямованих на модифiкацiю робочоi пам'-ятi. В загальному випадку це додавання або видалення фактв.
Продукцшне правило (продукцiя) визначаеться наступним чином:
[l] if p, c remove r add a,
де l — iм'-я з множини мiток, p — множина позитивних та негативних шаблошв правила, c — пропозищя (proposition), множина вiльних змiнних якоi е тдмно-жиною змiнних шаблону p, r — множина термiв, ек-земпляри яких видаляться з робочоi пам'-ят пiсля запуску правила, a — множина термiв, екземпляри яких додадуться до робочоi пам'-ятi тсля запуску правила.
7. Формaлiзaцiя комтляцп Treat мережi
Для формалiзацii комтляцп бази знань у мережу потоку даних Treat алгоритму введемо позначення ввд-поввдно до роботи [13].
Позищя w пiдтерма si в термi t визначаеться на-ступним чином:
w (t)|t = 0, w (s,)|t (s1,…, sn) = i,
w1 = w (s)|t л w2 = w (t)|r ^ w (s)|r = w1. w2.
Тодi компiляцiя comp продукцп [l]p, c ^ r, a для Alpha-мережi Treat алгоритму аналогiчна до вщпо-вiдного iнкрементного визначення компiляцii Rete алгоритму [8]:
comp (t):= comp (t, 0) для t eT (X, P), (1)
comp (t (s1,…, sn)) := input. w = t, (2)
л comp (Si, w. i),
iel
л input.W. W1 = input.W. W2,
Vi& lt-jeI 3wj, W2 |si|wj=Sj|w2
comp (-t (s1,…, sn)):= -(3input e WM)|comp (t (s1,…, sn)). (3)
Для подальшоi формалiзацii правил переходу в Alpha-мережi Treat алгоритму позначимо кон'-юнкщю всix виразiв вигляду (1) — (3) як qk для шаблону pi правила lk бази знань PM, де keK — iдентифiкатор правила, J — юльюсть правил в БЗ, i el — номер шаблону в правил^ I — максимальна юльюсть шаблонiв в правиль
Мережа потоку даних для узгодження змшних в Treat алгоритмi формуеться динамiчно за необхщно-сть Формально представлення зовнiшнix тестiв ана-логiчне до Beta мережi Rete алгоритму. Вщмшшстю Treat алгоритму е те, що перевiрка узгодження змшних вщбуваеться лише в рамках антецеденту окремоi про-дукцii, в якш успiшно виконано всi внутрiшнi тести.
Наведемо комтлящю зовнiшнiх TecTiB Treat на 6a3I вiдповiдного формального представлення Beta мeрeжi Rete алгоритму [13]:
comp (p, c):=. comp (pj), (4)
iel
inputi. w1 = input2. w2, (5)
Vi& lt-jeI (p+ M (p-) Vw, w2 1 Pi|w, =Pj|w2eX
. inputj. w, = f. w2, (6)
VieI (p+). jeI (p-) Vw, w2 |pi|w1 =pj|w2eX. -(3feWM)
. inputi. w = x =: oi AOi©, (7)
Vi& lt-jeI3w | pi|w=xeVar (c)
де input факт, який узгоджуеться з поточним шаблоном, вщповщно inputi для шаблону pi- p+ - позитив-ний шаблон з множини I шаблошв висотою 1, p- - не-гативний шаблон- X — множина змшних бази даних- VareX — множина змшних поточного антецеденту- о — постановка для даного шаблону.
Кон'-юнкщю в"х виразiв вигляду (4)-(6) для продукцп lk бази знань PM позначимо як rk.
8. Формaлiзaцiя правил переходу у Treat мережi
В данiй роботi розроблено формалiзацiю правил переходу в Treat мережi потоку даних. Для подальшого коректного порiвняння алгоритмiв спiвставлення правила переходу представлено за форматом та синтаксисом, запропонованим в [13].
В загальному виглядi правило переходу для вершин Treat мережi мають наступний вигляд:
?m -& gt- ms!,
де? m — вxiдний маркер у виглядi & lt-+|-, f>- для факту f, що додаеться чи видаляеться з робочоi пам'-ят- ms! -список виxiдниx маркерiв, a — опцiональнi дii на поточному крощ.
Для антецеденту правила п лiву пам'-ять, lm, визна-чимо наступним чином [13]:
lmi = {(f1,…, fj) e WM |comp (n)(f1,…, fj)}.
Аналогiчно визначимо термiнальну пам'-ять tm, яка використовуеться в проце" узгодження змiнниx та пам'-ять конфлiктноi множини cm, яка зберпаеться на кожному крощ ствставлення.
tmi = {f eWM|^+1(f)},
cmk = {(f1,…, fji) e WM|comp (lk).
Для Anode правило переходу визначаеться наступ-
ним чином:
& lt-+, f & gt-? _lm?-!j^{+, f}! ifq (f), (8)
& lt--, f & gt- {-, f}! if q (f), (9)
& lt- + |-, f & gt-?^0! if -q (f). (10)
Для Tnode правила переходу визначаються в за-лежносН вiд типу шаблону, що узгоджуеться з вхiдним фактом. Вихщними даними термiнальноi вершини е правило для активацii/деактивацii та вщповщно факти, якi мають додатися/видалитися з екземплярiв конфлiктного набору.
В загальному випадку при додавант фактiв пе-рехiд з термiнальноi вершини виконуеться у випадку, коли сформовано таку термшальну пам'-ять, що tmk = cmk. Тобто:
& lt-+, lk & gt-?->-{<-+, lk & gt-}!.
(20)
& lt- +, lmt & gt- +, lmt & gt-}! I rk (lk, lmk).
(11)
Видалення факту зазвичай (однак не завжди) при-зводить до деактивацii правила:
& lt- -, f & gt-? tm=9 & gt-{<- -,(lk, f) & gt-}!if (lk e CS) a (f e cm). (12)
Можливi два випадки в залежност вiд того, пози-тивний чи негативний шаблон узгоджуеться з фактом, який видалено. Видалення факту, який узгоджувався з позитивним шаблоном правила:
& lt--, f>-? tm=9 & gt-{<--,(lk, f)>-}! if (lk eCS) л (opk = f Ipk ep +).
(13)
Видалення факту, який призводив до узгодження з негативним шаблоном правила:
& lt- -, f & gt-? tm=9 & gt- {& lt- +, lk & gt-}!if -,(3f4e lmk |op =
= fVAr (l, fv) a opk = f|pk ep-. (14)
Термшальна пам'-ять формуеться в процес узгодження змiнних в межах антецеденту. Надамо фор-мальне представлення переходiв в межах динамiчноi мережi узгодження при обробцi термшально'-! вершини. Формалiзуемо додавання факту до робочо'-1 пам'-ятi для рiзних випадкiв.
Додавання факту, який узгоджуеться з позитивним шаблоном:
& lt-+, f & gt-? -('-)0'-p-- }{& lt-+, f & gt-}!ifrk (f), (15)
& lt- +, f & gt-? tmj^& lt-f}™13 pkep+('-t)0 '-pk=f }{& lt- +,(lk, tmJ)& gt-}!ifrk (tmJ
де о постановка (визначена в стандартних термшах логiки першого порядку), p — шаблон правила, позитивний шаблон, p- - негативний.
Додавання факту, який узгоджуеться з негативним шаблоном:
Таким чином, формули (8)-(10) описують процес обробки змш робочо'-1 пам'-яН в A'-pha-мережi Treat алгоритму, формули (11)-(17) — узгодження змшних в термшальних вершинах, формули (18)-(20) — фор-мування конфлжтно'-! множини на основi результатiв спiвставлення.
9. Розрахунок витрат пам'-ят Treat алгоритму
Запропоноване формальне представлення Treat алгоритму дозволяе розширити модель розрахунку витрат пам'-яп, запропоновану в робоп [14]. В цш роботi вважа-еться, що затрати пам'-яп на обробку Treat мережi потоку даних дорiвнюють загальному розмiру Alpha пам'-ятi:
M (n) = ]Taj=]Th (lmj).
j=0 j=0
Однак, формалiзацiя правил за запропонованими формулами (11)-(16) переходу показуе, що на кожному крощ ствставлення необхщна додаткова пам'-ять, яка забезпечуе збереження даних тд час узгодження змшних в термшальних вершинах мережь
Позначимо ймовiрнiсть узгодження поточного умовного елементу з наступним в черзi в межах антецеденту як probj. Тад витрати пам'-яН на обробку термь нально'-1 вершини можна обрахувати наступним чином:
T (i) = h ('-mo)Jlh (lmj)probj,
j=1
де n — кiлькiсть правил в базi знань, h — висота (роз-мiр) факту, m & lt- n — кiлькiсть факпв у правилах, для яких узгодилася альфа мережа на поточному крощ ствставлення, probj — ймовiрнiсть узгодження умовних елеменпв в процеа ствставлення.
Додатково для забезпечення асиметричного меха-шзму видалення фактiв, яю узгоджувалися з позитив-ними умовними елементами, в Treat алгоритмi на кожному крощ збер^аються факти, як призвели до активацii правил в конфлжтнш множинi:), (16) h (cm). Правила переходу та вщповщш змiни для пам'-ятi конфлiктноi множини представлено формулами (17)-(19).
З урахуванням вищезазначених витрат пам'-ятi в процеа спiвставлення, формула розрахунку ресурсо-емностi Treat алгоритму набувае вигляду:
M (n) =? (h (lmj) + T (i) + h (cm)),
(21)
& lt-<-, f & gt-? tmj=9) {& lt--,(lk, f)>-}!ifrk (f)л лЗ p f ep- (lk) I o'-pk = f.
(17)
Тодi для конфлжтно'-! множини CS виконуються наступш змiни у вiдповiдностi до вхвдних даних з тер-мiнальноi вершини:
& lt--(lk, f) & gt-
— Ucl
-{& lt--, lk & gt-}!, (18) & lt-+(lk, tmk)>-? cm& quot-cm"-'-m- & gt-{<-+,(lk, tmk)>-}!, (19)
де h ('-mj) — затрати на збереження Alpha пам'-яп, T (i) — витрати пам'-ятi на обробку термшальшл вершини, h (cm) — витрати на збереження пам'-ят кон-флiктноi множини.
10. Висновки
1. В eдиному формaтi описано процеси ствставлення в продукцшних системах за Rete та Treat алгоритмами.
2. На 6a3i формального опису продукцiйноi систе-ми в термшах лопки першого порядку запропоновано формальне представлення комтляцп та правил переходу в мережi потоку даних Treat алгоритму.
3. На основi розробленоi формалiзацii запропоновано розрахунок витрат пам'-ят для Treat алгоритму, який враховуе витрати на обробку Alpha-мере-
жi, збереження конфлiктного набору та узгодження змшних в термшальних вершинах мережi потоку даних.
4. Формальне представлення Treat алгоритму в по-дальшому може бути використане для оцшювання його середньоi складностi на основi кiлькостi необхвд-них узгоджень в антецедент продукцш.
Лiтература
1. Жежко, Л. Системы искусственного интеллекта. Представление знаний в информационных системах. Т. 1 [Текст] / Л. Жеж-ко, А. Карпик и В. С. Хорошилов. — Новосибирск: СГГА, 2005. — 84 с.
2. Kowalski, R. Towards a Logic-based Production System Language [Electronic resource] / R. Kowalski, F. Sadri. — London, 2010. -Avaialble at: http: //www. doc. ic. ac. uk/~fs/Papers/Reactive%20systems/LPS%20technical%20report. pdf
3. Булкин, В. Формальное представление знаний в продукционных системах [Текст] / В. Булкин, Н. В. Шаронова // Искусственный интеллект. — 2006. — № 1. — С. 147−157.
4. Tao, Y. Performance evaluation of the inference structure in expert system [Text] / Y. Tao, H. Zhijun, Y. Ruizhao // Artificial intelligence: Proceedings of the 10th international joint conference. — Kaufmann Publishers Inc. — San Francisco, 1987. — P. 945−950.
5. Шаповалова, С. I. Вибiр оптимального алгоритму спiвставлешшя зi зразком при проектувашшi продукщйно'-1 системи [Текст] / С. I. Шаповалова, О. О. Мажара // Схщно-бвропейський журнал передових технологш. — 2014. — Т. 2, № 2 (68). — С. 43−49. doi: 10. 15 587/1729−4061. 2014. 23 338
6. Джаррантано, Дж. Экспертные системы: принципы разработки и програмирование [Текст] / Дж. Джаррантано, Г. Райли- 4-е издание- пер. с англ. — М.: ООО «И.Д. Вильямс», 2007. — 1152 с.
7. Forgy, C. L. On the Efficient Implementation of Production System: PhD thesis [Text] / C. L. Forgy. — Computer Science Department, Carnegie Mellon University. — Pittsburg, 1979. — 356 p.
8. Miranker, D. P TREAT: A New and Efficient Match Algorithm for AI Production Systems [Text] / D. P. Miranker. — London: Pitman/Morgan Kaufmann, 1990. — 144 p.
9. Liu, D. Rule Engine based on improvement Rete algorithm [Text] / D. Liu, T. Gu, J. Xue // The 2010 International Conference on Apperceiving Computing and Intelligence Analysis Proceeding, 2010. — P. 346−349. doi: 10. 1109/icacia. 2010. 5 709 916
10. Berstel, B. Extending the RETE algorithm for event management [Text] / B. Berstel // Proceedings Ninth International Symposium on Temporal Representation and Reasoning, 2002. — P. 49−51. doi: 10. 1109/time. 2002. 1 027 472
11. Kang, J. A. Shortening matching time in OPS5 production systems [Text] / J. A. Kang // IEEE Transactions on Software Engineering. — 2004. — Vol. 30, Issue 7. — P. 448−457. doi: 10. 1109/tse. 2004. 32
12. Albert, L. Average case complicity analyzes of the Rete multi-pattern match algorithm [Text] / L. Albert, F. Fages // Automata, Languages and Programming 5th International Colloquium Tampere. — Finland, 1988. — P. 18−37. doi: 10. 1007/3−540−19 488−6104
13. Cirstea, H. Production Systems and Rete Algorithm Formalization [Electronic resource] / H. Cirstea, C. Kirchner, M. Moossen, P. E. Moreau. — Lorraine, 2004. — Available at: https: //hal. inria. fr/file/index/docid/280 938/filename/rete. formalisation. pdf
14. Wright, I. The execution kernel of RC++: RETE*, a faster RETE with TREAT as a special case [Text] / I. Wright, J. A. R. Marshall // International Journal of Intelligent Games and Simulation. — 2003. — Vol. 2, Issue 1. — P. 36−48.

ПоказатьСвернуть
Заполнить форму текущей работой