Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4

Like dokumenter
MNFIT-272 Kunstig intelligens Forelesning 4.

Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

INF 3/ oktober : Avslutte Branch and Bound 23.6: Trær og strategier for spill med to spillere

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Lørdag 8. august 2009, kl

Et t ilst andsrom er en representasjon av en problemløsningsstruktur.

INF oktober Stein Krogdahl. Kap 23.5: Trær og strategier for spill med to spillere

6. oktober Dagens program: Første time: Andre time, gjesteforelesning: Uavgjørbarhet. Stein Krogdahl. (Ikke pensum, egne foiler legges ut)

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen

Notat for oblig 2, INF3/4130 h07

PG4200 Algoritmer og datastrukturer Forelesning 10

MNFIT 272. Kunstig intelligens (AI) 2002

Dagens tema: Regulære språk og uttrykk

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Onsdag 6. august 2008 Tid: kl

INF Algoritmer og datastrukturer

IT 272. Kunstig intelligens (AI) 2000

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen

Obligatorisk oppgave 2 i INF 4130, høsten 2009

INF Algoritmer og datastrukturer

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!

Heuristiske søkemetoder II

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Tirsdag 4. desember 2007 Tid: kl

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap.

INF Algoritmer og datastrukturer

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

MAT1030 Diskret Matematikk

EKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Tysdag 4. desember 2007 Tid: kl

Forelesning 29: Kompleksitetsteori

MAT1030 Forelesning 22

Grunnleggende Grafalgoritmer II

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

Uke 5 Disjunkte mengder

)RUVNQLQJVPHWRGLNNLQQHQ.XQVWLJLQWHOOLJHQV

Heuristiske søkemetoder I: Simulert størkning og tabu-søk

Det første grafteoretiske problem: Broene i Königsberg

Stack. En enkel, lineær datastruktur

INF Algoritmer og datastrukturer

Live life and be merry

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Laurdag 8. august 2009, kl

GRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6

MAT1030 Forelesning 17

IN Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136)

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø

Algoritmer og teknikker for sjakkprogrammer - teori og praksis

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006

Definisjon av binært søketre

Disjunkte mengder ADT

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

Forelesning 30: Kompleksitetsteori

PG 4200 Algoritmer og datastrukturer Innlevering 2

Heuristisk søk 1. Prinsipper og metoder

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing

INF Algoritmer og datastrukturer

INF2220: Time 4 - Heap, Huffmann

Side om side. Trettende forelesning

INF Algoritmer og datastrukturer

UNIVERSITETET I OSLO

IT Kunstig intelligens (AI) 2006

Oversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder

6. kurskveld Ila, 7. juni - 06 Statistikk og sannsynlighet

Reelle tall på datamaskin

Definisjon: Et sortert tre

MAT1030 Diskret Matematikk

INF2220: Forelesning 2

Algoritmer og Datastrukturer

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

AlgDat 12. Forelesning 2. Gunnar Misund

MAT1030 Forelesning 22

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:

Lars Vidar Magnusson

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

Notater til INF2220 Eksamen

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

!"!#$ INF-MAT Geir Hasle - Leksjon 2 2

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon.

Introduksjon til IN2010

INF3110 Programmeringsspråk

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28)

Korteste Vei I. Lars Vidar Magnusson Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei

INF Algoritmer og datastrukturer

Kap 9 Tre Sist oppdatert 15.03

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede

INF1020 Algoritmer og datastrukturer GRAFER

INF4170 Logikk. Forelesning 12: Automatisk bevissøk IV matriser og koblingskalkyle. Bjarne Holen. Institutt for informatikk, Universitetet i Oslo

Grunnleggende Datastrukturer

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

Programmeringsspråket C Del 3

Transkript:

Kunstig intelligens (MNFIT-272) Forelesning 4 Emner: Problemløsning som søking (forts.) -Heuristisk søk, generelt -Søking i spill Søkekontroll -Produksjonssystem -Blackboard system Heuristisk søking (kap. 4) Kunnskapogsøking Bakkeklatring Best-først søk Evalueringsfunksjoner Søking i spill

Heuristisk søking Søkemetode som begrenser mulige valg ved å benytte kunnskap om problemet som skal løses Nødvendig når - problemet har en eksakt løsning, men løsningsrommet er for stort - problemet har ingen eksakt løsning - kun en mer eller mindre god løsning Poenget er å bruke kunnkap om problemet til å lede søkingen langs den mest 'lovende' søkeveien Heuristisk søking er 'informert gjetting' Kan gi suboptimal - og til og med mindre god - løsning Heuristiske metoder To deler: 1. Søkestrategien (søkealgoritmen) 2. Selve heuristikken(e) Enkelt eksempel: Tic-tac-toe - basis søkestrategi er bredde først med symmetri-reduksjon - heuristikk: plasser X der hvor det gir flest åpne linjer

Søkestrategier Enkel søkestrategi: Bakkeklatring (hill climbing) Uttømmende søk søk gir for interessante problemer altfor store søkerom, og for tidkrevende søk. Den motsatte ytterlighet: Velg den veien som ser best ut sett fra der du nå står, og ikke tenk på 'totalbildet'. Effektivt hvis søkerommmet har en enkel struktur og heuristikken er god (tic-tac-toe), men fører ellers til at andre og bedre løsninger overses (8-puzzle). Problemet er at metoden kun finner lokale maksima, ikke de mer globale. Best-først søking Skiller seg fra bredde- og dybde-først ved at nodene på open listen sorteres før neste node velges. Sorteringen bestemmes av en evalueringsfunskjon der heuristikk(er) utgjør en sentral del. Den sorterte listen kalles often enprioritets-kø. Informasjon om løsningsveien tas normalt vare på, og hele løsningsveien returneres ved suksessfylt søk. Hvis alternative veier til en node finnes, velges den korteste.

Stråle-søking (beam search) Søker innefor en begrenset del av søkerommet. En mellomting mellom bakke-klatring og best-først. Lagrer kun de N beste noder på open, etter at sorteringen er gjort (N er strålebredden) Heuristikker Å finne gode heuristikker innvolverer - analyse av problemet - design av en problemløsningsstrategi - oppbygging av heuristikkene - som kan innbære alt fra å definere en enkel metrikk eller funksjon til å bygge opp en omfattende kunnskapsbase Enkelt eksempel: 8-puzzle. Alternative heuristikker: a) minimer antall brikker på feil plass b) minimer total distanse fra mål-tilstanden for feiplasserte brikker c) ta hensyn til plassbytte for nabobrikker i b)

Evalueringsfunksjoner Funksjoner for sortering av noder påopen listen under heuristisk søking Bør ta hensyn til - aktuelle noders avstand til slutt-tilstanden - aktuelle noders avstand fra start-tilstanden Generell form: f(n) = g(n) + h(n) - g(n) er reell avstand fra start-noden -h(n)erestimert avstand til slutt-noden f(n) estimerer total kostnad av veien fra starttilstanden gjennom n til slutt-tilstanden Kunnskapsbaserte systemer Fra forenklede 'leke'-problemer til anvendelser av heuristisk søk på reelle, komplekse problemer. Søkerommet er tilstander i problemløsningsprosessen, der en node er beskrevet av et sett med fakta. Heuristikken som bestemmer videre veivalg ligger i en kunnskapsbase. Kunnskapbasen inneholder i prinsippet alle heuristikker for alle noder, og for én enkelt node vil kun en del av kunnskapen være relevant. Admissibility En søkealgoritm er admissible hvis den garantert finner Korteste vei, der hvor en slik vei fins.

A* algoritmen Gitt evalueringsfunksjonen for estimering av løsningsveiens kostnad: f(n) = g(n) + h(n) Algoritmen som benytter f(n) som evalueringsfunksjon i best-først søk, kalles Algoritme A. For å vurdere i hvilken grad en optimal løsningsvei kan finnes, defineres: f*(n) = g*(n) + h*(n) der g*(n) er kostnad av korteste vei fra start til n, og h*(n) er reell kostand forkorteste veifrantil løsningstilstanden. Aloritme A* er algoritmen som fås når algoritme A benytter en estimert h(n) som for enhver node er mindre eller lik kostnad h*(n). A* - egenskaper Algoritme A* vil alltid finne den optimale veien, såsant en slik fins. Mao.: Algortime A* er admissible A* forutsetter ikke at g(n) = g*(n), dvs. at optimal vei er funnet så langt. For to heuristikker, hvis h 1(n) < h(n)foralle 2 noder n, er h2 mer informert enn h 1. Jo mer informert en heuristikk er, dessto mindre kan søkerommet gjøres. Men prosesseringskostnadene kan øke betydelig.

Søking i to-persons spill Spesiell situasjon: - det fins en motstander med uforutsigbare tilstandsoverganger (trekk i spillet). Søkerommet har typisk en tre-struktur. Noder i søkerommet representerer situasjoner i spillet hvor en av spillerne er i trekket. Lenker mellom nodene er trekk i spillet Søking går ut på å finne det beste neste trekket, gitt motstanderens mulige neste trekk, samt mulige etterfølgende trekk fra begge spillerne. Noder der systemet er i trekket kalles MAX-noder Noder der motstanderen er i trekket kalles MIN-noder. MINIMAX Søkestrategi for maksimere egen posisjon ved å minimere motsanderens. Det antas at motstanderen velger sitt beste trekk, utifra en felles evaluaringsfunksjon. Det trekket velges som minimerer verdien av motsanderens beste neste trekk. Verdien av posisjoner bestemmes for en tilstand et visst antall trekk framover, og forplantes så tilbake til nåværende tilstand. Kan benyttes både i uttømmende søk - bredde først - og med en eller annen form form avgrensing: - vurdering av et fast antall trekk framover (horisont effekt) - heuristisk avgrensing, vurder bare de beste n trekk videre - evalueringsfunksjon: - posisjons-styrke - brikke-antall - brikke-styrke -...

Alfa-beta søk Dybde-først søking med kutting av greiner i søketreet som ikke har mulighet til å forbedre resultatet. Prinsipp: Alfa-verdier tilknyttes MAX noder, og kan ikke avta. Beta-verdier tilknyttes MIN noder, og kan ikke øke. For MAX tilstander kan en se bort fra noder med lavere verdier enn den største til nå. Omvendt for MIN noder Kompleksitet 120 Eksempel: Sjakk har tilnærmet 10 mulige tilstander i et spill av normal lengde. Forgreningsfaktoren fra nivå til nivå er kritisk faktor. Gjelder i alle søkestrategier, når det gjelder tidsforbruk. Gode heuristikker - kunnskapsbasert, velinformert søk - er eneste veien ut, for komplekse, reelle problemer.

Heuristisk søking (oppsummert) Søkemetode som begrenser mulige valg ved å benytte kunnskap om problemet som skal løses Nødvendig når - problemet har en eksakt løsning, men løsningsrommet er for stort - problemet har ingen eksakt løsning - kun en mer eller mindre god løsning Poenget er å bruke kunnkap om problemet til å lede søkingen langs den mest 'lovende' søkeveien Heuristisk søking er 'informert gjetting' Kan gi suboptimal - og til og med mindre god - løsning Søkesystemer Helhetlige systemer for problemløsning basert på søking i tilstandsrom, ofte kalt problemrom. Har basis i generelle søkemetoder (uttømmende eller heuristiske): - Løsning av problemet er en sammenhengende vei fra starttilstanden til sluttilstanden. - Løsningen finnes ved å søke langs alternative veier i problemrommet - Bactracking gjør det mulig å 'ta seg inn igjen' etter et mindre heldig forsøk på å finne en løsningsvei.

Søkesystemer (forts.) I prinsippet utnyttes basismetodenenes underliggende strukturer for søking: - Benytter to slags lister til å ta vare på tilstander under søket: - open lagrer påtrufne tilstander som ikke er testet ennå - closed lagrer uttestede tilstander - tilbakelagt vei lagres som forelder-barn par - Ved bredde-først søk er open en stakk (LIFO liste). Ved dybde-først søk er open en kø (FIFO liste). Ved best-først søk er open en prioritetskø (sortert liste). Strukturene er ofte implementert som andre strukturer enn eksplisitte open og closed lister. Produksjons-system - generelt Tar utgangspunkt i problemløsning som søk i tilstandsrom. Generell komputasjonell modell, som er basert på formell teori, og er Turing-maskin ekvivalent. Danner basis for programmeringsspråket OPS-5 bl.a. brukt til implementasjon av regelbaserte ekspertsystemer. Også generell kognitiv modell, som er basert på psykologiske teorier og eksperimenter. Danner basis for helhetlige kognitive arkitekturer, og komputasjonelle modeller av disse, som f.eks. systemene ACT*, og SOAR. Dessuten for MHP - som er basis for GOMS metoden innen menneske-maskin interaksjon.

