1 / 46

Znalostné systémy

Znalostné systémy. Riešenie úloh a využívanie znalostí Ing. Štuller ÚI AV ČR www.cs.cas.cz/~stuller. Deklaratívne v. Procedurálne. Deklaratívne reprezentované poznatky (znalosti) popisujú stavy riešenia (tvoria BD produkčného systému )

Download Presentation

Znalostné systémy

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. Znalostné systémy Riešenie úloh a využívanie znalostí Ing. Štuller ÚI AV ČR www.cs.cas.cz/~stuller

  2. Deklaratívne v. Procedurálne • Deklaratívnereprezentované poznatky (znalosti) popisujú stavy riešenia (tvoria BDprodukčného systému) • Procedurálnereprezentované poznatky (znalosti) popisujú prechody medzi stavmi (produkčné pravidlá) Znalostné systémy

  3. Prehľadávanie • Stavová reprezentácia úloh je teoretickým, prípadne metodickým, základom väčšiny metód a technik UI • Úloha: ~ transformáciapočiatočného stavu do požadovaného postupnosťou operácií • Riešenie konkrétneho problému: kombinácia • klasických algoritmov a • prehľadávania. Znalostné systémy

  4. Riadiaci mechanizmus realizuje riadiacu stratégiu • algoritmus poskytujúci návod na výber pravidiel z konfliktnej množiny pravidielv každom kroku prehľadávania stavového priestoru • generujestrom • podgraf orientovaného grafu reprezentujúceho stavový priestor Znalostné systémy

  5. Priamy režim (~ priame riadenie) • Začiatok: generuje sa a expanduje počiatočný uzol Expanzia uzlu: nájdenie množiny všetkých možných bezprostredne nasledujúcich uzlov • Následne: expandovanie niektorých užnájdených uzlov • Koniec: nájdenie cieľového uzla Znalostné systémy

  6. Riadiaca stratégia Úspešná: musí splňovať2základné vlastnosti: • viesť k prehľadávaniu • spôsobovať pohyb • zabraňovať cyklom (v postupnosti pravidiel) • byť systematická Znalostné systémy

  7. Efektivita Systematické prehľadávanie (stavovéhopriestoru) môže byť veľmi neefektívne (zbytočne sa môže prehľadávať značná časť stavového priestoru, ktorá nevedie k cieľu) • Možné obmedziťvyužitím znalostío riešenom probléme • Pokiaľ majú empirický charakter:heuristiky Znalostné systémy

  8. Algoritmy • Informované: • využívajú znalosti o danej úlohe • Neinformované: • nevyužívajú … Znalostné systémy

  9. Neinformované metódy prehľadávania ~ Slepé prehľadávanie • do šírky • do hĺbky (Hĺbka stromu: počet hrán na ceste od počiatočného uzlu k danému uzlu) Znalostné systémy

  10. Slepé prehľadávanie do šírky • Začiatok expanduje sa uzol s minimálnou hĺbkou • Zaveďme dva zoznamy: • OPEN • zoznam neexpandovaných stavov • CLOSED • zoznam expandovaných stavov Znalostné systémy

  11. Algoritmus Breadth-First Search • IF s0 C THEN END • OPEN = {s0}, CLOSED = {} • If OPEN = {} THEN END (riešenie neexistuje) • Presuň „prvý stav“ skj z OPEN do CLOSED Znalostné systémy

  12. Breadth-First Search • Expandujstav skj : IF no childrenOR all moved toCLOSED (všetci už boli expandovaní) THEN GOTO 3 • WRITE all children of skj not inCLOSED at the endof OPEN • IF any child of skj C THEN END ELSE GOTO 3 Znalostné systémy

  13. Algoritmus Depth-First Search • IF s0 C THEN END • OPEN = {s0}, CLOSED = {} • IF OPEN = {} THEN END (riešenie neexistuje) • Presuň „prvý stav“ skj z OPEN do CLOSED Znalostné systémy

  14. Depth-First Search- s obmedzením hĺbky • IF depth of skj= MAD(maximal allowed depth) THEN GOTO 3 • Expandujstav skj : IF no childrenOR all moved toCLOSED THEN GOTO 3 • WRITE all children of skj not inCLOSED at the beginningof OPEN • IF any child of skj C THEN END ELSE GOTO 3 Znalostné systémy

  15. Vlastnosti • Klad • Slepé prehľadávanie je úplné • Pokiaľ existuje cesta k cieľu, bude vždy nájdená • Zápor • Môže byť expandovaný neúmerne väčší počet uzlov, než je potrebné k riešeniu Znalostné systémy

  16. Príklad: prelievanie vody • 2 nádoby • väčšia A obsah a litrov • menšia B obsah b litrov • Počiatočný stav: obidve prázdne • Cieľ: A prázdna, B nech má 2(a-b) litrov • Stav: (cA, cB), (0,0) -> (0, 2(a-b)) • Prechody: • vyliať, • naplniť a • preliať z … do … Znalostné systémy

  17. Produkčné pravidlá • P1: cA > 0 -> vylej A • P2: cB > 0 -> vylej B • P2: cA < a -> naplň A • P4: cB < b -> naplň B • P5: cA > 0, cB < b ->prelej z A do B • P6:cA < a, cB > 0 -> prelej z B do A Znalostné systémy

  18. Prehľadávanie • Do šírky • Do hĺbky • Do hĺbky: nižšie nároky na pamäť • Do šírky: nájde najkratšiu cestu Znalostné systémy

  19. Algoritmus DFID • Depth-first iterative deepening • Začiatok: úplné prehľadávanie do hĺbky • Po každej iterácii rastie povolená hĺbka • Prvé nájdené riešenie je optimálne (v zmysle najkratšej cesty) Znalostné systémy

  20. Neinformované algoritmy • pre najjednoduchšie príklady • nehľadajú optimálne riešenie • metodologický základ Znalostné systémy

  21. Informované metódy • Hodnotiaca funkciaf • každému uzlu stromu priradí jeho ohodnotenie • Intuícia: • Pokiaľ funkcia fdobre postihuje vlastnosti a charakter úlohy • Budú expandované „najperspektívnejšie“ uzly • Neprehľadávajúsa cesty, ktoré nevedú k cieľu Znalostné systémy

  22. Gradientný algoritmus • (Hill-climbing algorithm) • Expanduje uzol, ktorý bol vyhodnotený pomocou hodnotiacej funkcie ako najlepší • Vyhodnocuje jeho nasledovníkov • Rodič aj súrodenci sú ihneď zabudnutí • Uchováva si v pamäti ibapráve expandovaný uzol Znalostné systémy

  23. Gradientný algoritmus • Koniec ~ dosiahnutý stav, ktorý má lepšie hodnotenie ako nasledovníci • Globálny i lokálnyextrém • Lišiak Znalostné systémy

  24. Príklad: „Lišiak“ Znalostné systémy

  25. Precíznejšia formulácia • Usporiadanú dvojicu (S, O) nazveme stavový priestora budeme značiťS = (S, O) • ÚlohaU nad stavovým priestorom S je dvojica U = ( s0, C), kde • s0je počiatočný stav • C je množina cieľovýchstavov (C S) Znalostné systémy

  26. Algoritmus Best-First Search ~ Algoritmus usporiadaného prehľadávania Rozšírenie gradientného algoritmu o pamäť: • OPEN a CLOSED • prvky sú trojice: < názov uzlu, hodnotaf, názov rodiča > Znalostné systémy

  27. Algoritmus Best-First Search • IF s0 C THEN END • OPEN = {s0}, CLOSED = {} • IFOPEN = {} THEN END (riešenie neexistuje) • Find{ skm } : („stavy“) f (skm ) = min {f (sk); skOPEN} Znalostné systémy

  28. Best-First Search • IF existsskm CTHEN END • Select oneskn{ skm } • Moveskn from OPEN into CLOSED • Expandskn • For all children skd of { skn } computef (skd) Znalostné systémy

  29. Best-First Search • IF skd not in ( OPEN U CLOSED ) THEN Writeskd in OPEN ELSE IF f (skd)> the existing one in (OPEN U CLOSED) THEN moveskd to OPEN • with new value f (skd)together • with the changeof parent • GOTO 3 Znalostné systémy

  30. Beam-Search with Aperture ~ Paprskové prehľadávanie s aperturou k Modifikácia: • OPEN ma konečnú dĺžkuk • Do OPEN sa zapisujú novo expandované uzly iba ak majú lepšie ohodnotenie ako existujúce • Ak by ich bolo celkove viac ako k, najhoršie sa vyškrtávajúaž do splnenia tejto podmienky Znalostné systémy

  31. Hodnotiaca funkcia f • f(s) = g(s) + h(s) : • g: cena optimálnej cestyz s0 do stavu s • h: cena optimálnejcesty z sdo c C ~ f(s) je cena prechoduz s0do c cez s • Algoritmus A • g a hnepoznáme • Odhady: g* a h* Znalostné systémy

  32. f* • g* : minimálna známa cena z s0 do s • h* : odhad ceny z s do c • heuristická funkcia (nositeľ heuristickej informácie) • podstatná pre efektívne prehľadávanie Znalostné systémy

  33. Príklad: „Lišiak“ Znalostné systémy

  34. Príklad: „Lišiak“ • h*:heuristická funkcia • Odhadvzdialenosti do cieľového stavu ~ počet kameňov, ktoré nie sú v cieľovej pozícii Znalostné systémy

  35. Príklad: „Lišiak“ Znalostné systémy

  36. Optimálna versus najkratšia cesta • Nech cena cesty nie je odvodená z počtu krokov (~ cena presunu nebude jednotková) • Optimálnanemusí byť najkratšia … Znalostné systémy

  37. Prípustnýalgoritmus prehľadávania ~ ak vždy nájde optimálnu cestu, pokiaľ táto existuje. • Platí: Ak 0 < h*(s) h(s), algoritmus A je prípustný • h* je prípustnáheuristická funkcia • Algoritmus A* Znalostné systémy

  38. Vlastnosti • Čím je h*lepší(dolný) odhad h, tým sa prehľadáva menšiačasť stavového priestoru pri hľadaní optimálneho riešenia. • Ak h* = h, a existuje optimálne riešenie, algoritmus A* expanduje iba stavy na ceste k cieľovému riešeniu. Znalostné systémy

  39. Charakteristiky • g: aká dobrá/lacná bola cesta z s0 do s • h: ako rýchlo/lacnosa dá dostať z s do c • g: pre optimalizáciucesty (bez optimalizácie: g = 0) • h = 0Algoritmus Uniform-Cost Search (~ s rovnomernou cenou) Znalostné systémy

  40. AlgoritmusBranch-and-Bound ~ Algoritmus vetví a medzí Hľadá optimálnu cestu(minimálnu cenu) ~ Rozšírenýbest-first algoritmus (usporiadaného prehľadávania): • pamätá si cenu riešenia • pokračuje • uzly s vyššou cenou mažes OPEN • algoritmus využíva iba vlastné údaje o stavovom priestore (nemá žiadne dodané znalosti …) Znalostné systémy

  41. Algoritmus náhodného prehľadávania • g = 0, h = 0 Znalostné systémy

  42. Algoritmus Best-First Search • IF s0 C THEN END • OPEN = {s0},CLOSED = {} • IF OPEN = {} THEN END (riešenie neexistuje) • Find { skm } : („stavy“) f (skm ) = min {f (sk); skOPEN} Znalostné systémy

  43. Best-First Search • IF existsskm CTHEN END • Select oneskn{ skm } • Movesknfrom OPEN into CLOSED • Expandskn • For all children skd of { skn } computef (skd) Znalostné systémy

  44. Best-First Search • IF skd not in ( OPEN U CLOSED ) THEN Writeskd in OPEN ELSE IF f (skd)> the existing one in (OPEN UCLOSED) THEN moveskd to OPEN • with new value f (skd)together • with the changeof parent • GOTO 3 Znalostné systémy

  45. Algoritmus náhodného prehľadávania • g = 0, h = 0 • Krok 6vBest-First Search Znalostné systémy

  46. g = 1, h = 0 • g(s) • Hĺbka uzlus • Slepé prehľadávanie do šírky Znalostné systémy

More Related