A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

Relevanta dokument
HKGBB0, Artificiell intelligens

de var svåra att implementera och var väldigt ineffektiva.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Vad behövs för att skapa en tillståndsrymd?

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007

Talmängder. Målet med första föreläsningen:

Algoritmer, datastrukturer och komplexitet

Grundläggande logik och modellteori (5DV102)

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

STRIPS. En planerares uppbyggnad. Emma Torensjö. Artificiell Intelligens II. Linköpings Universitet HT Emma Torensjö.

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Algoritmer, datastrukturer och komplexitet

Artificiella Neuronnät

Algoritmer, datastrukturer och komplexitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Föreläsning 5 Innehåll

Komplexitetsklasser och repetition

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Linköpings universitet

Asymptotisk komplexitetsanalys

729G43 Artificiell intelligens Planering

Mycket kortfattade lösningsförslag till tenta i AI 6 nov 2003

Algoritmer, datastrukturer och komplexitet

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Grundläggande logik och modellteori

Programmering II (ID1019) :00-12:00

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Grundläggande logik och modellteori

Artificial Intelligence

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek

Föreläsning 5: Grafer Del 1

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Tentamen Datastrukturer D DAT 035/INN960

Föreläsning 4: Kombinatorisk sökning

Föreläsning 8: Intro till Komplexitetsteori

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Grammatisk teori III Praktisk analys

Experimentella metoder, FK3001. Datorövning: Finn ett samband

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

FTEA12:2 Filosofisk metod. Att värdera argumentation I

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Algoritmer, datastrukturer och komplexitet

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Tentamen Datastrukturer D DAT 036/INN960

DD1361 Programmeringsparadigm HT17

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Grundläggande logik och modellteori

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18: Svar: Ja, det gäller, vilket kan visas på flera sätt (se nedan).

Tekniker för storskalig parsning: Grundbegrepp

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Grundläggande logik och modellteori (5DV102)

FUZZY LOGIC. - Var går gränsen? Lovisa Rönmark lovro

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

Föreläsning 7: Syntaxanalys

Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag)

Tänk på följande saker när du skriver tentan:

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Algoritmer och problemlösning

Algoritmer, datastrukturer och komplexitet

Språket Scheme. DAT 060: Introduktion till (funktions)programmering. DrScheme. uttryck. Jacek Malec m. fl. evaluering av uttryck.

7, Diskreta strukturer

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

En introduktion till predikatlogik

Logik och modaliteter

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Tentamen med lösningsförslag Datastrukturer för D2 DAT 035

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Träd och koder. Anders Björner KTH

Sökning och sortering

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Klassdeklaration. Metoddeklaration. Parameteröverföring

Agent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer!

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter

729G09 Språkvetenskaplig databehandling

Tentamen Datastrukturer D DAT 036/INN960

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter

Tentamen Datastrukturer D DAT 035/INN960

Transkript:

1. Russel & Norvig menar att man kan utveckla AI-system som antingen tänker som en människa, handlar som en människa, tänker rationellt eller handlar rationellt. Förklara och exemplifiera dessa fyra synsätt. () System som handlar som en människa skall uppvisa ett mänskligt beteende oavsett hur programmet är uppbyggt. Typiskt exempel är program som skrivs för att klara Turingtestet, eller Eliza. System som tänker som en människa har fokus på att programmet så mycket som möjligt skall likna människans sätt att tänka. Typiska exempel här är GPS som skrevs utifrån teorier om mänsklig problemlösning. System som tänker rationellt tar istället fasta på att datorer och människor är olika och att det inte går att utveckla vettiga AI-program om man inte formellt kan verifiera deras beteende. Typiska exempel här är alla de olika formella kunskapsrepresentationssystem som på olika sätt utökar FOPL för att bättre hantera mänskligt beteende. System som handlar rationellt slutligen är system som i varje situation försöker lösa problem så bra som möjligt, dvs uppvisar ett rationellt beteende.. Vad är komplexitetsanalys? Vid komplexitetsanalys studerar man det asymptotiska beteendet. Vad innebär det? Vad är kombinatorisk explosion och hur brukar man hantera det inom AI? Komplexitetsanalys innebär att man studerar vilken tids-och minnesåtgång en algoritm har. Man studerar då det asymptotiska beteendet, dvs vad som händer då indata växer, i princip mot oändligheten. Då tar man bara hänsyn till de termer som dominerar algoritmens beteende, t.ex. om vi har en algoritm där antal steg som funktion av indata, n, kan tecknas med ekvationen T (n) = 0n 3 + 500n så kommer det asymptotiska beteendet att domineras av n 3 och man talar om att algoritmens asymptotiska beteende är O(n 3 ). Inom AI hanterar man detta genom kunskap om problemet som man hoppas skall minska sökrymden och göra att man kan hitta någon lösning. 3. Antag att följande tabell visar avståndet mellan noderna i en sökgraf. Visa hur sökträdet ser ut om man använder Unifrom ost för att söka sig från A till F. - betyder att det saknas väg. A D E F A 0-3 - 0 4 - - 5 4 0 3 - - D - - 3 0 1 E 3 - - 1 0 4 F - 5-4 0 Tabellen ger grafen: 1

A 3 4 3 E D 5 4 F Vilket ger följande sökträd med Unifrom ost: A 3 E 4 5 3 4 1 4 F 5 D 4 D F 6 7 1 6 4 7 E F F 6 7 8 6 4. Utöka grafen i föregående uppgift på lämpligt sätt så att det går att använda A* för att söka en lösning från A till F och visa grafen som A* genererar. Exempel på underskattningar: f(a F) = 5 f( F) = 4 f( F) = 4 f(d F) = 1 f(e F) = ger sökträdet med A*: A 3 f=6 f=6 E 1 4 f=5 D 4 5. Gör rimliga antaganden och översätt följande meningar till predikatlogiska uttryck (bortse ifrån de temporala aspekterna): f=8 F f=6 F f=7

Alla bär på en hemlighet Om man talar om en hemlighet är den avslöjad Sven har talat om Oves hemlighet och visa med resolution att: Oves hemlighet är avslöjad (4) (1) p h Hemlighet(h) ärpå(p, h) () s,t Hemlighet(t) TalarOm(s, t) Avslöjad(t) x TalarOm(Sven, x) Hemlighet(x) ärpå(ove, x) (4) y Hemlighet(y) ärpå(ove, y) Avslöjad(y) som negeras till: (4 ) y Hemlighet(y) ärpå(ove, y) Avslöjad(y) efter konvertering fås: (1a) Hemlighet(g(p)) där g(p) är en Skolemfunktion (1b) ärpå(p, g(p)) () Hemlighet(t) TalarOm(s, t) Avslöjad(t) (3a) TalarOm(Sven, x) (3b) Hemlighet(w) (3c) ärpå(ove, z) (4 ) Hemlighet(y) ärpå(ove, y) Avslöjad(y) och sen ger resolution t.ex. (4 ) + (3b) + (3c) med {w/y, z/y} (5) Avslöjad(y) (5) + () med {y/t} (6) Hemlighet(t) TalarOm(s, t) (6) + (3a) med {s/sven, x/t} (7) Hemlighet(t) (7) + (1a) med {t/g(x)} ger en tom klausul 6. Varför vill man göra kategorier till objekt i språket? Visa hur man i predikatlogik kan representera att LH är ett ishockeylag, att ishockeylag är en typ av lag som spelar ishockey och att ishockey är en sport. Man vill kunna resonera om kategorier, inte instanser, t.ex. vill man kunna resonera om ishockey och ishockeylag, inte bara ett specifikt lag som LH. Ett sätt att representera att LH är ett ishockeylag skulle kunna vara som Member(LH, Ishockeylag) och att ett ishockeylag är ett lag skulle kunna representeras som Isa(Ishockeylag, Lag) vilket kan skrivas som: LH Ishockeylag Ishockeylag Lag Ishockey Sport Man kan nu också använda predikat på kategorier, t.ex. Spelar(Ishockeylag, Ishockey) 3

7. Hur skulle ircumscription representera Om vi inte vet annat antar vi att fåglar kan flyga? Vilka modeller kommer att skapas om vi vet att Otto är fågel? Hur hanterar circumscription sen kunskapen att Otto är en Pingvin givet att vi vet att Pingviner flyger inte? x Fågel(x) Ab 1 (x) Flyger(x) där Ab 1 (x) betecknar ett predikat som avgör om x är abnorm i avseende 1. När Fågel(Otto) kommer in skapas en modell där han flyger: {Fågel(Otto), Flyger(Otto)} Regeln att pingviner inte flyger talar om att de är Ab 1, dvs x Pingvin(x) Ab 1 (x) vilket ger en ny modell {Fågel(Otto), Pingvin(Otto), Ab 1 (Otto)} 8. Teckna uttrycket för P(c b), dvs P(=True =True) i det ayesianska nätverket nedan. Räkna också gärna ut P(c b): P(A) 0,6 A P() 0, A P() T T T F F T F F 0,1 0,01 0, 0,5 P (c b) = A P (c b, A)P (b)p (A) = P (c b a)p (b)p (a)+p (c b a)p (b)p ( a) = 0, 1 0, 0, 6 + 0, 0. 0, 4 = 0, 01 + 0, 016 = 0, 08 9. Vad innebär hierarkisk planering? Vad karakteriserar planerna på de olika nivåerna? Vad är skillnaden mellan externa och interna effekter och hur tar man hänsyn till detta vid planexpansion? Vid hierarkisk planering skapas planer med abstrakta operatorer som håller steg som i sig implementerar operatorn på olika nivåer där den lägsta nivån skall ha primitiva handlingar. Planer som innehåller ickeprimitiva handlingar, dvs abstrakta operatorer expanderas, tills det bara är primitiva handlingar, dvs handlingar som kan exekveras, kvar. 4

