Föreläsning 16 Logik med tillämpningar 020319. Innehåll u Information kring kursvärdering och tentagenomgång u Genomgång av övningstenta 2.

Slides:



Advertisements
Liknande presentationer
F. Drewes, Inst. f. datavetenskap1 Föreläsning 13: Resolution •Resolution i satslogiken •Resolution i predikatlogiken.
Advertisements

3. Text Välkommen till övning 3. Här kommer du få lära dig bra grejer. Texthantering är något du bör kunna när du jobbar med Powerpoint. Det svåra är att.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Att svara på tentafrågan - Strategier Språkhandledningen på IT-fakulteten.
Välkommen Jag heter Bettan Källgren och arbetar här på Stodeneskolan som lärare i special-pedagogik. Jag har utbildat mig ”extra” i bl a Läsmetodik, alltså.
X-mas algebra Är du redo? Klicka!!.
Andragradsfunktioner & Andragradsekvationer
Kvalitativ analys - Analysprocess
Träddiagram - ett sätt att ta fram aktiviteter och prioriteringar för hur man ska jobba med ett visst område.
En genomgång av spelet: Dubbelkrig-Grön
Access med Sebastian och Robert
hej och välkomna EKVATIONER Ta reda på det okända talet.
Formellt, skarpt och snyggt
Enkel dator teknik Tips och tricks.
1 Logikprogrammering ons 11/9 David Hjelm. 2 Repetition Listor är sammansatta termer. De består av en ordnad mängd element. Elementen i en lista kan vara.
Prolog, Mån 16/9 Rebecca Jonson.
Logikprogrammering, Mån 23/9 Rebecca Jonson. Repetition P :- Q, R. Deklarativ syn: –P är sann om Q och R är sanna. –Av Q och R följer P Procedurell syn:
Att skriva en artikel.
DAB752: Algoritmteori Leif Grönqvist
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Logikprogrammering Ons, 25/9
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
IT-kompetens Svenska & Engelska. IT-kompetens Svenska & Engelska.
1 Exempel Man drar ett OSU om medlemmar ur en stor politiskt oberoende organisation, och frågar dels om kön, dels om politisk tillhörighet (vänster eller.
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 7: Cut och negation (kap. 10) Teori –Förklarar hur man kontrollerar Prologs backtracking-beteende.
MaB: Andragradsekvationer
Programmering B PHP Lektion 2
Algebraiska uttryck Matematik 1.
Riktad skrivning Hur tyckte att boken Alex Dogboy verkade utifrån det du hittills läst och fått veta? Motivera ditt svar. Skriv tills jag säger stopp,
Vad är du för typ av person?
Källor! Hur gör man egentligen?
Debattera.
Hur gör du för att förstå en text?
Linnéa. Gode Gud Jag skriver för att säga förlåt för att jag var arg igår när du ignorera mina böner och ingenting blev som jag ville.
Kandidatuppsats i Statistik F3
Logikprogrammering 21/10 Binära träd
En guide för arbeten i SO
Föreläsning 6 Logik med tillämpningar F6 Innehåll u Resten om resolution u Varför så många olika beslutsprocedurer? u Teorembevisaren Otter.
Ingenjörsmetodik IT & ME 2008
Logik med tillämpningar
Instruktioner Hur man skriver.
Föreläsning 4-5 Logik med tillämpningar
Föreläsning 11 Logik med tillämpningar Innehåll u Generell resolution u Kapitel i Ben-Ari.
Föreläsning 9 Logik med tillämpningar Innehåll u Semantiska tablåer i predikatlogiken u Klausulform u Herbrandmodeller u Kapitel 3.5,
Föreläsning 13 Logik med tillämpningar Innehåll u Aritmetik i Prolog u Rekursiva och iterativa program u Typpredikat u Metalogiska predikat.
Föreläsning 15 Logik med tillämpningar Innehåll u Programmeringsstil i Prolog u Expertsystem u Att kunna inför tentan u Kapitel 13 och 14.3.
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
 x(p(x)  q(x))  (  x p(x)   xq(x))  x(p(x)  q(x))  xp(x)   xq(x)  x(p(x)  q(x)),  (p(a)  q(a))  xp(x),  xq(x)  x (p(x)  q(x)), 
Logik med tillämpningar
1 Semantik – introduktion Semantik = läran om mening Tvärvetenskapligt filosofi lingvistik psykologi AI Lingvistik motsägelser mångtydighet metaforer Filosofi.
Föreläsning 14 Logik med tillämpningar Innehåll u Cuts och negation u Input/output u Extralogiska predikat u Interaktiva program, failure-drivna.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
Formellt, skarpt och snyggt
XML, scheman och mappningar
Kronljusströmställaren 0, 1, 2, 3
Föreläsning 1-2 Logik med tillämpningar
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 13: Resolution Resolution i satslogiken Resolution i predikatlogiken.
Dagens ämnen Numeriska serier Definition av konvergens
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
Manada.se Kapitel 4 Ekvationer och formler. 4.1 Ekvationer och uttryck.
KPP053, HT2015 MATLAB, Föreläsning 4
B D A C Vems påstående stämmer? A 5x + 10 = 5x – 10 B
Formell logik Kapitel 5 och 6
Formell logik Kapitel 3 och 4
Filosofisk logik Kapitel 15
Y 4.3 Uttryck med parenteser
Presentationens avskrift:

Föreläsning 16 Logik med tillämpningar

Innehåll u Information kring kursvärdering och tentagenomgång u Genomgång av övningstenta 2

Kursvärdering och tentagenomgång u Kursvärdering öppnas torsdag 21/3 –Sammanfattning på webben u Lösningsförslag på webben u Tentamensresultat via mail u Tentagenomgång –ska vi ha det? –när? (Tis 2/4 enda vettiga alternativet…)

Övningstentan u Gavs av mig – omtenta på DV-prog. u Täcker samma material som kommande tentamen. u Maxpoäng 40p (3, 4, 5 på 20, 26 respektive 32p) u Är en ”normalsvår” tenta.

Uppgift 1 u Redovisa stegen i algoritmen inte bara svaret. u Förklara vad du gör i varje steg med några ord. –Kan dock göra flera likadana omskrivningar i varje steg. Exempelvis flytta in alla negationer på en gång. u Visa tydligt vad i ditt svar som är slutsatsen. –Dvs vilken formel du anser vara ditt svar –(Läs noga är det PCNF eller klausulmängd som efterfrågas?) u Använd gärna olika parenteser för att visa vad som hör ihop med vad. {[()]} u Svar: {p(x 1 )   q(x 1,f(x 1 ))  q(x 1, g(x 1 )), p(x 2 )   q(x 2,f(x 2 ))  r(g(x 2 ), z 2 )}

Döp om variabler  x(p(x)  {  y q(x, y)   v[q(x, v)   z r(v, z)]}) Ta bort konnektiv utom ,  och   x(p(x)  {  y q(x, y)   v[q(x, v)   z r(v, z)]}) Flytta in negationer  x(p(x)  {  y  q(x, y)   v[q(x, v)   z r(v, z)]}) Flytta ut kvantifierare  x  y  v  z (p(x)  {  q(x, y)  [q(x, v)  r(v, z)]}) Gör om matrisen till CNF  x  y  v  z (p(x)  {[  q(x, y)  q(x, v)]  [  q(x, y)  r(v, z)]})  x  y  v  z ([p(x)   q(x, y)  q(x, v)]  [p(x)   q(x, y)  r(v, z)]) Skolemisera  x  v  z ([p(x)   q(x, f(x))  q(x, v)]  [p(x)   q(x, f(x))  r(v, z)])  x  z((p(x)   q(x,f(x))  q(x, g(x)))  (p(x)   q(x,f(x))  r(g(x), z))) Mängden: {p(x 1 )   q(x 1,f(x 1 ))  q(x 1, g(x 1 )), p(x 2 )   q(x 2,f(x 2 ))  r(g(x 2 ), z 2 )}

Uppgift 2 u Måste förklara hur och varför roten i tablån ser ut som den gör. Varför negera? u Måste dra en slutsats från trädet, kan inte bara visa trädet. Det är inte ett svar. u Om tablån för negationen av formeln är öppen måste en ny tablå göras. u Inga förenklingar av formeln får göras varken före, under eller efter man applicerar algoritmen. u Svar: Formeln valid

Formeln är valid eftersom negationen är en motsägelse.

Uppgift 3 u Var noga att kolla vad ni ska göra och att svara på alla deluppgifter. E = p(x, y)  q(f(x), z)  r(v, u)  = { x  f(y), y  f(a), z  u}  = { y  g(a), u  z, v  f(f(a))} u E  = p(f(y),f(a))  q(f(f(y)), u)  r(v,u) u E  = p(x, g(a))  q(f(x), z)  r(f(f(a)), z) u E  = p(f(g(a)),f(a))  q(f(f(g(a))), z)  r(f(f(a)),z) u  = { x  f(g(a)), y  f(a), u  z, v  f(f(a))}

Uppgift 4 u För att veta om den fungerar så gör man en sanningstabell för uttrycket u Uttrycket blev inte lika som output. Alltså fungerar inte kretskortet som etiketten säger. För att få en formel kan man ta de rader där output är T.

u Vi får då: (p  q  r)  (p   q  r)  (  p  q  r) u den kan förenklas (alla formler från och med ovanstående är OK som svar, man behöver inte förenkla…) u (p  r)  (q   q)  (  p  q  r) (p  r)  (  p  q  r) (p  (  p  q))  r (p   p)  (p  q)  r (p  q)  r

Uppgift 5a) M = 2M = 3N = 3; N = 6; N = 9; no N = 2; N = 3;

5b) SVAREN blir N = 3; no

Uppgift 6 u Skriv vad du tänker, det kan i princip aldrig bli för mycket text… Antag att U är en mängd satslogiska formler, dvs U = {A 1, A 2,..., A n }, antag dessutom att A och B också är satslogiska formler. Visa att om U  {A} |= B så gäller att U |= A  B.

Svar Om U  {A} |= B så innebär det att för alla tolkningar v så att v(U  {A} ) = T så är v(B) = T Om v(U  {A} ) = T så är v(U) = T och v(A) = T. Enda tillfället då U |= A  B inte gäller är om det finns en tolkning v så att v(U) =v(A) =T och v(B) = F. Men om v(U) =v(A) =T så är v(U  {A} ) = T och då vet vi att v(B) = T. Alltså gäller påståendet.

Uppgift 7 u Kom ihåg att om det står omm måste man bevisa ”åt båda hållen”. u Svar –Antag att S' satisfierbar då finns en modell v så att v(C) = T för alla klausuler C i S'. Lägg till i tolkningen att v(l) = T. Då blir v(C) = T för alla klausuler C i mängden S- S'. –Om S satisfierbar så är S' satisfierbar eftersom S' är en delmängd av S.

Uppgift 8 Ett exempel på lösning är: % everynth(N, L1, L2) % Tar var N:te element ur listan L1 % och returnerar det i L2... everynth(_, [], []). everynth(N, Xs, Ys) :- everynth(N, 1, Xs, Ys).

everynth(_, _, [], []). everynth(N, M, [X | Xs], [X | Ys]):- A is M mod N, A == 0, M1 is M + 1, everynth(N, M1, Xs, Ys). everynth(N, M, [X |Xs], Ys) :- A is M mod N, A \== 0, M1 is M + 1, everynth(N, M1, Xs, Ys).

Vilka lösningar ger ditt program på frågan everynth(3, X, [1, 2]) ? X = [_A,_B,1,_C,_D,2] ? ; X = [_A,_B,1,_C,_D,2,_E] ? ; X = [_A,_B,1,_C,_D,2,_E,_F] ? ; No Där _A till _F är namn på anonyma variabler

Uppgift 9 u Läs uppgiften noga, kan finnas flera frågor i en fråga. u Kortfattade svar: a) En algoritm är en beslutsprocedur om den terminerar och ger svaret 'yes' om formeln A tillhör U och 'no' om den ej tillhör U. b) Negera formeln och om den är osatisfierbar så är den falsk i alla tolkningar. Om v(  A) = F i alla tolkningar så är v(A) = T i alla tolkningar dvs A är valid.

Uppgift 9 c) Om X förekommer flera gånger i listan kommer programmet att lyckas flera gånger. Detta kan undvikas antingen genom att skriva om programmet member(X, [X |Xs]). member(X, [Y|Xs]) :- X \== Y, member(X, Xs). eller genom att lägga till ett rött cut member(X, [X |Xs]):- !. member(X, [Y|Xs]) :- member(X, Xs). Det går att argumentera för båda varianterna. Huvudargument alt.1 är att det fortfarande är ett logiskt korrekt program. Den andra varianten är mer effektiv med avseende på exekveringshastigheten.

Uppgift 10 u Det finns tre typer av studenter: vanliga, exjobbare och forskarstudenter.  x(fostud (x)  vanlig(x)  exjobbare(x)) u Studenter är inte forskarstudenter om det finns studenter som läst mer än dem.  x  y(läst_mer(x, y)   fostud (y)) u De studenter som läst mer än andra studenter är inte vanliga studenter.  x  y(läst_mer(x, y)   vanlig(x))

Uppgift 10 u Studenter är inte exjobbare om det finns andra studenter som läst mer och som är exjobbare.  x  y(läst_mer(x, y)  exjobbare(x)   exjobbare(y)) u Jane har läst mer än Jill som i sin tur har läst mer än Mary läst_mer(Jane,Jill) läst_mer(Jill,Mary) u Sedan vet vi också att egenskapen ”läst mer” är transitiv, dvs att följande förhållande gäller:  x  y  z(läst_mer(x,y)  läst_mer(y,z)  läst_mer(x,z))

b) 1.  läst_mer(x1,y1)   fostud (y1) 2.  läst_mer(x2,y2)   vanlig(x2) 3. fostud (x3)  vanlig(x3)  exjobbare(x3) 4.  läst_mer(x4,y4)   läst_mer(y4,z4)  läst_mer(x4,z4) 5.  läst_mer(x5,y5)   exjobbare(x5)   exjobbare(y5) 6. läst_mer(Jane,Jill) 7. läst_mer(Jill,Mary)

c) 8. exjobbare(Jane) 9.  läst_mer(Jane,y5)   exjobbare(y5){x5  Jane} 5 o  exjobbare(Jill){y5  Jill} 6 o fostud (Jill)  vanlig(Jill){x3  Jill} 3 o  läst_mer(x1,Jill)  vanlig(Jill) {y1  Jill} 1 o  läst_mer(x1,Jill)   läst_mer(Jill, y2){x2  Jill} 2 o  läst_mer(Jill, y2){x1  Jane} 6 o []{y2  Mary} 7 o 14