STRIPS (Stanford Research Institute Problem Solver) — це , розроблений і у 1971 році. Найменування програми — абревіатура від Stanford Research Institute Problem Solver (вирішувач проблем Стенфордского дослідного інституту). Програма призначалася для вирішення проблеми формування плану поведінки робота Шекі (Shakey the Robot), що переміщує предмети через множину приміщень. В подальшому слово STRIPS стало також використовуватися для позначення формальної мови, що описує вхідні дані цього планувальника. Ця мова є основною більшої частини сучасних мов опису . Програма STRIPS зробила дуже великий вплив на наступні розробки в галузі штучного інтелекту, і ті базові методики подання знань, які були в ній використані для формування дій, не втратили своєї актуальності і дотепер.
Визначення
Опис задачі планування на мові STRIPS включає в себе наступні компоненти:
- Початковий стан;
- Визначення цільових станів — ситуацій, яких планувальник намагається досягнути;
- Перелік можливих дій (операторів). Кожна дія включає:
- передумови (preconditions) — попередня умова, яка має бути задоволеною, для того щоб дія могла бути виконаною;
- післяумови (postconditions) — зміни стану, що відбудуться після виконаання дії.
Висловлюючись математично, задача планування в STRIPS-формалізмі — це четвірка , компоненти якої мають наступні значення :
- — множина умов (conditions)
- — множина операторів; кожен оператор в свою чергу — це четвірка . Усі елементи четвірки є множинами. По черзі, це умови, які:
- мають бути задоволені перед виконанням операції
- мають бути незадоволені (щоб виконання операції мало сенс)
- такі, що задовольняють дану операцію
- порушені даною операцією
- — початковий стан — перелік умов, які рахуються вже задоволеними (усі інші умови рахуються незадоволеними);
- — специфікація бажаної цілі; задаєтся парою , яка визначає, які умови мають бути задоволені і незадоволені, для того, щоб ціль рахувалася досягненою.
Планом (рішенням) такої задачі планування є послідовність дій (операторів), котра може бути виконаною, починаючи зі стану , і приведе до якогось із цільових станів .
Принцип представлення даних
Поточний стан навколишнього середовища — приміщень і предметів у них — представляється набором висловів предикат-аргумент, які в сукупності утворюють модель світу. Так, набір формул: W = {at (робот, кімнатаА), at (ящик1, кімнатаБ), at (ящик2, кімнатаВ)} означає, що робот знаходиться в кімнаті А і є два ящики, один з яких знаходиться в кімнаті Б, а другий — в кімнаті В.
Дії, які може виконати робот, приймають форму операторів, які можливо застосувати до поточної моделі світу. Ці оператори дозволяють додати в модель деякі факти (відомості) або вилучити їх з моделі. Наприклад, виконання операції: «Перемістити робота з кімнати А в кімнату Б» в моделі світу призведе до формування нової моделі W. При цьому факт at (робот, кімнатаА) буде вилучено з моделі, а доданий факт at (робот, кімнатаБ). В результаті нова модель світу буде мати вигляд: W = {at (робот, кімнатаБ), at (ящик1, кімнатаБ), at (ящик2, кімнатаВ)}.
Робот повинен бути не тільки здатний змінювати своє реальне становище в навколишньому середовищі, а й одночасно змінювати своє внутрішнє подання цього середовища, знати, де він зараз знаходиться.
Таблиці операторів і методика «засіб-аналіз завершення»
Допустимі операції, такі як переміщення робота з однієї кімнати в іншу або проштовхування об'єктів, кодуються в таблиці операторів. Нижче показаний елемент цієї таблиці, відповідний операції push (штовхати):
push (X, Y, Z) Попередні умови at (робот, Y), at (X, Y) Список вилучень at (робот, Y), at (X, Y) Список додатків at (робот, Z), at (X, Z)
Тут вираз push (X, Y, Z) означає, що об'єкт X виштовхується (роботом) з положення Y в положення Z, причому X, Y і Z — змінні в області значень, що охоплює доступну множину об'єктів, у той час як робот, кімнатаА, ящик1, кімнатаБ, ящик2, кімнатаВ — це імена конкретних об'єктів з цієї множини.
З точки зору програміста змінні X, У і Z у визначенні оператора, що заданий елементом таблиці, — це аналоги формальних параметрів у визначенні процедури, яка відповідає такій дії: «Виштовхнути який-небудь об'єкт з будь-якого положення в будь-яке інше положення, якщо мають місце задані попередні умови, потім видалити формули, зазначені в списку видалення, і додати формули, зазначені в списку додавання».
З точки зору логіки елемент push таблиці операторів може бути прочитаний у вигляді формули, яка стверджує:
«За будь-яких X, Y і Z об'єкт X виштовхується з Y в Z, якщо робот і об'єкт X в Y, а потім стан зміняться заміною Y на Z».
Цільовий стан також представляється формулою, наприклад: а1 (ящик1, кімнатаА), а2 (ящик2, кімнатаБ).
Програма STRIPS включає множину процедур, які виконують різні функції, зокрема:
- обробка списку цілей;
- вибір чергової мети;
- пошук операторів, які можуть бути використані для досягнення поточної мети;
- аналіз відповідності між метою і формулами в списку додавань в модель;
- установка сформульованих попередніх умов як підцілей.
Щоб уявити собі, як на практиці використовувати подібну структуру уявлень, розглянемо просту задачу: як готуватися до ланчу з потенційним клієнтом. Для цього, по-перше, потрібно мати у своєму розпорядженні певну суму готівкових грошей, щоб розплатитися, по-друге, потрібно зголодніти, оскільки мова йде про прийом їжі. Сформульовані умови можна розглядати як попередні для досягнення мети «ланч». Ця мета може бути представлена оператором. Після завершення ланчу гроші будуть витрачені, а у вас зникне почуття голоду. Ці прості факти знайшли відображення в списках видалень і додавань для оператора have lunch. Однак володіння певною сумою готівкових грошей не можна розглядати як природний стан клієнта. Спочатку потрібно отримати їх в банкоматі, що, в свою чергу, вимагає пересування. Отже, потрібно додати в таблицю операторів ще два елементи — at cash mashine (пересування до банкомата) і have money (одержання готівки).
Цей простий приклад має досить цікаві властивості. Зазначимо, що формули для моделі світу в початковому стані: at (work), have (transport) залишаються в недоторканності до тих пір, поки ми явно не видалимо їх. Таким чином, у вас залишається можливість пересуватися по місту протягом усього часу реалізації плану, оскільки формально відсутні будь-які ознаки, що ця можливість може бути втрачена (наприклад, автомобіль буде викрадений, або ви потрапите в дорожню аварію, або по дорозі до банкомату скінчиться бензин). Точно так само може щось статися і з банкоматом — він може «зажувати» картку, або ви можете забути витягнути її, або може раптом з'явитися механічна рука і ножицями розрізати її. Але передбачається, що послідовність дій, представлена в створеному машиною плані, не повинна передбачати такі виняткові ситуації, хоча в реальній обстановці це може мати місце.
Така стратегія «зворотних» міркувань, тобто від цілей до підцілей, надзвичайно поширена в програмах штучного інтелекту та експертних системах, наприклад Mycin. Але навіть на такій обмеженій множині операторів, як у нашому прикладі, може існувати кілька варіантів виконання дій. У цьому разі необхідно буде організувати якийсь механізм пошуку найкращої послідовності операторів, що призводять до досягнення сформульованої мети.
По суті, в системі STRIPS при виборі операторів виконується пошук в просторі станів. У результаті формується план, тобто послідовність операторів, що приводить до досягнення мети, причому за основу береться стратегія «зворотного» простежування. Основна відмінність STRIPS від інших аналогічних програм полягає в тому, що замість методики «генерація-перевірка» для пересування в просторі станів використовується інший метод, відомий як «засіб — аналіз завершення» (means-ends analisys).
В контексті нашої задачі застосування методики «генерація-перевірка» означає наступне: для кожного поточного стану робляться спроби використати всі можливі оператори, причому після кожної спроби аналізується, чи призвела вона до досягання бажаної мети. Але така методика явно безглузда, оскільки кількість різноманітних операцій, які робот здатний виконати в деякій довільній ситуації, дуже велика, причому багато з цих операцій не мають ніякого відношення до досягнення заданої мети. Уже після кількох перших випробувань розмірність простору станів збільшиться і буде експоненціально зростати з кожним новим випробуванням. Цілком очевидно, що в даному випадку потрібна зовсім інша стратегія.
Основна ідея, яка лежить в основі методу «засіб — аналіз завершення», полягає в тому, щоб з кожною новою операцією відмінність між поточним станом та цільовим зменшувалася, тобто кожна чергова операція повинна наближати нас до мети. Але це передбачає включення в розгляд деякої міри для оцінки «відстані» в просторі станів. Такий захід дуже схожий на оціночну функцію. Якщо наступна мета сформульована у вигляді at (ящик1, кімнатаА),а ящик знаходиться в кімнаті Б, то переміщення робота з кімнати А в кімнату У ніяк не «наблизить» поточний стан до цільового. А ось переміщення робота з кімнати А в кімнату Б зменшить відстань між поточним і цільовим станом, оскільки робот тепер зможе на черговому кроці виштовхнути ящик з кімнати Б в кімнату А. У цьому сенсі поведінка робота «мотивується» від цільового стану до , які можуть привести до досягнення сформульованої мети.
Насправді програма STRIPS зчитує список цілей на зразок такого:at (ящик1, кімнатаА), at (ящик2, кімнатаБ), а потім зіставляє ці цілі і список додавання в описі кожного оператора. Так, мета at (ящик1, кімнатаА) буде відповідати елементу at (X, Z) в списку додатків оператора push (X, Y, Z).
Схема зіставлення полягає у підстановці значень змінних Х/ящик1, Z / кімнатаА та призводить до рівності виразів at (ящик1, кімнатаА) та at (X, Z).
Програма формує підцілі, вибираючи як оператор:
- Підстановкою {Х/ящик1, Z / кімнатаА} означити попередню умову, що є похідним від відповідності at (ящик1, кімнатаА) та at (X, Z), і отримати таким чином at (po6от, Y), at (ящик1, Y).
- Знайти в моделі світу формулу, яка представляла б поточне положення ящика а1 (ящик1, кімнатаБ), порівняти її з at (ящик1, Y) і в результаті цього порівняння сформулювати підстановку {Y / кімнатаБ}, яку потім застосувати до вже частково визначеної попередньої умови. В результаті буде сформульована чергова підціль: at (робот, кімнатаБ), at (ящик1, кімнатаБ).
Тепер перша попередня умова дасть бажане (цільове) становище робота, а другу попередню умову вже виконано.
Так як таблиця операторів, модель світу і цілі представлені за допомогою одного і того ж синтаксису у вигляді конструкцій предикат-аргумент, то, застосовуючи описану вище схему зіставлення, програма досить просто знаходить, які саме операції потрібно виконати для досягнення поставленої мети. Все, що потрібно для цього зробити, — переглянути списки додавань в описі операторів і знайти в них елемент, відповідний до заданої мети.
Підцілі формулюються на основі аналізу попередніх умов, заданих для операторів, означуючи їх підстановкою змінних з формули моделі світу. Як тільки вибрано потрібний оператор, його попередні умови перетворюються і додаються в список підцілей. Якщо в поточному стані можна застосувати не один оператор, то для вибору між «кандидатами» потрібно застосувати будь-яку евристику. Наприклад, можна вибрати той з операторів, який обіцяє найбільше скорочення «відстані» між поточним станом та цільовим. Інший можливий варіант — оператори в таблиці заздалегідь впорядковані і потрібно застосовувати той з них, який стоїть у списку раніше.
Весь процес вирішення проблеми за такою методикою має яскраво виражений рекурсивний характер. Підцілі можуть, в свою чергу, спричинити формулювання підпід-цілей і т. д. На самому нижньому рівні виявляться підцілі, які реалізуються операторами, або не мають попередніх умов, або мають такі попередні умови, які задовольняються тривіально.
Аналіз методу подання і управління
Для того щоб краще уявити собі переваги методу подання, використаного в системі STRIPS, розглянемо альтернативний метод. Припустимо, що поточний стан навколишнього світу представлено у вигляді двовимірного масиву з елементами різного розміру (в такому масиві елементи верхнього рівня — комірки — представляють різні приміщення, а елементи другого рівня — об'єкти в цих приміщеннях). Такий варіант подання компактніше описового, але він не дозволяє виконувати операції зіставлення. Можна, звичайно, придумати який-небудь спосіб опису цілей та операцій на мові, орієнтованій на роботі з масивами, але тоді буде втрачено деякі з головних переваг розглянутої методики.
- Як оператори доведеться використовувати процедури маніпуляції з елементами масивів, які з великими труднощами сприймаються людиною, а значить, налагоджувати і конструювати оператори в такій формі значно важче, ніж у формі таблиць операторів.
- Програму буде значно складніше модифікувати та вдосконалювати. Припустимо, що ускладниться розміщення приміщень і зв'язки між ними. В такому випадку доведеться повністю переглянути і вручну скоректувати всі процедури роботи з масивами приміщень та об'єктів, оскільки зміниться розмірність масиву і зв'язки між його елементами. А в системі STRIPS єдине, що потрібно буде зробити в цьому випадку, — змінити модель світу, що робиться значно простіше, оскільки при цьому змінюється не програмний код, а тільки опис.
Припустимо тепер, що в множину цілей потрібно включити, наприклад, і таку: «перенести будь-які три ящика в кімнату А», тобто мета задає не єдиний стан світу, а безліч станів, що задовольняють сформульованим умовам. При такій постановці проблеми набір процедур, орієнтованих на табличне подання, доведеться переглянути докорінно. Подання на базі конструкцій предикат-аргумент дозволяє висловити цільовий стан, ввівши у вираз змінні at (X, кімнатаА), at (Y, кімнатаА), at (Z, кімнатаА).
Після цього можна використовувати колишню методику пошуку рішення.
- Пошук рішення проблеми передбачає використання евристик, оскільки, як правило, існує безліч варіантів, серед яких доводиться вибирати.
- При одноманітному поданні простіше знаходити ті оператори, які можна застосувати в конкретній ситуації, і переглянути, який ефект дасть їх застосування. Однакове уявлення також значно спрощує програмну реалізацію процесу пошуку.
- Часто вдається досягти заданої мети, застосовуючи методику зниження рівня складності проблеми (problem reduction). При цьому проводиться зворотна трасування проблеми — «відштовхуючись» від мети, з'ясовуємо, які попередні умови потрібно задовольнити для її досягнення, і формулюємо на основі таких міркувань простіші підцілі. Цей процес рекурсивно продовжується до тих пір, поки не будуть сформульовані тривіальні підцілі, досяжні за допомогою найпростіших операцій.
Мова представлення, подібна до тієї, що використовується в STRIPS, з точки зору програмної реалізації є мовою, яка інтерпретується, тобто трансляція з цієї мови виконується інтерпретатором, програмою, яка здатна розпізнавати в операторах мови формули, подібні push (ящик1, кімнатаБ, кімнатаА), і висловити закладений в формулах сенс у термінах виконуваних процедур. Так, сенс наведеної вище формули інтерпретується як необхідність досягти попередніх умов at (робот, кімнатаБ), at (ящик1, кімнатаБ), а потім реалізувати дії, передбачені списками додавань і винятків, тобто, додати в модель світу стан at (робот, кімнатаА), at (ящик1, кімнатаА) і виключити з моделі світу стан at (робот, кімнатаБ), at (ящик1, кімнатаБ).
Такий підхід до інтерпретації отримав найменування процедуральної семантики (procedural semantics), оскільки все, що відомо програмі про сенс формули, — які дії їй потрібно виконати для того, щоб формула отримала значення істина. Однак, це не дуже широке тлумачення сенсу, і такий підхід навряд чи просуне нас далеко у розвитку машинного «розуміння». Але, тим не менш, процедуральних семантика дозволяє нам принаймні побудувати зв'язок між думкою і дією.
Див. також
Рекомендована література
- R. Fikes and N. Nilsson (1971). STRIPS: a new approach to the application of theorem proving to problem solving. Artificial Intelligence, 2:189-208.
Посилання
- Обзор системы STRIPS (Проект „„Интеллектуальное планирование““) [ 9 грудня 2013 у Wayback Machine.]
- STRIPS-формализм в обзоре по языкам планирования (Проект „„Интеллектуальное планирование““) [ 8 грудня 2013 у Wayback Machine.]
Це незавершена стаття зі штучного інтелекту. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
STRIPS Stanford Research Institute Problem Solver ce rozroblenij i u 1971 roci Najmenuvannya programi abreviatura vid Stanford Research Institute Problem Solver virishuvach problem Stenfordskogo doslidnogo institutu Programa priznachalasya dlya virishennya problemi formuvannya planu povedinki robota Sheki Shakey the Robot sho peremishuye predmeti cherez mnozhinu primishen V podalshomu slovo STRIPS stalo takozh vikoristovuvatisya dlya poznachennya formalnoyi movi sho opisuye vhidni dani cogo planuvalnika Cya mova ye osnovnoyu bilshoyi chastini suchasnih mov opisu Programa STRIPS zrobila duzhe velikij vpliv na nastupni rozrobki v galuzi shtuchnogo intelektu i ti bazovi metodiki podannya znan yaki buli v nij vikoristani dlya formuvannya dij ne vtratili svoyeyi aktualnosti i doteper ViznachennyaOpis zadachi planuvannya na movi STRIPS vklyuchaye v sebe nastupni komponenti Pochatkovij stan Viznachennya cilovih staniv situacij yakih planuvalnik namagayetsya dosyagnuti Perelik mozhlivih dij operatoriv Kozhna diya vklyuchaye peredumovi preconditions poperednya umova yaka maye buti zadovolenoyu dlya togo shob diya mogla buti vikonanoyu pislyaumovi postconditions zmini stanu sho vidbudutsya pislya vikonaannya diyi Vislovlyuyuchis matematichno zadacha planuvannya v STRIPS formalizmi ce chetvirka P O I G displaystyle langle P O I G rangle komponenti yakoyi mayut nastupni znachennya P displaystyle P mnozhina umov conditions O displaystyle O mnozhina operatoriv kozhen operator v svoyu chergu ce chetvirka a b g d displaystyle langle alpha beta gamma delta rangle Usi elementi chetvirki ye mnozhinami Po cherzi ce umovi yaki mayut buti zadovoleni pered vikonannyam operaciyi mayut buti nezadovoleni shob vikonannya operaciyi malo sens taki sho zadovolnyayut danu operaciyu porusheni danoyu operaciyeyu I displaystyle I pochatkovij stan perelik umov yaki rahuyutsya vzhe zadovolenimi usi inshi umovi rahuyutsya nezadovolenimi G displaystyle G specifikaciya bazhanoyi cili zadayetsya paroyu N M displaystyle langle N M rangle yaka viznachaye yaki umovi mayut buti zadovoleni i nezadovoleni dlya togo shob cil rahuvalasya dosyagnenoyu Planom rishennyam takoyi zadachi planuvannya ye poslidovnist dij operatoriv kotra mozhe buti vikonanoyu pochinayuchi zi stanu I displaystyle I i privede do yakogos iz cilovih staniv G displaystyle G Princip predstavlennya danihPotochnij stan navkolishnogo seredovisha primishen i predmetiv u nih predstavlyayetsya naborom visloviv predikat argument yaki v sukupnosti utvoryuyut model svitu Tak nabir formul W at robot kimnataA at yashik1 kimnataB at yashik2 kimnataV oznachaye sho robot znahoditsya v kimnati A i ye dva yashiki odin z yakih znahoditsya v kimnati B a drugij v kimnati V Diyi yaki mozhe vikonati robot prijmayut formu operatoriv yaki mozhlivo zastosuvati do potochnoyi modeli svitu Ci operatori dozvolyayut dodati v model deyaki fakti vidomosti abo viluchiti yih z modeli Napriklad vikonannya operaciyi Peremistiti robota z kimnati A v kimnatu B v modeli svitu prizvede do formuvannya novoyi modeli W Pri comu fakt at robot kimnataA bude vilucheno z modeli a dodanij fakt at robot kimnataB V rezultati nova model svitu bude mati viglyad W at robot kimnataB at yashik1 kimnataB at yashik2 kimnataV Robot povinen buti ne tilki zdatnij zminyuvati svoye realne stanovishe v navkolishnomu seredovishi a j odnochasno zminyuvati svoye vnutrishnye podannya cogo seredovisha znati de vin zaraz znahoditsya Tablici operatoriv i metodika zasib analiz zavershennya Dopustimi operaciyi taki yak peremishennya robota z odniyeyi kimnati v inshu abo proshtovhuvannya ob yektiv koduyutsya v tablici operatoriv Nizhche pokazanij element ciyeyi tablici vidpovidnij operaciyi push shtovhati push X Y Z Poperedni umovi at robot Y at X Y Spisok viluchen at robot Y at X Y Spisok dodatkiv at robot Z at X Z Tut viraz push X Y Z oznachaye sho ob yekt X vishtovhuyetsya robotom z polozhennya Y v polozhennya Z prichomu X Y i Z zminni v oblasti znachen sho ohoplyuye dostupnu mnozhinu ob yektiv u toj chas yak robot kimnataA yashik1 kimnataB yashik2 kimnataV ce imena konkretnih ob yektiv z ciyeyi mnozhini Z tochki zoru programista zminni X U i Z u viznachenni operatora sho zadanij elementom tablici ce analogi formalnih parametriv u viznachenni proceduri yaka vidpovidaye takij diyi Vishtovhnuti yakij nebud ob yekt z bud yakogo polozhennya v bud yake inshe polozhennya yaksho mayut misce zadani poperedni umovi potim vidaliti formuli zaznacheni v spisku vidalennya i dodati formuli zaznacheni v spisku dodavannya Z tochki zoru logiki element push tablici operatoriv mozhe buti prochitanij u viglyadi formuli yaka stverdzhuye Za bud yakih X Y i Z ob yekt X vishtovhuyetsya z Y v Z yaksho robot i ob yekt X v Y a potim stan zminyatsya zaminoyu Y na Z Cilovij stan takozh predstavlyayetsya formuloyu napriklad a1 yashik1 kimnataA a2 yashik2 kimnataB Programa STRIPS vklyuchaye mnozhinu procedur yaki vikonuyut rizni funkciyi zokrema obrobka spisku cilej vibir chergovoyi meti poshuk operatoriv yaki mozhut buti vikoristani dlya dosyagnennya potochnoyi meti analiz vidpovidnosti mizh metoyu i formulami v spisku dodavan v model ustanovka sformulovanih poperednih umov yak pidcilej Shob uyaviti sobi yak na praktici vikoristovuvati podibnu strukturu uyavlen rozglyanemo prostu zadachu yak gotuvatisya do lanchu z potencijnim kliyentom Dlya cogo po pershe potribno mati u svoyemu rozporyadzhenni pevnu sumu gotivkovih groshej shob rozplatitisya po druge potribno zgolodniti oskilki mova jde pro prijom yizhi Sformulovani umovi mozhna rozglyadati yak poperedni dlya dosyagnennya meti lanch Cya meta mozhe buti predstavlena operatorom Pislya zavershennya lanchu groshi budut vitracheni a u vas znikne pochuttya golodu Ci prosti fakti znajshli vidobrazhennya v spiskah vidalen i dodavan dlya operatora have lunch Odnak volodinnya pevnoyu sumoyu gotivkovih groshej ne mozhna rozglyadati yak prirodnij stan kliyenta Spochatku potribno otrimati yih v bankomati sho v svoyu chergu vimagaye peresuvannya Otzhe potribno dodati v tablicyu operatoriv she dva elementi at cash mashine peresuvannya do bankomata i have money oderzhannya gotivki Cej prostij priklad maye dosit cikavi vlastivosti Zaznachimo sho formuli dlya modeli svitu v pochatkovomu stani at work have transport zalishayutsya v nedotorkannosti do tih pir poki mi yavno ne vidalimo yih Takim chinom u vas zalishayetsya mozhlivist peresuvatisya po mistu protyagom usogo chasu realizaciyi planu oskilki formalno vidsutni bud yaki oznaki sho cya mozhlivist mozhe buti vtrachena napriklad avtomobil bude vikradenij abo vi potrapite v dorozhnyu avariyu abo po dorozi do bankomatu skinchitsya benzin Tochno tak samo mozhe shos statisya i z bankomatom vin mozhe zazhuvati kartku abo vi mozhete zabuti vityagnuti yiyi abo mozhe raptom z yavitisya mehanichna ruka i nozhicyami rozrizati yiyi Ale peredbachayetsya sho poslidovnist dij predstavlena v stvorenomu mashinoyu plani ne povinna peredbachati taki vinyatkovi situaciyi hocha v realnij obstanovci ce mozhe mati misce Taka strategiya zvorotnih mirkuvan tobto vid cilej do pidcilej nadzvichajno poshirena v programah shtuchnogo intelektu ta ekspertnih sistemah napriklad Mycin Ale navit na takij obmezhenij mnozhini operatoriv yak u nashomu prikladi mozhe isnuvati kilka variantiv vikonannya dij U comu razi neobhidno bude organizuvati yakijs mehanizm poshuku najkrashoyi poslidovnosti operatoriv sho prizvodyat do dosyagnennya sformulovanoyi meti Po suti v sistemi STRIPS pri vibori operatoriv vikonuyetsya poshuk v prostori staniv U rezultati formuyetsya plan tobto poslidovnist operatoriv sho privodit do dosyagnennya meti prichomu za osnovu beretsya strategiya zvorotnogo prostezhuvannya Osnovna vidminnist STRIPS vid inshih analogichnih program polyagaye v tomu sho zamist metodiki generaciya perevirka dlya peresuvannya v prostori staniv vikoristovuyetsya inshij metod vidomij yak zasib analiz zavershennya means ends analisys V konteksti nashoyi zadachi zastosuvannya metodiki generaciya perevirka oznachaye nastupne dlya kozhnogo potochnogo stanu roblyatsya sprobi vikoristati vsi mozhlivi operatori prichomu pislya kozhnoyi sprobi analizuyetsya chi prizvela vona do dosyagannya bazhanoyi meti Ale taka metodika yavno bezgluzda oskilki kilkist riznomanitnih operacij yaki robot zdatnij vikonati v deyakij dovilnij situaciyi duzhe velika prichomu bagato z cih operacij ne mayut niyakogo vidnoshennya do dosyagnennya zadanoyi meti Uzhe pislya kilkoh pershih viprobuvan rozmirnist prostoru staniv zbilshitsya i bude eksponencialno zrostati z kozhnim novim viprobuvannyam Cilkom ochevidno sho v danomu vipadku potribna zovsim insha strategiya Osnovna ideya yaka lezhit v osnovi metodu zasib analiz zavershennya polyagaye v tomu shob z kozhnoyu novoyu operaciyeyu vidminnist mizh potochnim stanom ta cilovim zmenshuvalasya tobto kozhna chergova operaciya povinna nablizhati nas do meti Ale ce peredbachaye vklyuchennya v rozglyad deyakoyi miri dlya ocinki vidstani v prostori staniv Takij zahid duzhe shozhij na ocinochnu funkciyu Yaksho nastupna meta sformulovana u viglyadi at yashik1 kimnataA a yashik znahoditsya v kimnati B to peremishennya robota z kimnati A v kimnatu U niyak ne nablizit potochnij stan do cilovogo A os peremishennya robota z kimnati A v kimnatu B zmenshit vidstan mizh potochnim i cilovim stanom oskilki robot teper zmozhe na chergovomu kroci vishtovhnuti yashik z kimnati B v kimnatu A U comu sensi povedinka robota motivuyetsya vid cilovogo stanu do yaki mozhut privesti do dosyagnennya sformulovanoyi meti Naspravdi programa STRIPS zchituye spisok cilej na zrazok takogo at yashik1 kimnataA at yashik2 kimnataB a potim zistavlyaye ci cili i spisok dodavannya v opisi kozhnogo operatora Tak meta at yashik1 kimnataA bude vidpovidati elementu at X Z v spisku dodatkiv operatora push X Y Z Shema zistavlennya polyagaye u pidstanovci znachen zminnih H yashik1 Z kimnataA ta prizvodit do rivnosti viraziv at yashik1 kimnataA ta at X Z Programa formuye pidcili vibirayuchi yak operator Pidstanovkoyu H yashik1 Z kimnataA oznachiti poperednyu umovu sho ye pohidnim vid vidpovidnosti at yashik1 kimnataA ta at X Z i otrimati takim chinom at po6ot Y at yashik1 Y Znajti v modeli svitu formulu yaka predstavlyala b potochne polozhennya yashika a1 yashik1 kimnataB porivnyati yiyi z at yashik1 Y i v rezultati cogo porivnyannya sformulyuvati pidstanovku Y kimnataB yaku potim zastosuvati do vzhe chastkovo viznachenoyi poperednoyi umovi V rezultati bude sformulovana chergova pidcil at robot kimnataB at yashik1 kimnataB Teper persha poperednya umova dast bazhane cilove stanovishe robota a drugu poperednyu umovu vzhe vikonano Tak yak tablicya operatoriv model svitu i cili predstavleni za dopomogoyu odnogo i togo zh sintaksisu u viglyadi konstrukcij predikat argument to zastosovuyuchi opisanu vishe shemu zistavlennya programa dosit prosto znahodit yaki same operaciyi potribno vikonati dlya dosyagnennya postavlenoyi meti Vse sho potribno dlya cogo zrobiti pereglyanuti spiski dodavan v opisi operatoriv i znajti v nih element vidpovidnij do zadanoyi meti Pidcili formulyuyutsya na osnovi analizu poperednih umov zadanih dlya operatoriv oznachuyuchi yih pidstanovkoyu zminnih z formuli modeli svitu Yak tilki vibrano potribnij operator jogo poperedni umovi peretvoryuyutsya i dodayutsya v spisok pidcilej Yaksho v potochnomu stani mozhna zastosuvati ne odin operator to dlya viboru mizh kandidatami potribno zastosuvati bud yaku evristiku Napriklad mozhna vibrati toj z operatoriv yakij obicyaye najbilshe skorochennya vidstani mizh potochnim stanom ta cilovim Inshij mozhlivij variant operatori v tablici zazdalegid vporyadkovani i potribno zastosovuvati toj z nih yakij stoyit u spisku ranishe Ves proces virishennya problemi za takoyu metodikoyu maye yaskravo virazhenij rekursivnij harakter Pidcili mozhut v svoyu chergu sprichiniti formulyuvannya pidpid cilej i t d Na samomu nizhnomu rivni viyavlyatsya pidcili yaki realizuyutsya operatorami abo ne mayut poperednih umov abo mayut taki poperedni umovi yaki zadovolnyayutsya trivialno Analiz metodu podannya i upravlinnyaDlya togo shob krashe uyaviti sobi perevagi metodu podannya vikoristanogo v sistemi STRIPS rozglyanemo alternativnij metod Pripustimo sho potochnij stan navkolishnogo svitu predstavleno u viglyadi dvovimirnogo masivu z elementami riznogo rozmiru v takomu masivi elementi verhnogo rivnya komirki predstavlyayut rizni primishennya a elementi drugogo rivnya ob yekti v cih primishennyah Takij variant podannya kompaktnishe opisovogo ale vin ne dozvolyaye vikonuvati operaciyi zistavlennya Mozhna zvichajno pridumati yakij nebud sposib opisu cilej ta operacij na movi oriyentovanij na roboti z masivami ale todi bude vtracheno deyaki z golovnih perevag rozglyanutoyi metodiki Yak operatori dovedetsya vikoristovuvati proceduri manipulyaciyi z elementami masiviv yaki z velikimi trudnoshami sprijmayutsya lyudinoyu a znachit nalagodzhuvati i konstruyuvati operatori v takij formi znachno vazhche nizh u formi tablic operatoriv Programu bude znachno skladnishe modifikuvati ta vdoskonalyuvati Pripustimo sho uskladnitsya rozmishennya primishen i zv yazki mizh nimi V takomu vipadku dovedetsya povnistyu pereglyanuti i vruchnu skorektuvati vsi proceduri roboti z masivami primishen ta ob yektiv oskilki zminitsya rozmirnist masivu i zv yazki mizh jogo elementami A v sistemi STRIPS yedine sho potribno bude zrobiti v comu vipadku zminiti model svitu sho robitsya znachno prostishe oskilki pri comu zminyuyetsya ne programnij kod a tilki opis Pripustimo teper sho v mnozhinu cilej potribno vklyuchiti napriklad i taku perenesti bud yaki tri yashika v kimnatu A tobto meta zadaye ne yedinij stan svitu a bezlich staniv sho zadovolnyayut sformulovanim umovam Pri takij postanovci problemi nabir procedur oriyentovanih na tablichne podannya dovedetsya pereglyanuti dokorinno Podannya na bazi konstrukcij predikat argument dozvolyaye visloviti cilovij stan vvivshi u viraz zminni at X kimnataA at Y kimnataA at Z kimnataA Pislya cogo mozhna vikoristovuvati kolishnyu metodiku poshuku rishennya Poshuk rishennya problemi peredbachaye vikoristannya evristik oskilki yak pravilo isnuye bezlich variantiv sered yakih dovoditsya vibirati Pri odnomanitnomu podanni prostishe znahoditi ti operatori yaki mozhna zastosuvati v konkretnij situaciyi i pereglyanuti yakij efekt dast yih zastosuvannya Odnakove uyavlennya takozh znachno sproshuye programnu realizaciyu procesu poshuku Chasto vdayetsya dosyagti zadanoyi meti zastosovuyuchi metodiku znizhennya rivnya skladnosti problemi problem reduction Pri comu provoditsya zvorotna trasuvannya problemi vidshtovhuyuchis vid meti z yasovuyemo yaki poperedni umovi potribno zadovolniti dlya yiyi dosyagnennya i formulyuyemo na osnovi takih mirkuvan prostishi pidcili Cej proces rekursivno prodovzhuyetsya do tih pir poki ne budut sformulovani trivialni pidcili dosyazhni za dopomogoyu najprostishih operacij Mova predstavlennya podibna do tiyeyi sho vikoristovuyetsya v STRIPS z tochki zoru programnoyi realizaciyi ye movoyu yaka interpretuyetsya tobto translyaciya z ciyeyi movi vikonuyetsya interpretatorom programoyu yaka zdatna rozpiznavati v operatorah movi formuli podibni push yashik1 kimnataB kimnataA i visloviti zakladenij v formulah sens u terminah vikonuvanih procedur Tak sens navedenoyi vishe formuli interpretuyetsya yak neobhidnist dosyagti poperednih umov at robot kimnataB at yashik1 kimnataB a potim realizuvati diyi peredbacheni spiskami dodavan i vinyatkiv tobto dodati v model svitu stan at robot kimnataA at yashik1 kimnataA i viklyuchiti z modeli svitu stan at robot kimnataB at yashik1 kimnataB Takij pidhid do interpretaciyi otrimav najmenuvannya proceduralnoyi semantiki procedural semantics oskilki vse sho vidomo programi pro sens formuli yaki diyi yij potribno vikonati dlya togo shob formula otrimala znachennya istina Odnak ce ne duzhe shiroke tlumachennya sensu i takij pidhid navryad chi prosune nas daleko u rozvitku mashinnogo rozuminnya Ale tim ne mensh proceduralnih semantika dozvolyaye nam prinajmni pobuduvati zv yazok mizh dumkoyu i diyeyu Div takozhSHRDLURekomendovana literaturaR Fikes and N Nilsson 1971 STRIPS a new approach to the application of theorem proving to problem solving Artificial Intelligence 2 189 208 PosilannyaObzor sistemy STRIPS Proekt Intellektualnoe planirovanie 9 grudnya 2013 u Wayback Machine STRIPS formalizm v obzore po yazykam planirovaniya Proekt Intellektualnoe planirovanie 8 grudnya 2013 u Wayback Machine Ce nezavershena stattya zi shtuchnogo intelektu Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi