Кіріспе
Жоспарлау бағдарламалау тілі Жоспарлау доменін анықтау тілі (PDDL) — жасанды интеллект (AI) жоспарлау тілдерін стандарттауға жасалған тыраш. PDDL-ді қалай пайдалануға болатыны туралы бірнеше онлайн ресурстар мен кітап қолжетімді.
The Planning Domain Definition Language (PDDL) is an attempt to standardize Artificial Intelligence (AI) planning languages. Several online resources of how to use PDDL are available, and also a book.
PDDL1.2
Бұл 1998 және 2000 жылдары 1-ші және 2-ші МКК-ның ресми тілі болды. Ол жоспарлау мәселесінің моделін екі негізгі бөлікке бөлді: (1) доменді сипаттау және (2) тиісті проблеманы сипаттау. Модельді осылай бөлу, (1) проблемалық доменнің әрбір нақты мәселесінде кездесетін элементтерді (бұл элементтер доменді сипаттауда қамтылған) және (2) нақты жоспарлау мәселесін анықтайтын элементтерді (бұл элементтер проблеманы сипаттауда қамтылған) интуитивті түрде ажыратуға мүмкіндік береді. Сондықтан бірнеше проблемалық сипаттамалар бір домендік сипаттамамен байланысты болуы мүмкін (мысалы, объектіге бағытталған бағдарламалау (OOP) немесе веб-онтология тілі (OWL) класының бірнеше мысалы болуы мүмкін). Осылайша, домен және оған байланысты проблеманың сипаттамасы жоспарлау мәселесінің PDDL моделін құрайды, және соңында бұл жоспарлаушы бағдарламалық құралының (әдетте доменге тәуелсіз жасанды интеллект жоспарлаушысы) кірісі болып табылады, ол белгілі бір жоспарлау алгоритмі арқылы берілген жоспарлау мәселесін шешуге бағытталған. Жоспарлаушының нәтижесі PDDL-де көрсетілмейді, бірақ әдетте толық немесе ішінара реттелген жоспар (әрекеттер тізбегі, олардың кейбіреуі тіпті параллель орындалуы мүмкін) болып табылады. Енді PDDL1.2 домені мен проблеманың сипаттамасының мазмұнына көңіл аударайық. (1) Доменді сипаттау домен атауының анықтамасынан, талаптардың анықтамасынан (PDDL моделі нақты қолданатын жоспарлаушыға модель элементтерін жариялау үшін), объектілер типінің иерархиясынан (OOP-дағы сынып иерархиясы сияқты), тұрақты объектілердің анықтамасынан (домендегі әрбір мәселеде кездесетін), предикаттардың анықтамасынан (логикалық фактілерге арналған үлгілер) және мүмкін болатын әрекеттердің анықтамасынан (параметрлері бар оператор схемалары, олар орындалу кезінде нақтыланады/қолданылады) тұрады. Әрекеттер параметрлерге (объектілермен ауыстырылатын айнымалылар), алғышарттарға және салдарларға ие. Әрекеттердің салдары да шартты болуы мүмкін (егер салдарлар болса). (2) Проблеманың сипаттамасы проблема атауының анықтамасынан, байланысты домен атауының анықтамасынан, барлық мүмкін объектілердің анықтамасынан (логикалық әлемдегі атомдар), бастапқы шарттардан (жоспарлау ортасының бастапқы күйі, шын/жалған фактілердің біріктірілісі) және мақсатты күйлердің анықтамасынан (жоспарлау ортасының мақсатты күйінде шын/жалған болуы тиіс фактілер бойынша логикалық өрнек) тұрады. Осылайша, PDDL1.2 бір агенттің дискретті, толық қолжетімді жоспарлау ортасының «физикасын» бейнеледі.
PDDL2.1
Бұл 2002 жылы 3-ші ХЖК-нің ресми тілі болды. Ол сандық ағындарды (мысалы, отын деңгейі, уақыт, энергия, қашықтық, салмақ сияқты екілік емес ресурстарды модельдеу үшін), жоспар метрикаларын (жоспарларды сандық түрде бағалауға мүмкіндік беру үшін, сондай-ақ мақсатқа ғана емес, пайдалылыққа негізделген жоспарлау, яғни оңтайландыру, метриканы азайту/максимизациялау) және ұзақтығы/үздіксіз әрекеттерді (өзгермелі, дискретті емес ұзақтығы, шарттары мен салдары болуы мүмкін) енгізді. Нәтижесінде PDDL2.1 тілінің бастапқы нұсқасына қарағанда көптеген нақты әлемдегі мәселелерді бейнелеуге және шешуге мүмкіндік берді.
PDDL2.2
Бұл 2004 жылы 4-ші IPC-нің детерминистік трегінің ресми тілі болды. Ол туынды предикаттарды (нақты фактілердің басқа фактілерге тәуелділігін модельдеу үшін енгізді, мысалы, егер А-ға B-дан жете алса, ал B-ға C-дан жете алса, онда А-ға C-дан да жетеді (транзитивтілік)), сондай-ақ уақытталған бастапқы литералдарды (жоспардың орындалуына тәуелсіз, белгілі бір уақытта болатын сыртқы оқиғаларды модельдеу үшін) енгізді. Соңында PDDL2.2 тілге бірнеше маңызды элементтерді қосты, бірақ PDDL1.2-ден кейін PDDL2.1-мен салыстырғанда радикалды эволюция болған жоқ.
PDDL3.0
Бұл 2006 жылы 5-ші IPC-нің детерминистік трегінің ресми тілі болды. Ол күй траекториясы шектеулерін (жоспар орындалған кезде туындайтын күй траекториясы үшін дұрыс болуы тиіс модальдық логикалық өрнектер түріндегі қатаң шектеулер, бұл берілген жоспарлау мәселесінің шешімі) және қалауларды (қатаң шектеулерге ұқсас логикалық өрнектер түріндегі жұмсақ шектеулер, бірақ оларды қанағаттандыру міндетті емес, алайда оларды жоспар метрикасына қосуға болады, мысалы, қанағаттандырылған қалаулар санын барынша арттыру немесе жоспар сапасын өлшеу) енгізді, бұл қалауларға негізделген жоспарлауға мүмкіндік берді. Соңында PDDL3.0 жоспарлаудағы соңғы, маңызды жетістіктермен күресуге тілдің экспрессивтілігін жаңартты.
PDDL3.1
Бұл 2008 және 2011 жылдары өткен 6-шы және 7-ші IPC жарыстарының детерминистік трегінің ресми тілі болды. Ол объектілік ағындарды (яғни функциялардың мәндер жиыны енді тек сандық – бүтін немесе нақты сан ғана емес, кез келген нысан түрінде де болуы мүмкін) енгізді. Осылайша, PDDL3.1 тілі синтаксистік тұрғыдан шағын болғанымен, семантикалық жағынан маңызды өзгеріс арқылы қазіргі заманғы талаптарға одан да бейімделді.
Қазіргі жағдай
Тілдің соңғы нұсқасы PDDL3.1 болып табылады. PDDL3.1 BNF (Backus–Naur Form) синтаксис анықтамасын IPC 2011 веб-сайтының немесе IPC 2014 веб-сайтының ресурстарынан табуға болады.
PDDL+
PDDL2.1 кеңейтілуі, шамамен 2002–2006 жылдар аралығында жасалған, автономды процестер мен оқиғаларды пайдалану арқылы үздіксіз өзгерістердің көбірек икемді моделін ұсынады. Бұл кеңейтудің негізгі мүмкіндігі – агенттің әрекеттері мен агенттің ортасы бастаған өзгерістер арасындағы өзара әрекеттесуді модельдеу қабілеті. Процестер уақыт бойынша жұмыс істейді және сандық мәндерге үздіксіз әсер етеді. Олар агенттің тікелей әрекеттерімен немесе ортада туындаған оқиғалармен басталып, аяқталады. Бұл үш бөлімді құрылым «процесті бастау-тоқтату» моделі деп аталады. Логикалық және сандық күйлер арасында ажырату жасалады: логикалық күйлер арасындағы өтулер дереу деп есептеледі, ал нақты логикалық күйде болу уақыт бойынша созылуы мүмкін. Осылайша, PDDL+ тілінде үздіксіз жаңарту өрнектері тек процестердің әсерлерінде ғана қолданылады. Бір сәтте болатын әрекеттер мен оқиғалар дискретті өзгерістерді көрсетумен шектеледі. Бұл жоғарыда айтылған үздіксіз өзгеріс кезеңдерінің үш бөлімді модельдеуін енгізеді: (1) әрекет немесе оқиға процесс арқылы көрсетілген сандық айнымалыдағы үздіксіз өзгеріс кезеңін бастайды; (2) процесс сандық айнымалының үздіксіз өзгеруін іске асырады; (3) әрекет немесе оқиға процестің орындалуын тоқтатады және сандық айнымалыға тигізетін әсерін аяқтайды. Ескерту: жоспардың мақсаттары белсенді процесс тоқтатылғанға дейін орындалуы мүмкін.
NDDL
NDDL (New Domain Definition Language) – бұл 2002 жыл шамасында PDDL-ге NASA-ның жауабы. Оның ұсынылуы PDDL-ден бірнеше жағынан өзгеше: 1) ол мәндік/айнымалы ұсынылымды (уақыт тізбектері/іс-әрекеттер) қолданады, ал PDDL-дегідей мәлімдемелік/бірінші реттік логиканы емес, және 2) күйлер немесе әрекеттер деген ұғым жоқ, тек аралықтар (іс-әрекеттер) және осы іс-әрекеттер арасындағы шектеулер бар. Осы тұрғыдан алғанда, NDDL-дегі модельдер PDDL модельдеріне қарағанда жоспарлау мәселелерін SAT кодтау схемаларына көбірек ұқсайды. Аталған айырмашылықтардың нәтижесінде, NDDL қолданғанда жоспарлау және жоспарларды іске асыру (мысалы, маңызды ғарыш миссиялары барысында) сенімдірек болуы мүмкін, бірақ PDDL-ден өзге стандартты жоспарлау мәселелерін бейнелеу PDDL-ге қарағанда әлдеқайда түсініксіз болуы ықтимал.
MAPL
MAPL (Multi Agent Planning Language, "maple" деп айтылады) – шамамен 2003 жылғы PDDL2.1-дің кеңейтілген нұсқасы. Бұл бастапқы тілге енгізілген маңызды өзгеріс. Ол ұйғарымдық емес күй айнымалыларын (олар n-арлы болуы мүмкін: true, false, unknown, немесе кез келген басқа мән) енгізеді. Модальдық операторлармен (бұрын, кейін, т.б.) берілген уақыт моделін де енгізеді. Бірақ PDDL3.0 нұсқасында бастапқы PDDL синтаксисімен үйлесімді, және тек қосымша мүмкіндік ретінде қарастырылатын, толыққандырақ уақыт моделі ұсынылды. MAPL сондай-ақ, орындалу кезінде ұзақтығы анықталатын әрекеттерді және агенттер арасындағы сөйлеу актілері арқылы жүзеге асырылатын жоспарларды синхрондауды енгізеді. Бұл болжам шынайы болмауы мүмкін, себебі бір уақытта жоспарларды орындайтын агенттердің мультиагенттік ортада жұмыс істеуі үшін міндетті түрде байланысқа түсуі қажет емес. Соңында, MAPL әрекеттердің бір мезгілде орындалуын басқару үшін оқиғаларды (эндогенді және экзогенді) енгізеді. Осылайша оқиғалар жоспардың бөлігіне айналады және жоспардың бір бөлігі болып табылатын басқару функциясы арқылы агенттерге тағайындалады.
OPT
OPT (Полиморфты типтері бар онтология) Дрю Макдермоттың шамамен 2003–2005 жылдар аралығында PDDL2.1-ді тереңдетіп дамытуы болды (PDDL+ сияқты ұқсастықтары да бар). Бұл онтология құруға арналған, жоспарлау салалары үшін формалданып берілген концептуалды құрылымдар ретінде анықталған, жалпы мақсаттағы нотацияны жасауға жасалған әрекет болды. Оның синтаксисі PDDL-ге негізделген, бірақ ол әлдеқайда күрделі типтік жүйеге ие болды, бұл пайдаланушыларға тиімді типтік қорытуға мүмкіндік беретін λ-шығымының нақты түрлерін пайдалануға рұқсат берді (яғни, домендік объектілер ғана емес (0-деңгей типтері), сонымен қатар осы объектілерге анықталған функциялар/ағындар кездейсоқ бейнелеулер түрінде типтерге ие болды (1-деңгей типтері), олар жалпы болуы мүмкін, сондықтан олардың параметрлері (жалпы бейнелеудің домені мен ауқымы) тіпті жоғары деңгейдегі типке (2-деңгей тип) ие болатын өзгермелілермен анықталуы мүмкін, тіпті бейнелеулер кездейсоқ болуы мүмкін, яғни функцияның домені немесе ауқымы (мысалы, предикат, сандық ағын) кез келген 0/1/2 деңгейде болуы мүмкін. Мысалы, функциялар кез келген функциялардан кез келген функцияларға бейнелеуге болады). OPT негізінен PDDL2.1-мен жоғары қарай үйлесімді болуға арналған. Процестер мен ұзаққа созылатын әрекеттерді белгілеу әдісі негізінен PDDL+ және PDDL2.1-ден алынған, бірақ одан басқа OPT көптеген маңызды кеңейтулерді ұсынды (мысалы, деректер құрылымдары, Бульдік емес ағындар, әрекеттердің қайтару мәндері, әрекеттер арасындағы байланыстар, иерархиялық әрекеттерді кеңейту, домен анықтамаларының иерархиясы, семантикалық желімен үйлесімділік үшін атау кеңістіктерін пайдалану).
PPDDL
PPDDL (Probabilistic PDDL) 1.0 2004 және 2006 жылдары өткен 4-ші және 5-ші IPC-нің ықтималдық тректерінің ресми тілі болды. Ол PDDL2.1-ді ықтималдық әсерлермен (әрекеттің ықтимал нәтижелеріне қатысты дискретті, жалпы ықтималдық таратулар), сыйақы флюенттерімен (әрекеттердің нәтижесінде жоспардың жалпы сыйақысын арттыру немесе азайту үшін), мақсатты сыйақылармен (кем дегенде бір мақсатты күйді қамтитын күй траекториясын марапаттау үшін) және мақсатқа жеткен флюенттермен (егер күй траекториясы кем дегенде бір мақсатты күйді қамтитын болса) кеңейтті. Нәтижесінде, бұл өзгерістер PPDDL1.0-ге Марков шешімдер процесін (MDP) жоспарлауды іске асыруға мүмкіндік берді, онда күйлердің өзгеруінде белгісіздік болуы мүмкін, бірақ орта жоспарлаушы/агент үшін толық көрінеді.
АППЛ
APPL (Abstract Plan Preparation Language) – 2006 жылдан бері NDDL-дің жаңа түрі, ол PDDL немесе NDDL сияқты көптеген қолданыстағы жоспарлау тілдерінен гөрі абстрактілірек. Бұл тілдің мақсаты – қуатты басқару сияқты немесе болашақ пилоттық ғарыш кемелерінде автоматтандырылған кездесулер сияқты қауіпсіздік маңызды қолданбаларға арналған жоспарлау мәселелерін формалды талдау мен сипаттамасын жеңілдету болды. APPL NDDL-дегідей түсініктерді, сондай-ақ іс-әрекеттерді қосып, тағы да бірнеше түсініктерді пайдаланды, бірақ оның экспрессивті күші PDDL-ге қарағанда әлдеқайда төмен (беріктігін сақтап, формалды түрде тексерілетін болуы үмітінде).
RDDL
RDDL (Relational Dynamic influence Diagram Language) 2011 жылы 7-ші IPC-нің белгісіздік трекінің ресми тілі болды. Теориялық тұрғыдан ол PPDDL1.0 және PDDL3.0-ға негізделген, бірақ практикалық тұрғыдан синтаксикалық және семантикалық жағынан мүлдем басқа тіл. Ішінара байқау мүмкіндігін енгізу – RDDL-де PPDDL1.0-мен салыстырғандағы ең маңызды өзгерістердің бірі. Ол Марков шешім қабылдау процестерін (MDP) және ішінара байқалатын Марков шешім қабылдау процестерін (POMDP) мемлекеттік өрнектер, байқаулар, әрекеттер сияқты барлық элементтерді айнымалылармен көрсету арқылы тиімді сипаттауға мүмкіндік береді. Осылайша RDDL, PDDL-ден айқын түрде ерекшеленеді. Жерге негізделген RDDL, PPDDL1.0 сияқты динамикалық Байес желілерімен (DBN) сәйкес келеді, бірақ RDDL, PPDDL1.0-дан көбірек мүмкіндіктерге ие.
MA-PDDL
MA PDDL (Multi Agent PDDL) – 2012 жылы енгізілген PDDL3.1-дің минималистік, модульдік кеңейтуі (яғни, жаңа :көп агенттік талап), ол бірнеше агенттермен және олар үшін жоспарлауға мүмкіндік береді. Бұл қосымша PDDL3.1-дің барлық мүмкіндіктерімен үйлесімді және MAPL мәселелерінің көп бөлігін шешеді. Ол әртүрлі агенттердің әртүрлі әрекеттерін (яғни, әртүрлі қабілеттерін) ажырату мүмкіндігін ұсынады. Сол сияқты, әртүрлі агенттердің әртүрлі мақсаттары және/немесе өлшемдері болуы мүмкін. Әрекеттердің алғышарттары енді бір мезгілде орындалатын әрекеттерге тікелей сілтеме жасай алады (мысалы, басқа агенттердің әрекеттері), осылай өзара әсер ететін әсерлері бар әрекеттерді жалпы және икемді түрде бейнелеуге болады (мысалы, ауыр үстелді көтеру үшін кем дегенде 2 агент қажет деп есептесек, әйтпесе үстел жерде қалады (бұл конструктивті синергияның мысалы, бірақ деструктивті синергия да MA PDDL-де оңай бейнеленеді)). Сонымен қатар, синтаксистік қант сияқты, MA PDDL әрекеттердің, мақсаттардың және өлшемдердің мұрагерлігі мен полиморфизмі үшін қарапайым механизмді де енгізді (егер :типі жарияланған болса). PDDL3.1 ортаның детерминистік және толық байқалатынын болжайды, сондықтан MA PDDL үшін де солай: әрбір агент кез келген уақытта кез келген күйдің мәніне қол жеткізе алады және әр агенттің бұрын орындалған барлық әрекеттерін байқай алады, сондай-ақ агенттердің бір мезгілдегі әрекеттері ортаның келесі күйін анықтайды. Бұл жартылай байқалатындық пен ықтималдық әсерлерді қосу арқылы кейінірек жақсартылды (қайтадан екі жаңа модульдік талап түрінде, тиісінше :жартылай байқалатындық және :ықтималдық әсерлер, соңғысы PPDDL1.0-дан шабыттандырылды, және екеуі де тілдің барлық бұрынғы мүмкіндіктерімен үйлесімді, соның ішінде :көп агенттік).