Абдуктивна логика програмирања

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

Абдуктивна логика програмирања (АЛП) је на високом нивоу знања заступљености оквира који се могу користити за решавање проблема декларативно на основу абдуктивног резоновања. Простире се нормално логика програмирања дозвољавајући неким предикатима да буду непотпуно дефинисани, проглашава их абдуцибле предикатима. Решавање проблема се врши од стране извода хипотезе о тим абдуцибле предикатима (абдуцтиве хипотеза), као решења проблема које треба решити. Ови проблеми могу бити или запажања које треба објаснити (као у класичној отмици) или циљеви које треба постићи (као у нормалном логичко програмирање). Може се користити за решавање проблема у дијагностици, планирању, природног језика и машинског учења. Такође се користе за тумачење негација као неуспех као облик абдуактив размишљања.

Синтакса[уреди]

Абдуктивни логички програми имају три компоненте,  где:

  • P је логика програма у потпуно истом облику као у логичком програмирању 
  • А је скуп предикатских имена, звани абдукибле предиката 
  • IC је скуп првог реда класичних формула.

Нормално, логика програма P, не садржи никакве одредбе чије главе (или закључак) се односи на абдуцибле предикате. (. Ово ограничење може се направити без губитка општости) Такође у пракси, много пута ограничења интегритета у IСу су често ограничена на форму демантија, односно клаузуле у облику:

   false:- A1,...,An, not B1, ..., not Bm.

Таква ограничење значе да није могуће за све А1, ..., Аn да буду  истинита и истовремено све B1, ..., Bm да је лажна.

Неформалне значење и решавање проблема[уреди]

Клаузуле у P дефинишу сет не-абдуцибле предиката и кроз то дају опис (или модела) домена проблема. Интегритет ограничења у IСу ће одредити опште особине домена проблема које треба да се поштују за било које рјешење проблема.

Проблем G, који изражава или примедбу која треба да се објасни или циљ који се жели, представљен је заједно позитивне и негативне (НАФ) литерале. Овакви проблеми су решени рачунањем "абдуцтиве објашњења" G.

Абдуктивно објашњење проблема G је скуп позитивних (а понекад и негативне) копнених инстанца абдукибле предиката, тако да, када се они додају у логички програм P, проблем G и ограничења интегритета IC оба га држе. Тако абдуктивна објашњења продужују логику програма P додавањем потпуним или делимичним дефиницијама абдуцибле предиката. На овај начин, абдуктивна објашњења формирају решења проблема према опису домена проблема у P и IC. Продужење или завршетак описа проблема која су абдуктивна објашњења даје нове информације, до сада нису садржани у решењу проблема. Критеријуми квалитета да преферирају једно решење у односу на друго, често изражавао преко интегритета ограничења, могу се применити да изаберете специфичне абдуктиве објашњења проблема G.

Обрачун у АЛПу комбинује уназад образложење нормалне логике програмирања (да се смањи проблеме Суб-проблеме) са неком врстом интегритета проверавања да покаже да се абдуктивна објашњења задовољавају ограничењима интегритета.

Следећа два примера, написана једноставним структурираним енглеским него строгим синтаксичким АЛП, илуструју појам абдуктивног објашњења у АЛПу и њен однос према решавању проблема.

Пример 1[уреди]

Абдуктивна логика програма, , има у  следеће реченице:

Трава је мокра ако је падала киша.
  Трава је мокра ако је прскалица била укључена.
  Сунце је сијало.

У абдуцибле предикатима у  су "је падала киша" и "прскалица била укључена" и једино ограничење у интегритет  је:

  лаж ако је падала киша и сунце је сијало.

Посматрање да је трава мокра има два потенцијална објашњења, "је падала киша" и "прскалица била укључена", који подразумева посматрање. Међутим, тек друго потенцијално објашњење ", рекао је прскалица била укњучена" задовољава интегритет ограничења.

Пример 2[уреди]

Размотримо абдуктивну логику програма који се састоји од следећих (Симплифиед) клаузула:

X је грађанин ако X је рођен у САДу.
X је држављанин, ако је X рођен изван САД и X је становник САД и X је натурализовани.
X је грађанин ако X је рођен изван САД и Y је мајка од X и Y је држављанин и X је регистрован.
Мери је Џонова мајка.
Мери је грађанин.

заједно са пет абдуцибле предиката "је рођен у САД", "је рођен изван САД", "је становник САД", "је натурализовани" и "регистровани и интегритет ограничење:

лаж ако је Џон становник САД.

Циљ "Џон је грађанин" има два абдуктивна решења, од којих је један "Џон је рођен у САДу", други је "Џон је рођен изван САДа" и "Џон је регистрован". Он потенцијално решење да постане грађанин од боравка и да добије држављанство.

Сложенији пример који је такође записан у формалној синтакси АЛП је следећи.

Пример 3[уреди]

Абдуктивна логика програма испод описује једноставан модел лактозе метаболизма бактерија Е. цоли. Програм P, описује (у свом првом правилу) да се Е. цоли може хранити шећером лактозе, ако то чине два ензима пермеасе и галактозидазу. Као и сви ензими, оне су направљене ако су кодиране од стране гена (Гене) који се изражава (описан од стране другог правилу). Два ензиме пермеаса и галактозидазе су кодирани од два гена, Лац (и) и Лац (z), респективно (наведених у петој и шестој владавини програма), у кластеру гена (Лац (x)) - зове Оперон - који се изражава када су количине (АМТ) глукозе ниске и лактозе високе или када су обе на средњем нивоу (видети четврто и пето правило). Абдуциблес А, прогласи све копнене инстанце предикатима "количина" као ассумабле. То показује да у моделу износи у било које доба разних супстанци су непознати. То је непотпуна информација која треба да се утврди у сваком проблему случају. Ограничења интегритета, IC, наводе да износ било које супстанце (S) може узети само једну вредност.

Домен знање (P)

храна(лактоза):-направити(премисе), направити(галактосидасе).
направити(ензиме):-код(ген, ензим), изразити(ген).
изразити(лак(X)):-износ(глукоза, низак), износ(лактоза, висок).
изразити(лак(X)):-износ(глукоза, средње), износ(лактоза, средње).
код(лак(y), премисе).
код(лак(z), галактосидасе).
температура(ниска):-изразити(глукозу, никса).

Ограничења интегритета (IC)

нетачно :- изрази(S,V1), изрази(S,V2), V1 ≠ V2.

Абдуциблес (A)

абдуциблес_предикат(изрази).

Проблем циља је G = храна(лактоза). Ово може настати било као посматрања која треба објаснити или као стање ствари које треба постићи проналажењем плана. Овај циљ има два абдуктивна објашњења:

Одлука које је од њих двоје да усвоји могу зависити додатне информације које су доступне, нпр може да се зна да када је ниво глукозе низак онда организам показује одређено понашање - у моделу што је додатна информација да је температура организма ниска - и посматрајући истину или лаж о томе да је могуће изабрати први или други објашњење респективно.

Када је објашњење изабрано, онда то постаје део теорије, која се може користити за цртање нових закључака. Објашњење и уопште ови нови закључци чине решење проблема.

Формална семантика[уреди]

Формална семантика централни појам абдуцтиве објашњења у АЛПу може се дефинисати на следећи начи

С обзиром да абдуцтиве логика програма, , абдуцтиве објашњење за проблем  је сет  подземних атома на абдуцибле предиката тако да је:

  •  је конзистентна

Ова дефиниција оставља избор основних семантичких логика програма кроз које дајемо тачно значење \ модела ентаилмент односа и појам доследности (Ектендед) логичких програма. Било различитих семантика логике програмирања као што су завршетак, стабилна или добро основана семантика може (и који су коришћени у пракси) да дају различите појмове абдуцтиве објашњења и на тај начин различите облике АЛП оквира.

Наведена дефиниција узима посебан поглед на формализацију улоге ограничења интегритета као ограничења о могућим решењима абдуктива. То захтева да се они подразумеваном логиком продуженог програма са абдуцтиве решењима, тако што значи да у сваком моделу са продуженим логичким програмом (којих може пасти на памет као свет што је дао ) захтеви ограничења интегритета су испуњени. У неким случајевима то може бити непотребно јак и слабији услов доследности, наиме  је у складу, може бити довољна, што значи да постоји барем један модел (могуће уследио свету) од проширеног програма где су ограничења интегритета задржана. У пракси, у многим случајевима ова два начина формализовања улога ограничења интегритета се поклапају, као логике програма и његови наставци увек имају јединствен модел. Многи од АЛП система користе ентаилмент поглед на ограничења интегритета, јер то може лако имплементирати без потребе за икаквим додатним специјализованим процедурама за задовољство ограничења интегритета, јер ово гледиште третира ограничења на исти начин као и проблем циља. Имајте на уму да у многим практичним случајевима трећи услов у овом формалном дефиницијом абдуцтиве објашњења у АЛП је било тривијално задовољен или је садржано у другом стању преко коришћења посебних ограничења интегритета за снимање доследности.

Имплементација и системи[уреди]

Већина имплементација АЛП продужи СЛД резолуције засноване на рачунарском моделу логике програмирања. АЛП такође може бити имплементиран путем свог линка на Одговор Сет програмирање (АСП), где се могу користити АСП системи. Примери система бившег приступа су АЦЛП, А-систем, ЦИФФ, СЦИФФ, АБДУАЛ и ПроЛогИЦА.

Види још[уреди]

Литература[уреди]

Спољашње везе[уреди]