Produksjons-system - definisjon Består av 3 deler: 1. Et sett produksjoner. Dvs.regler der hver regel inneholder en betingelses-del og en aksjons-del. Et slikt "condition-action" par utgjør en enhet kunnskap, der - betingelsesdelen er et symbol-mønster som matches mot en tilstand, og som derved avgjør om regelen kan fyres, - aksjonsdelen utføres hvis regelen fyrer, og 'produserer' derved en ny tilstand. 2. Et arbeidsminne (working memory) som inneholder en beskrivelse av nåtilstanden. Beskrivelsen er i form av symbol-mønstre, som kan matches mot produksjonsreglene. Dersom en regel fyrer, vil det normalt medføre en endring av innholdet i arbeidsminnet (dvs. endring av nåtilstanden). Produksjons-system - definisjon (forts.) 3. En "recognize-act" syklus som utgjør basiskomponenten i styrings-strukturen for et produksjons-system. Recognize: Betingelsesdelen av reglene matches mot innholdet av arbeidsminnet. Derved aktiveres et subsett av reglene, kalt konflikt-settet. Act: En av reglene i konflikt-settet velges, og fyres. Derved utføres aksjonene spesifisert i aksjonsdelen, og arbeidsminnet oppdateres. Syklusen gjentas med det nye innholdet av arbeidsminnet. Prosessen stopper når Recognize mislykkes, dvs. når ingen regler matcher innholdet i arbeidsminnet. Valg av regelen som skal fyres kalles konflikt-løsning (conflict resolution).

Styring av søk i produksjons-systemer Søkekontroll i praktiske systemer betsemmes av data-drevet vs. mål drevet strategi - evt. en kombinasjon konfliktløsnings-metoden (f.eks. heuristisk) backtracking når Recognize mislykkes regelformen - representasjon i produksjonssystem har prosedural semantikk, i motsetning til deklarativ semantikk for predikatlogikk Viktige egenskaper ved produksjonssystemer Klart skille mellom domenekunnskap og søkekontroll Enkel mapping til tilstandsrom-søking Regel-representasjon gir modularitet Mønster-rettet (del-)styring av søkingen Flere måter for heuristisk styring av søkingen Enkel (etter-)sporing av søket Uavhengig av implementasjons-språk og underliggende representasjonsformalismer Plausibel modell for menneskers problemløsning

Blackboard systemer Arkitektur bestående av flere uavhengige kunnskapskilder som arbeider mot et felles arbeidsminne Selve blackboardet (tavlen) er et globalt arbeidsminne for informasjonsutveksling mellom uavhengige kunnskapskilder En kunnskapskilde er en separat kunnskapsbasert prosess En agenda-struktur (scheduler) styrer problemløsningsprosessen og aktiverer de aktuelle kunnskapskildene etter behov Systemene er karakterisert ved - stor grad av fleksibilitet i problemløsningen - multiple partielle løsninger kan bearbeides samtidig - arbeidsminnet kan organiseres i moduler Eksempel: Hearsay Hearsay II et system for talegjenkjenning, der forskjellige kunnskapstyper inngår på forskjellige nivå i gjenkjenningsprosessen Alle nivåene er aktive samtidig, og resultater fra tolkningsprosessen på ett nivå (lavere eller høyere) kan medføre at tolkningesprosessen på et hvilket som helst annet nivå kan fortsette Hearsay III har kontrollstruktur i form av et separat blackboard system, og kan betraktes som et generelt verktøy for utvikling av komplekse kunnskapsbaserte systemer. Videreutviklet i BBS (blackboard shell).