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