1 / 17

Sustavi s pravilima

Sustavi s pravilima. Ekspertni sustavi zasnovani na pravilima (prirodno zaključivanje). Sustavi s pravilima. Zašto sustavi s pravilima ? Implikacija u predikatnoj logici: (2 + 2 = 4)  (“Zagreb je glavni grad Hrvatske”) istinito

mateo
Télécharger la présentation

Sustavi s pravilima

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sustavi s pravilima Ekspertni sustavi zasnovani na pravilima (prirodno zaključivanje)

  2. Sustavi s pravilima Zašto sustavi s pravilima ? Implikacija u predikatnoj logici: (2 + 2 = 4)  (“Zagreb je glavni grad Hrvatske”) istinito (2 + 2 = 4)  (“London je glavni grad Hrvatske”) neistinito (2 + 2 = 5)  (“Zagreb je glavni grad Hrvatske”) istinito (2 + 2 = 5)  (“London je glavni grad Hrvatske”) istinito To je materijalna implikacija i nije potpuno intuitivna prirodnom jeziku. Namjera materijalne implikacije je modelirati uvjetnu konstrukciju, (a ne uzročno-posljedičnu vezu), t.j.: (P  Q) ima slijedeću semantiku: Ako je P istinit, tada je (P  Q) istinito samo ako je Q istinito. Ako je P neistinit, tada je (P  Q) istinito bez obzira na Q.

  3. Sustavi s pravilima Shema predstavljanja znanja temeljena na pravilima predstavljena je 1970. god. (Newell i Simon). Reaktivni agent s memorijom sadrži skup pravila (znanje o domeni) i skup činjenica(sliku svijeta). Vidi: racionalni agent s memorijom. Pravila imaju dva dijela: lijevi dio (uzrok, pretpostavka, uvjet) – AKO (engl. IF). desni dio (zaključak, akcija, odziv) - TADA (engl. THEN). AKO: (svjetla ne rade) i AKO: (elektro-pokretač ne vrti motor) TADA: (akumulator je ispražnjen) Simbolički prikaz pravila (nije standardiziranoovisi o implementaciji): ((P()  Q())  R()) P,Q,R su najčešće reducirani (ograničeni) logički predikati (varijable su nužne). Jedna moguća implementacija pravila u LISP kodu (15 može biti redni broj pravila ili težinski koeficijent): (rule 15 if (prizma (var x)) then (geom_tijelo (var x)))

  4. Sustavi s pravilima Činjenice predstavljaju sliku svijeta. Simbolički prikaz: P(a), Q(b), R(c) Jedna moguća implementacija pravila u LISP kodu: (prizma tijelo_112) Zaključivanje s pravilima Traži se slaganje (poklapanje) činjenica (slike svijeta) s AKO stranama u pravilima (znanjem o domeni). (engl. pattern matching, data driven). Pravila koja postignu slaganje se izvode (neproceduralan tijek). Poteškoće u postupku zaključivanja: Činjenice mogu biti složene strukture podataka (usporava poklapanje). Mnogo pravila može postupak pretraživanja i poklapanja s činjenicama učiniti neprihvatljivim (potrebna je optimizacija pretraživanja). Konjunkcija u AKO stranama pravila (produljeno vrijeme poklapanja). Slaganje činjenica s više pravila (mogućnost konflikta). Povezani ciklusi zaključivanja (mogućnost ulaska u beskonačnu petlju).

  5. Sustavi s pravilima – dva postupka zaključivanja Zaključivanje ulančavanjem unatrag (engl. backward chaining, query time inferencing, goal driven) Neka postoji činjenica P(a) i pravilo: (P(X)  Q(X)). X je varijabla. P(a) (P(X)  Q(X)) Korisnik postavlja upit ili cilj koji se pretražuje u činjenicama, pa ako se ne nalazi nastoji se potražiti u TADA stranama čija se potvrda (novi cilj) traži u AKO stranama istih pravila i u činjenicama: Primjeri (za gornji slučaj): ? P(a) - ovdje odmah odgovor DA. ? R(b) - nema u činjenicama, a također je i TADA strana pravila različita, odgovor je NE. ? Q(a) - nema u činjenicama, ali se odgovarajućom supstitucijom varijabli (X = a) može pronaći u TADA strani pravila. Supstitucija se mora provesti u cijelom pravilu. Novo stanje sustava je: P(a) (P(a)  Q(a))

  6. Sustavi s pravilima – dva postupka zaključivanja Zaključivanje ulančavanjem unatrag Potvrda za Q(a) se treba potražiti u AKO strani, t,j, novi cilj je P(a). P(a) se nalazi u činjenicama. Time je istinitost Q(a) potvrđena te se ta nova činjenica najčešće dodaje u skup činjenica kako bi u mogućem budućem upitu odgovor bio brži. Novo stanje sustava je: Q(a) P(a) (P(a)  Q(a)) Konačno, varijable u pravilima se oslobađaju i sustav je spreman za novi ciklus: Q(a) P(a) (P(X)  Q(X)) Zaključak je uvijek unija odgovora i provedene supstitucije. Ciljevi i podciljevi mogu biti višestruki povezani konjunkcijom.

  7. Sustavi s pravilima – dva postupka zaključivanja Zaključivanje ulančavanjem unaprijed (engl. forward chaining, assertion time inference, implication driven, data driven) Neka u sustavu postoji pravilo (P(X)  Q(X)) U sustav se zatim, kao rezultat nekog događaja, upiše činjenica P(a), te je stanje : P(a) (P(X)  Q(X)) U trenutku upisa P(a) u sustav, započinje automatska (samostalna) potraga za pravilom koje u svom AKO dijelu ima strukturu koja bi se mogla izjednačiti s P(a). Supstitucijom X=a to se nalazi, pa je stanje: P(a) (P(a)  Q(a)) U pravilu je zadovoljen uvjet (AKO), te se posljedica izvođenja pravila upisuje u sustav kao nova činjenica Q(a). Sada je stanje: Q(a) P(a) (P(a)  Q(a))

  8. Sustavi s pravilima – dva postupka zaključivanja Zaključivanje ulančavanjem unaprijed Konačno, varijable se oslobađaju, te je sustav spreman za novi ciklus u stanju: Q(a) P(a) (P(X)  Q(X))

  9. Sustavi s pravilima – dva postupka zaključivanja Ulančavanje unaprijed i konjunkcije u pravilima Neka je u sustav upisano pravilo: ((P(X)  Q(X))  R(X)) Upisom P(a) započinje pretraživanje slaganja. P(a) je moguće izjednačiti s P(X), ali treba zadovoljiti i Q(X) (konjunkcija u AKO strani pravila). Ostaje upisano samo P(a). Eventualnim upisom dodatne činjenice Q(a) stanje činjenica se uspoređuje sa pravilima (AKO stranama) i istovremeno se izjednači P(X) s P(a), te Q(X) s Q(a). Stanje je: P(a) Q(a) ((P(a)  Q(a)) R(a)) Nakon supstitucije X=a, zaključuje se R(a) i dodaje u skup činjenica. Nakon toga povezivanje varijabli u pravilima se oslobađa. Stanje je: R(a) P(a) Q(a) ((P(X)  Q(X)) R(X))

  10. Sustavi s pravilima – dva postupka zaključivanja Ulančavanje unaprijed i višestruka pravila Neka se u sustav zapišu činjenice: C1, C3, C5, a pravila su: 1. ((C1  C2)  A1) 2. (C3 A2) 3. ((C1  C3)  A3) 4. (C4  A4) 5. (C5 A5) Stanje činjenica zadovoljava pravila: 2, 3, 5. Sva ta pravila čine tzv. konfliktni skup (u sustavu CLIPS – agenda). Potrebno je izabrati jedno i samo jedno koje će generirati neku akciju. Mogući postupci izbora: prvo iz konfliktnog skupa, slučajno, težine, … . U općem slučaju faze ciklusa zaključivanja ulančavanjem unaprijed su: usporedi (engl. match) AKO strane pravila s činjenicama,razriješi (engl. resolve) konfliktni skup i djeluj(engl. act), t.j. aktiviraj odabrano pravilo.

  11. Sustavi s pravilima – dva postupka zaključivanja Ulančavanje unaprijed i vezani ciklusi Neka su u sustavu zapisana pravila: 1. ((B  D  E)  F) 2. ((D  G)  A) 3. ((C  F)  A) 4. (C  D) 5. (D  E) 6. (A  H) Upisom činjenice B u skup činjenica, neće se zadovoljiti niti jedno pravilo. Dodatnim upisom npr. C, odvija se akcija u više ciklusa: C aktivira pravilo 4, D se upisuje u skup činjenica. D aktivira pravilo 5. B, D, E, pravilo 1; C, F, pravilo 3; A, pravilo 6 koje upisuje H. U skupu činjenica ostaju: A,B,C,D,E,F,H (sve osim G). Vezani ciklusi mogu generirati beskonačnu petlju, te sustav s pravilima mora imati mehanizam izlaska iz beskonačnih petlji. Pravilom upisana činjenica može bit u kontradikciji s ranije upisanim činjenicama- Sustav mora imati mehanizam održavanja konzistentnosti –TMS (engl. Truth Maintenance System).

  12. Sustavi s pravilima – dva postupka zaključivanja RETE algoritam Uočeno je da tijekom izvođenja zaključivanja ulančavanjem unaprijed, sustav najveći dio vremena provodi u usporedbi lijevih strana pravila sa sadržajem radne memorije. RETE algoritam reducira ukupno vrijeme usporedbe koristeći dijelom već izvršenu usporedbu u ranijim ciklusima, kao i činjenicu da u skupu pravila postoje neki identični dijelovi lijevih strana. Pri upisu pravila (prije činjenica i zaključivanja), algoritam gradi mrežu tzv. uvjetovanih zavisnosti, koja povezuje sva pravila s jednakim dijelovima AKO (lijeve) strane. U radu, sustav, umjesto da pretražuje iscrpno i linearno, prolazi mrežom uvjetovanih zavisnosti. Izlazni podaci po prolazu kroz mrežu predstavljaju parove elemenata: oznaku pravila i listu činjenica iz radne memorije koje odgovaraju lijevoj strani pravila. RETE mreža, kao usmjereni aciklički graf, omogućuje izravno preslikavanje u podatkovno vođeni model programa.

  13. Sustavi s pravilima – dva postupka zaključivanja Izbor postupka zaključivanja (ulančavanja) 1. Analiziraju se AKO i TADA strane pravila. Ukoliko postoji mnogo uvjeta (više nego zaključaka) u "tipičnom pravilu“, to ukazuje na potrebu ulančavanja unaprijed. Ulančavanje unatrag generiralo bi mnogo novih upita. Ukoliko postoji malo uvjeta: ulančavanje unatrag. 2. Ako nije moguće zaključiti dominantnost u pravilima – potrebna je analiza skupa činjenica Ako su sve činjenice poznate, a potrebno je vidjeti kamo to vodi, koristi se ulančavanje unaprijed. Ako je pak malo činjenica poznato, a cilj je potvrditi jednu od mnogih hipoteza, koristi se ulančavanje unatrag.

  14. Sustavi s pravilima – Implementacija Jezgreni moduli: skup pravila (baza znanja) skup činjenica (radna memorija) stroj za zaključivanje (engl. inference engine) sučelje s korisnikom Pomoćni moduli: editor (upis pravila, postavljanje upita, korekcija i dopuna pravila i sl.) analiza zaključka (kako, zašto) zapis povijesti zaključivanja učenje

  15. Sustavi s pravilima – neki izvedeni sustavi Sustav s pravilima bez upisanih činjenica i pravila naziva se ljuska ekspertnog sustava. Komercijalne ljuske: G2, Unix, real-time, Gensym Corp. (MIT). KEE (Knowledge engineering environment), Unix, IntelliCorp, NEXPERT, Windows, Unix, C, Neuron Data, Palo Alto. OPS 83, nasljednik OPS 5, Unix, CMU (RETE, ulančavanje unaprijed, unatrag i kombinacija oba postupka. Personal Consultant Plus, Texas Instruments, LISP. Slobodne ljuske: CLIPS - Windows, poput OPS-a, NASA, C, OO dio. FOCL - Unix, učenje, LISP, UC Irwine, CA. OPS 5, Unix, CMU, predak OPS 83. MIKE, DOS, Open Univ., V.Brit., PROLOG, RETE algoritam.

  16. Sustavi s pravilima – Zaključci (1/2) Prednosti: Izravni prirodni prikaz i korištenje empiričkog znanja prikupljenog od eksperata određene (uske) domene. Modularnost zbirke znanja i njeno jednostavno održavanje. Efikasno izvođenje u uskim domenama. Dobra obilježja razjašnjavanja procesa automatiziranog rasuđivanja (kako, zašto). Skup pravila prirodno se preslikava u problem pretraživanja prostora stanja. Koraci tijekom rješavanja problema su transparentni. Olakšava izradu sučelja temeljenih na dijalogu s korisnikom. Razdvajanje upravljačkog toka i zbirke znanja olakšava projektiranje i izradu inteligentnih sustava (deklarativno, iterativno i inkrementalno).

  17. Sustavi s pravilima – Zaključci (2/2) Nedostaci: Pravila prikupljena od eksperata su heuristička i fragmentarna (“grumeni znanja”) i ne objašnjavaju cjelovite odnose u procesu. Ponekad mogu bit i konfliktna (potrebno održavanje konzistencije). Pravila u klasičnom sustavu nisu robusna, te ne uključuju neizvjesno i nepotpuno znanje (noviji sustavi poput FuzzyCLIPS posjeduju predstavljanje i zaključivanje s neizvjesnim znanjem). Sustav s pravilima naglo prestaje biti uporabiv na rubu domene, umjesto da poput eksperata monotono slabi u rješavanju problema. Razjašnjenja, koja slijede iz prikaza ulančavanja, ne daju kauzalne veze u procesu (nema povezivanja dubinskih uzroka i posljedica). Znanje prikazano pravilima prilagođeno je određenom zadatku, s malom fleksibilnošću i širinom – pretpostavka zatvorenog svijeta (što je vrlo različito prema znanju eksperata). U razvoju sustava postoji poteškoća razumijevanja između inženjera znanja i eksperta domene.

More Related