Semantica modelului stabil

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modelul stabil [1] (modelul stabil), sau setul de răspunsuri, este un concept folosit pentru a defini o semantică declarativă în programarea logică cu negație. Conceptul de model stabil, introdus de Gelfond și Lifschitz în 1988, [2] stă la baza programării setului de răspunsuri .

Introducere

Având în vedere următorul program:

interogarea va avea succes, după cum indică programul ca fapt; interogarea va eșua pentru negare în mod implicit , deoarece nu este necesar nicăieri în partea stângă a regulilor programului. Și interogarea va eșua, deoarece un atom cu o valoare negativă apare în corpul regulii. În cele din urmă, interogarea va avea succes, deoarece este scopul acea sunt pozitivi. Prin urmare, interpretarea implicită dintre cele patru litere vor fi următoarele:

T. F. F. T.

Dacă calculăm valorile adevărului regulilor programului folosind interpretarea de mai sus, toate se vor dovedi a fi T. Cu alte cuvinte, interpretarea este un model al programului.

Cu toate acestea, pot exista și alte interpretări, în general non-minime, care fac adevărate toate regulile programului. În acest caz:

T. T. T. F.

Această interpretare, pe care o numim este un model non-minim al programului, deoarece are o cardinalitate mai mare decât (referit ca ).

Definiție

Este un program format din reguli exprimate în următoarea formă:

unde este sunt atomi la sol , adică nu conțin variabile. De sine nu conține negative ( în fiecare regulă a programului), prin definiție, singurul model stabil al este modelul său minimal.

Pentru a extinde această definiție la cazul programelor cu negație, este necesar conceptul auxiliar de „reducere”, definit astfel.

Pentru fiecare set de atomi la sol , o reducere de relativ la —Indicat cu —Este setul de reguli fără negarea obținută de la eliminarea:

  • fiecare regulă pe care o am în corpul lui, dacă ;
  • pretutindeni în cadrul celorlalte reguli.

Să spunem asta este un model stabil (sau un set de răspunsuri ) de de sine este un model stabil de . Deoarece reducerea nu conține negative, definiția modelului stabil pentru acesta din urmă a fost deja dată, astfel încât definiția nu este recursivă.

În general, un program poate avea mai multe seturi de răspunsuri .

Exemplu

Pentru a ilustra definițiile de mai sus, să verificăm asta este un model stabil pentru program:

Reducerea acestui program comparativ cu Și:

(de cand , reducerea se realizează prin îndepărtare în toate regulile care îl conțin)
Modelul stabil (adică modelul minim) de reducere este exact . În consecință, este un model stabil pentru program.

Prin verificarea celorlalte 15 seturi posibile care conțin atomii se arată că programul nu are alte modele stabile.
De exemplu, reducerea legată de interpretare Și:

(de cand , reducerea se obține prin eliminarea din program a tuturor regulilor care conțin )
Modelul stabil (adică modelul minim) de reducere Și , care este diferit de interpretarea inițială.

Notă

  1. ^ Russel-Norvig , p. 453.
  2. ^ (EN) Paul Liberatore, Stable Model Semantics , pe cs.cmu.edu, Universitatea Carnegie Mellon . Accesat la 2 aprilie 2016 ( arhivat la 15 septembrie 2015) .

Bibliografie

  • M. Gelfond și V. Lifschitz, Semantica modelului stabil pentru programarea logică , în Proceedings of the Fifth Logic Programming Symposium , The MIT Press, 1988, pp. 1070-1080.
  • Stuart Russel, Peter Norvig, Inteligența artificială - O abordare modernă , vol. 1, ediția a II-a, Milano, Pearson Education Italia, 2005, ISBN 88-7192-228-X .

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT