1 / 16

Ogrodje paketa za avtomatsko reševanje logičnih ugank

ERK 2003. Ogrodje paketa za avtomatsko reševanje logičnih ugank. Robert Meolic , Tatjana Kapus, Zmago Brezočnik. Ogrodje paketa za avtomatsko reševanje logičnih ugank. Uvod Primer logične naloge Logična tabela Naš postopek reševanja Razprava in sklep. Uvod.

matana
Download Presentation

Ogrodje paketa za avtomatsko reševanje logičnih ugank

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. ERK 2003 Ogrodje paketa za avtomatsko reševanje logičnih ugank Robert Meolic, Tatjana Kapus, Zmago Brezočnik

  2. Ogrodje paketa za avtomatsko reševanje logičnih ugank • Uvod • Primer logične naloge • Logična tabela • Naš postopek reševanja • Razprava in sklep

  3. Uvod • Reševanje logičnih (tabelaričnih) nalog • Naloga je podana kot tekst v naravnem jeziku • Postopek reševanja brez uporabe Prologa • Za računanje uporabimo izjavni račun

  4. Primer logične uganke • Andrej ali Borut je iz Maribora. • Največji je iz Ljubljane, najmanjši pa ni iz Celja. • Če je Andrej manjši od Ceneta, potem Andrej ni iz Maribora. • Cene je večji od tistega iz Celja. Andrej (A), Borut (B), Cene (C) Celje (ce), Maribor (mb), Ljubljana (lj) majhen (s), večji (l), največji (x)

  5. Logična tabela Rešitev: Andrej-Celje-srednje velik Borut-Maribor-majhen Cene-Ljubljana-največji

  6. Naš pristop • 1. Kodiranje z logičnimi spremenljivkami • 2. Pretvorba pogojev v logične formule • Zapis s predikatnim računom • Pretvorba v izraze izjavnega računa • 3. Postavimo omejitve • 4. Rešitev je enostavna konjunkcija

  7. 1. Kodiranje • 1. Kodiranje z logičnimi spremenljivkami Osnovne izjave sestavljene iz osebka in še ene lastnosti Amb - Andrej je iz Maribora Bl - Borut je srednje velik cex - ni osnovna izjava, ker ne vsebuje osebka Ambx - ni osnovna izjava, ker vsebuje več kot dve lastnosti

  8. 2. Pretvorba • 2. Pretvorba pogojev v logične formule • Zapis s predikatnim računom • Avtomatska pretvorba v izraze izjavnega računa Predikatni račun je bliže človeku. P1 = kraj(A,mb) + kraj(B,mb) Računalnik računa z izjavnim računom. P1 = Amb + Bmb

  9. Zapis s predikatnim računom • Andrej ali Borut je iz Maribora. • Največji je iz Ljubljane, najmanjši pa ni iz Celja. • Če je Andrej manjši od Ceneta, potem Andrej ni iz Maribora. • Cene je večji od tistega iz Celja. P1 = kraj(A,mb) + kraj(B,mb) P2a = XS:( velikost(X,x)  kraj(X,lj) ) P2b = XS:( velikost(X,s)  !kraj(X,ce) ) P3 = vecji(C,A)  !kraj(A,mb) P4 = XS: ( kraj(X,ce)  vecji(C,X) )

  10. Zapis z izjavnim računom • Andrej ali Borut je iz Maribora. • Največji je iz Ljubljane, najmanjši pa ni iz Celja. • Če je Andrej manjši od Ceneta, potem Andrej ni iz Maribora. • Cene je večji od tistega iz Celja. P1 = Amb + Bmb P2a = (Ax  Alj) * (Bx  Blj) * (Cx  Clj) P2b = (As  !Ace) * (Bs  !Bce) * (Cs  !Cce) P3 = (As * Cl + As * Cx + Al * Cx)  !Amb P4 = (Ace * As + Bce * Bs) * (Cl + Cx) + (Ace * Al + Bce * Bl) * Cx

  11. 3. Omejitve • 3. Postavimo omejitve O1 = Ace * Bmb * Clj + Ace * Blj * Cmb + Amb * Bce * Clj + Amb * Blj * Cce + Alj * Bce * Cmb + Alj * Bmb * Cce O2 = As * Bl * Cx + As * Bx * Cl + Al * Bs * Cx + Al * Bx * Cs + Ax * Bs * Cl + Ax * Bs * Cl

  12. 4. Rešitev • 4. Rešitev je enostavna konjunkcija R = O1 * O2 * P1 * P2a * P2b * P3 * P4 = Ace * Bmb * Clj * Al * Bs * Cx

  13. Dva izmed problemov • En stavek lahko vsebuje več dejstev • Nastopajo lahko količine, ki so med seboj urejene: • majhen, večji, največji... • prvi, drugi, tretji... • levo/desno, zgoraj/spodaj, na sredini, poleg…

  14. Efficient Symbolic Tools • V celoti izveden na Fakulteti za elektrotehniko, računalništvo in informatiko v Mariboru • Uporablja BDD-je (binarne odločitvene grafe) • GNU General Public License • Deluje na več operacijskih sistemih, tudi na Linuxu in Windowsih. http://lms.uni-mb.si/EST/

  15. Einsteinova uganka • V ulici je pet hiš različne barve: bela, rumena, rdeča, zelena, modra • V vsaki hiši živi oseba drugačne narodnosti: Britanec, Danec, Nemec, Norvežan, Šved • Vsak pije drugačno pijačo: vodo, mleko, čaj, kavo, pivo • Vsak kadi različne cigarete: Blend, Blue Master, Dunhill, Pall-Mall, Prince • Vsak ima drugačno žival: psa, papagaja, konja, mačko, ribo • Danih je 15 trditev in vprašanje: Kdo ima ribo? Albert Einstein je menil, da 98% ljudi ni sposobnih rešiti njegove naloge!

  16. Zaključek • Predstavjen projekt predstavlja le ogrodje • Težko delo in pravi prispevki šele pridejo:razpoznavanje slovenskega jezika • Daljnoročni cilj: uporaba na področju formalne specifikacije in verifikacije sistemov Hvala za pozornost!

More Related