MNFIT-272 Kunstig intelligens Forelesning 4.

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

MNFIT 272. Kunstig intelligens (AI) 2002

Programmeringsspråket C Del 3

IT 272. Kunstig intelligens (AI) 2000

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3

)RUVNQLQJVPHWRGLNNLQQHQ.XQVWLJLQWHOOLJHQV

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

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

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

Lenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

Dybdelæring: hva er det - og hvordan kan det utvikles? Sten Ludvigsen, UiO

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

Model Driven Architecture (MDA) Interpretasjon og kritikk

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

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle Bjarne Holen - 7. mai 2007

INF Algoritmer og datastrukturer

SCD kurs. Leksjon 9 SCD Legende og Funksjonsspesifikasjon. Classification: Internal

Dagens plan. INF3170 Logikk. Redundans i LK-utledninger. Bevissøk med koblinger. Forelesning 13: Automatisk bevissøk IV matriser og koblingskalkyle

INF2810: Funksjonell Programmering. En metasirkulær evaluator

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

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

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

MAT1030 Diskret Matematikk

INF Algoritmer og datastrukturer

Dagens tema: Regulære språk og uttrykk

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

Dagens tema: Datastrukturer

IT Kunstig intelligens (AI) 2006

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Obligatorisk oppgave 2 i INF 4130, høsten 2009

Oversikt over kap. 19 i Gravelle og Rees. Sett i forhold til resten av pensum:

MAT1030 Forelesning 3

Forelesning 14: Automatisk bevissøk IV matriser og koblingskalkyle Christian Mahesh Hansen mai 2006

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

Turingmaskiner en kortfattet introduksjon. Christian F Heide

Pipfrog AS Flere nettbutikker og språk

Turingmaskiner en kortfattet introduksjon. Christian F Heide

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

Kapittel 3: Litt om representasjon av tall

INF Algoritmer og datastrukturer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

PG4200 Algoritmer og datastrukturer Forelesning 10

INF2810: Funksjonell Programmering. En metasirkulær evaluator

Integritetsregler i SQL

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2810: Funksjonell Programmering. Muterbare data

SIE 4005, 8/10 (3. Forelesn.)

Binære trær: Noen algoritmer og anvendelser

Grunnleggende Datastrukturer

MAT1030 Diskret matematikk

MAT1030 Forelesning 6

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Maskin læring et praktisk eksempel

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

AlgDat 12. Forelesning 2. Gunnar Misund

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Make anything,make everything. Byggeklossene med uendelige muligheter.

Integritetsregler i SQL. Primærnøkler

Anatomien til en kompilator - I

Hva måler nasjonal prøve i regning?

Kapittel 4: Logikk (utsagnslogikk)

MAT1030 Diskret Matematikk

AlgDat 10. Forelesning 2. Gunnar Misund

INF2810: Funksjonell Programmering

Stack. En enkel, lineær datastruktur

INF2810: Funksjonell Programmering

INF Algoritmer og datastrukturer

INF2810: Funksjonell Programmering

Semantisk Analyse del III

INF2810: Funksjonell Programmering

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

MAT1030 Forelesning 13

Generiske mekanismer i statisk typede programmeringsspråk

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

Kapittel 6: Funksjoner

CORBA Component Model (CCM)

Praktisk bruk av maskinlæring i vedlikehold

Motivasjon. Litt sett-teori. Eksempel. INF Mesteparten av kap i DIP Morfologiske operasjoner på binære bilder.

Datastrukturer. Algoritmer og datastrukturer. Øvingsforelesning 2

Reelle tall på datamaskin

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

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Programmering og Problemløsning, 2017

INF Algoritmer og datastrukturer

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

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

MAT1030 Forelesning 22

Uke 5 Disjunkte mengder

INF2820 Datalingvistikk V2015. Jan Tore Lønning

Introduksjon til DARK assembly

Se hvordan Hovseter ungdomsskole arbeidet før, under og etter gjennomføring av prøven.

Sosiotekniske systemer

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

Transkript:

MNFIT-272 Kunstig intelligens Forelesning 4. Emner: Søkesystemer - styring og kontroll av søk - søkesystemer i praksis Produksjonssystemer - regelbasert søking - som generell problemløsningsmodell - praktiske implementasjoner Planlegging i en blokk-verden - søking etter sekvens av aksjoner - makro-operatorer - "the frame problem" innen AI Blackboard systemer - problemløsning via flere kunnskapskilder - agenda strukturer 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. 1

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. 2

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). 3

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 4

Planlegging i blokk-verdenen Blokk-verdenen er en enkel modell, ofte benyttet for å diskutere generelle prinsipper for problemløsning i interaksjon med den 'utenforliggende' verden. Vanlig representasjon: En form for predikatlogikk - ofte referert til som STRIPS deklarasjoner og operatorer. Planlegging betraktes som tilstandsrom-søking: - Det fins en beskrivelse av mulige tilstander - Det fins et sett av operatorer som er istand til å produsere nye tilstander - Operatorene benyttes for å søke etter en vei fra start- til slutt-tilstanden (mål-tilstanden) - En plan er settet av operatorer langs en slik vei. Planlegging, generelt En plan er en sekvens av aksjoner Søkeromeet kan bli meget komplekst - en aksjon kan være avhengig av at en annen er eller ikke er utført - må ta med endrindringer aksjoner medfører i den virkelig verden "The frame problem" er problemet med å ta hensyn til ting som ikkeendres etter at en aksjon (et trinn i en plan) er utført - et hovedproblem innen AI planlegging, og spesielt i forbindelse med planlegging av robot-aksjoner 5

Planleggingsproblemer, i tillegg: Generering av mulig planer Rette opp igjen en mislykket plan, spesielt hvis noe uforutsett inntreffer Lære av å ha løst et planleggingsproblem - generalisere en plan - lage makro-operatorer - lagre og gjenbruke tidligere konkrete planer STRIPS Planleggingssystem utviklet for enkle robot-aksjoner Operatorer lagres som - et sett av forhåndsbetingelser - en add liste som beskriver nye tilstander etter at operatoren er anvendt - en delete liste som beskriver tilstander som ikke lenger holder etter at operatoren er anvendt Lærer ved å forme makro-operatorer Løser konflikterende del-mål ved hjelp av en triangel-tabell 6

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). 7