1. Russel & Norvig menar att man kan utveckla AI-system som antingen t¨anker som en m¨anniska, handlar som en m¨anniska, t¨anker rationellt eller handlar rationellt. F¨orklara och exemplifiera dessa fyra syns¨att. (2) Svar: System som handlar som en m¨anniska skall uppvisa ett m¨anskligt beteende oavsett hur programmet ¨ar uppbyggt. Typiskt exempel ¨ar pro- gram som skrivs f¨or att klara Turingtestet, eller Eliza. System som t¨anker som en m¨anniska har fokus p˚a att programmet s˚a mycket som m¨ojligt skall likna m¨anniskans s¨att att t¨anka. Typiska exempel h¨ar ¨ar GPS som skrevs utifr˚an teorier om m¨ansklig probleml¨osning. System som t¨anker rationellt tar ist¨allet fasta p˚a att datorer och m¨anniskor ¨ar olika och att det inte g˚ar att utveckla vettiga AI-program om man inte formellt kan verifiera deras beteende. Typiska exempel h¨ar ¨ar alla de olika formella kunskapsrepre- sentationssystem som p˚a olika s¨att ut¨okar FOPL f¨or att b¨attre hantera m¨anskligt beteende. System som handlar rationellt slutligen ¨ar system som i varje situation f¨ors¨oker l¨osa problem s˚a bra som m¨ojligt, dvs up- pvisar ett rationellt beteende.
2. Vad ¨ar komplexitetsanalys? Vid komplexitetsanalys studerar man det asymptotiska beteendet. Vad inneb¨ar det? Vad ¨ar kombinatorisk explo- sion och hur brukar man hantera det inom AI? (3) Svar: Komplexitetsanalys inneb¨ar att man studerar vilken tids-och minnes˚atg˚ang en algoritm har. Man studerar d˚a det asymptotiska beteendet, dvs vad som h¨ander d˚a indata v¨axer, i princip mot o¨andligheten. D˚a tar man bara h¨ansyn till de termer som dominerar algoritmens beteende, t.ex. om vi har en algoritm d¨ar antal steg som funktion av indata, n, kan tecknas med ek- vationen T (n) = 20n3+ 500n2s˚a kommer det asymptotiska beteendet att domineras av n3och man talar om att algoritmens asymptotiska beteende
¨
ar O(n3). Inom AI hanterar man detta genom kunskap om problemet som man hoppas skall minska s¨okrymden och g¨ora att man kan hitta n˚agon l¨osning.
3. Antag att f¨oljande tabell visar avst˚andet mellan noderna i en s¨okgraf.
Visa hur s¨oktr¨adet ser ut om man anv¨ander Unifrom Cost f¨or att s¨oka sig fr˚an A till F. - betyder att det saknas v¨ag.
A B C D E F
A 0 2 2 - 3 -
B 2 0 4 - - 5
C 2 4 0 3 - -
D - - 3 0 1 2
E 3 - - 1 0 4
F - 5 - 2 4 0
(3) Svar:
Tabellen ger grafen:
4
A F
C
E D B
2
5 4
2
3 3 2
Vilket ger f¨oljande s¨oktr¨ad med Unifrom Cost:
6
E
F
F B
B
C D
E F C
D F C
A
2 3
2
4 5 3 4 1 4
1 2 4 2
7
8 6
6 7
5
6 7
4
4. Ut¨oka grafen i f¨oreg˚aende uppgift p˚a l¨ampligt s¨att s˚a att det g˚ar att anv¨anda A* f¨or att s¨oka en l¨osning fr˚an A till F och visa grafen som
A* genererar. (3)
Svar:
Exempel p˚a underskattningar:
f(A→F) = 5 f(B→F) = 4 f(C→F) = 4 f(D→F) = 1 f(E→F) = 2
ger s¨oktr¨adet med A*:
2 E
F B
C D F C
A
2 3
2
1 4
f=6
f=6 f=6
f=8
f=7 f=5
4
5. G¨or rimliga antaganden och ¨overs¨att f¨oljande meningar till predikatlogiska uttryck (bortse ifr˚an de temporala aspekterna):
Alla b¨ar p˚a en hemlighet
Om man talar om en hemlighet ¨ar den avsl¨ojad Sven har talat om Oves hemlighet
och visa med resolution att:
Oves hemlighet ¨ar avsl¨ojad
(4) Svar:
(1) ∀p ∃h Hemlighet(h) ∧ B¨arP˚a(p, h)
(2) ∀s,t Hemlighet(t) ∧ TalarOm(s, t) ⇒ Avsl¨ojad(t) (3) ∀x TalarOm(Sven, x) ∧ Hemlighet(x) ∧ B¨arP˚a(Ove, x) (4) ∃y Hemlighet(y) ∧ B¨arP˚a(Ove, y) ∧ Avsl¨ojad(y) som negeras till:
(4’) ¬ ∃y Hemlighet(y) ∧ B¨arP˚a(Ove, y) ∧ Avsl¨ojad(y) efter konvertering f˚as:
(1a) Hemlighet(g(p)) d¨ar g(p) ¨ar en Skolemfunktion (1b) B¨arP˚a(p, g(p))
(2) ¬ Hemlighet(t) ∨ ¬ TalarOm(s, t) ∨ Avsl¨ojad(t) (3a) TalarOm(Sven, x)
(3b) Hemlighet(w) (3c) B¨arP˚a(Ove, z)
(4’) ¬ Hemlighet(y) ∨ ¬ B¨arP˚a(Ove, y) ∨ ¬ Avsl¨ojad(y) och sen ger resolution t.ex.
(4’) + (3b) + (3c) med {w/y, z/y} (5) ¬ Avsl¨ojad(y) (5) + (2) 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¨or vill man g¨ora kategorier till objekt i spr˚aket? Visa hur man i predikatlogik kan representera att LHC ¨ar ett ishockeylag, att ishockeylag
¨
ar en typ av lag som spelar ishockey och att ishockey ¨ar en sport. (3) Svar: Man vill kunna resonera om kategorier, inte instanser, t.ex. vill man kunna resonera om ishockey och ishockeylag, inte bara ett specifikt lag som LHC.
Ett s¨att att representera att LHC ¨ar ett ishockeylag skulle kunna vara som Member(LHC, Ishockeylag) och att ett ishockeylag ¨ar ett lag skulle kunna representeras som Isa(Ishockeylag, Lag) vilket kan skrivas som:
LHC ∈ Ishockeylag Ishockeylag ⊂ Lag Ishockey ⊂ Sport
Man kan nu ocks˚a anv¨anda predikat p˚a kategorier, t.ex.
Spelar(Ishockeylag, Ishockey)
7. Hur skulle Circumscription representera Om vi inte vet annat antar vi att f˚aglar kan flyga? Vilka modeller kommer att skapas om vi vet att Otto ¨ar f˚agel? Hur hanterar circumscription sen kunskapen att Otto ¨ar en Pingvin givet att vi vet att Pingviner flyger inte? (3) Svar:
∀x F˚agel(x) ∧ ¬Ab1(x) ⇒ Flyger(x)
d¨ar Ab1(x) betecknar ett predikat som avg¨or om x ¨ar abnorm i avseende 1.
N¨ar F˚agel(Otto) kommer in skapas en modell d¨ar han flyger:
{F˚agel(Otto), Flyger(Otto)}
Regeln att pingviner inte flyger talar om att de ¨ar Ab1, dvs
∀x Pingvin(x) ⇒ Ab1(x) vilket ger en ny modell
{F˚agel(Otto), Pingvin(Otto), Ab1(Otto)}
8. Teckna uttrycket f¨or P(c|b), dvs P(C=True|B=True) i det Bayesianska n¨atverket nedan. R¨akna ocks˚a g¨arna ut P(c|b):
P(B)
0,1 0,01
0,5 0,2 T T T F F T F F A B P(C) C
B A
P(A)
0,6 0,2
(3) Svar:
P (c|b) =X
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, 2 · 0, 6 + 0, 2 · 0.2 · 0, 4 = 0, 012 + 0, 016 = 0, 028
9. Vad inneb¨ar hierarkisk planering? Vad karakteriserar planerna p˚a de olika niv˚aerna? Vad ¨ar skillnaden mellan externa och interna effekter och hur tar man h¨ansyn till detta vid planexpansion? (3) Svar: Vid hierarkisk planering skapas planer med abstrakta operatorer som h˚aller steg som i sig implementerar operatorn p˚a olika niv˚aer d¨ar den l¨agsta niv˚an skall ha primitiva handlingar. Planer som inneh˚aller icke- primitiva handlingar, dvs abstrakta operatorer expanderas, tills det bara
¨
ar primitiva handlingar, dvs handlingar som kan exekveras, kvar.
Vid varje steg i expansionen m˚aste man l¨osa alla eventuella konflikter mellan ordning p˚a delplaner och ocks˚a se till s˚a att alla villkor f¨or att utf¨ora planen antingen kan uppn˚as inom planen, Interna effekter, eller uppn˚as av andra operatorer, Externa effekter. Externa effekter m˚aste ordnas s˚a att de hamnar i den expanderad planen d¨ar de beh¨ovs.
10. F¨orklara hur besultstr¨adsinl¨arning fungerar, och visa hur beslutstr¨adet ser ut efter f¨oljande exempel (du beh¨over inte konstruera det optimala
beslutstr¨adet): (3)
Attribut
Exempel ˚Alder K¨on Inkomst K¨orkort Har bil
x1 <20 Man >40000 Ja Ja
x2 20-40 Man <20000 Nej Ja
x3 <20 Kvinna >40000 Ja Nej
x4 >40 Kvinna 20000-40000 Ja Ja
x5 >40 Man 20000-40000 Ja Nej
x6 20-40 Man <20000 Nej Ja
x7 20-40 Kvinna 20000-40000 Nej Ja
x8 <20 Kvinna >40000 Ja Nej
Svar:
Tabellen ger t.ex. tr¨adet:
− + x1, x2, x6
− x5
+ x2, x6
+ x4, x7
+ x4, x7 +
+
M K
<20’ >40’ <20’ >40’
JA JA NEJ
JA NEJ Default
− x3, x8
− x5 −
− − x3, x8
Inkomst Inkomst
Kön
20’−40’ 20’−40’
+ x1
11. Beskriv gradient backpropagation algoritmen. N¨ar kan den anv¨andas?
Hur fungerar den? (3)
Svar: Gradient backpropagation anv¨ands f¨or inl¨arning av neurala n¨at.
Man matar in indata till n¨atet, aktiverar n¨atet och f˚ar ett resultat. Detta resultat j¨amf¨ors med ett f¨orv¨antat resultat och det fel som uppst˚ar anv¨ands f¨or att tr¨ana n¨atet. N¨atet tr¨anas genom att justera vikterna. F¨or utdata- lagret justeras vikterna genom att f¨or varje utdatanod ¨andra vikterna p˚a noderna in beroende p˚a hur stort fel man hade multiplicerat med hur stor inverkan den dolda noden hade och sen multipliceras detta med en f¨orst¨arkningsfaktor f¨or att inte inl¨arningen skall sv¨anga f¨or mycket. F¨or dolda lager r¨aknas felet ut genom att man antar att den dolda nodens fel
¨
ar proportionellt mot hur stort felet var i lagret ovan, dvs f¨or det dolda lagret n¨armast utdatalagret r¨aknar man det fel som fanns vid j¨amf¨orelse
med f¨orv¨antad signal och summerar ¨over felet fr˚an alla utdatanoder med sin vikt fr˚an den dolda noden och f¨or dolda lager d¨ar under r¨aknas pss fast d˚a baserat p˚a felet som den dolda noden fick. Man g˚ar hela tiden bakifr˚an utadatalagret mot indatalagret som ¨ar det sista som uppdateras.
Detta upprepas tills dess att man ¨ar n¨ojd med resultatet. N¨ojd betyder inte att man vill ha noll fel, eftersom det kan leda till ¨overinl¨arning. Gra- dient i algoritmnamnet betyder att felet man f˚ar n¨ar man tar skillnaden mellan f¨orv¨antad och erh˚allen multipliceras med derivatan av hela n¨atets utdatafunktion.
12. Vid kompositionell semantisk analys anv¨ander man sig av λ-kalkyl. Varf¨or beh¨ovs λ-kalkyl? Beskriv hur man med λ-kalkyl kan representera verbet
“klara” och hur det anv¨ands vid tolkning av verbfrasen i satsen Hon klarar
tentan. (3)
Svar: Vid kompositionell semantisk analys m˚aste varje deluttryck tilldelas ett semantiskt sanningsv¨arde. Verb, som t.ex. klara m˚aste d˚a vara sanna f¨or alla (x, y) d¨ar x klarade y. En allkvantifierare skulle inte fungera efter- som Klara(x, y) inte betyder att x klarar alla y och existenskvantifiering skulle inte heller fungera eftersom det inte m˚aste finnas n˚agon x som klarar y. λ-operatorn d¨aremot returnerar de individer f¨or vilka uttrycket ¨ar 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 argu- ment och vi f˚ar: λKlara(x, tentan) som sedan vid den fortsatta analysen ger Klara(Hon, tentan). Detta modelleras i en regel f¨or verbfrasen som tar verbet som predikat och nominalfrasen som argument till predikatet:
V P (rel(obj)) ⇒ V (rel) N P (obj)