Vid varje steg i expansionen måste man lösa alla eventuella konflikter mellan ordning på delplaner och också se till så att alla villkor för att utföra planen antingen kan uppnås inom planen, Interna effekter, eller uppnås av andra operatorer, Externa effekter. Externa effekter måste ordnas så att de hamnar i den expanderad planen där de behövs. 10. Förklara hur besultsträdsinlärning fungerar, och visa hur beslutsträdet ser ut efter följande exempel (du behöver inte konstruera det optimala beslutsträdet): Attribut Exempel Ålder Kön Inkomst Körkort Har bil x1 <0 Man >40000 Ja Ja x 0-40 Man <0000 Nej Ja x3 <0 Kvinna >40000 Ja Nej x4 >40 Kvinna 0000-40000 Ja Ja x5 >40 Man 0000-40000 Ja Nej x6 0-40 Man <0000 Nej Ja x7 0-40 Kvinna 0000-40000 Nej Ja x8 <0 Kvinna >40000 Ja Nej Tabellen ger t.ex. trädet: M Kön K + x1, x, x6 x5 Inkomst + x4, x7 x3, x8 Inkomst <0 0 40 >40 <0 0 40 >40 + x, x6 + + x1 + x4, x7 + x5 x3, x8 JA NEJ JA Default JA NEJ 11. eskriv gradient backpropagation algoritmen. När kan den användas? Hur fungerar den? Gradient backpropagation används för inlärning av neurala nät. Man matar in indata till nätet, aktiverar nätet och får ett resultat. Detta resultat jämförs med ett förväntat resultat och det fel som uppstår används för att träna nätet. Nätet tränas genom att justera vikterna. För utdatalagret justeras vikterna genom att för varje utdatanod ändra vikterna på noderna in beroende på hur stort fel man hade multiplicerat med hur stor inverkan den dolda noden hade och sen multipliceras detta med en förstärkningsfaktor för att inte inlärningen skall svänga för mycket. För dolda lager räknas felet ut genom att man antar att den dolda nodens fel är proportionellt mot hur stort felet var i lagret ovan, dvs för det dolda lagret närmast utdatalagret räknar man det fel som fanns vid jämförelse 5

med förväntad signal och summerar över felet från alla utdatanoder med sin vikt från den dolda noden och för dolda lager där under räknas pss fast då baserat på felet som den dolda noden fick. Man går hela tiden bakifrån utadatalagret mot indatalagret som är det sista som uppdateras. Detta upprepas tills dess att man är nöjd med resultatet. Nöjd betyder inte att man vill ha noll fel, eftersom det kan leda till överinlärning. Gradient i algoritmnamnet betyder att felet man får när man tar skillnaden mellan förväntad och erhållen multipliceras med derivatan av hela nätets utdatafunktion. 1. Vid kompositionell semantisk analys använder man sig av λ-kalkyl. Varför behövs λ-kalkyl? eskriv hur man med λ-kalkyl kan representera verbet klara och hur det används vid tolkning av verbfrasen i satsen Hon klarar tentan. Vid kompositionell semantisk analys måste varje deluttryck tilldelas ett semantiskt sanningsvärde. Verb, som t.ex. klara måste då vara sanna för alla (x, y) där x klarade y. En allkvantifierare skulle inte fungera eftersom Klara(x, y) inte betyder att x klarar alla y och existenskvantifiering skulle inte heller fungera eftersom det inte måste finnas någon x som klarar y. λ-operatorn däremot returnerar de individer för vilka uttrycket är sant. Verbet klara kan semantiskt representeras med uttrycket λx, yklara(x, y). I uttrycket Hon klarar tentan kommer den semantiska analysen av klara tentan att resultera i att verbets λ-uttryck evalueras med tentan som argument och vi får: λklara(x, tentan) som sedan vid den fortsatta analysen ger Klara(Hon, tentan). Detta modelleras i en regel för verbfrasen som tar verbet som predikat och nominalfrasen som argument till predikatet: V P (rel(obj)) V (rel) NP (obj) 6