PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007
|
|
- Kristin Sundberg
- för 7 år sedan
- Visningar:
Transkript
1 PROBLEMLÖSNING! Problem & lösning! Sökträd, sökgraf! Automatisk problemlösning! Heuristik! Heuristisk sökning! GPS! Mål medel analys! Problemlösning i programmering 1 Problem (snäv mening)! Ett problem är en situation där det finns " ett väldefinierat mål, väldefinierade kriterier på ett sökt tillstånd " en väldefinierad utgångspunkt, ett starttillstånd " en välavgränsad repertoar av väldefinierade operationer för att transformera tillstånd! En lösning är " en kombination av operationer som transformerar starttillståndet till ett måltillstånd! I vissa fall duger en lösning vilken som helst, i andra fall söks en optimal lösning! Notera: dessa definitioner av problem och lösning svarar inte alltid så bra mot praktisk problemlösning där man inte alltid har så fullständig information att utgå från 2
2 Sökrum, sökträd! Exempel på ett problem av typen mät upp önskad volym med hjälp av ograderade kärl med känd volym! Sökträd " noder representerar tillstånd " bågar representerar hur olika operationer leder till nya tillstånd! Lite svårare uppgift av samma typ: mät upp precis 2 dl 3 Träd och grafer 4! Träd " Terminologi: A är roten i trädet. E och F är barn(noder) till B. B är förälder till E och F. E och F är syskon. E, F, G och H är på samma nivå. I, F, C, J, N, L och M är löv (eller terminalnoder). " Inga cykler får förekomma! När man representerar sökrummet som ett träd kommer samma tillstånd att representeras i flera olika noder i sökträdet! Alternativt kan man representera sökrummet med en graf i stället! (Riktad) Graf " Bågar kan gå från en nod till vilken annan nod som helst " Cykler är alltså tillåtna! Med en sökgraf kan man ha precis en nod för varje tillstånd! Notera: i båda fallen expanderar man trädet/grafen vartefter sökningen fortskrider
3 Automatisk problemlösning! En möjlig generell ansats: " uttömmande genomsökning exhaustive search av hela sökrummet " kan göras med en traverseringsalgoritm som kallas bredden-först: sök igenom trädet från roten och nedåt, nivå för nivå! Terminologi: traversering av ett dataobjekt innebär en systematisk genomgång av alla dess element! Men sökrummet kan vara så stort att uttömmande sökning blir en ohanterlig uppgift " om man kan göra M olika operationer i varje tillstånd så får varje ny nivå i sökträdet M gånger fler noder, dvs. antalet noder växer exponentiellt med djupet! antal noder på nivå n (om vi startar med n = 0 för roten) blir M n! Ex: för schack innehåller sökrummet approximativt ( ) noder jfr. med antalet protoner i universum som enligt en uppskattning är omkring 10 80! I det läget blir det intressant att hitta smarta strategier för att välja vilka delar av sökrummet man ska koncentrera sig på! En sådan strategi kallas (sök)heuristik 5 Heuristik heuristik, (av grek. heurískein finna ) 1. metod för att upptäcka eller bilda ny relevant kunskap 2. läran om sådana metoder. En heuristik används för att göra plausibla antaganden, för att välja eller generera hypoteser, men innebär i sig inte ett rättfärdigande eller en förklaring av dessa hypoteser. Ett exempel: Om man ute på havet ser fåglar, kan man anta att land är i närheten. Denna heuristik föreslår en hypotes vars giltighet sedan kan prövas, t.ex. genom att avsöka horisonten med kikare, eller genom en kalkyl med hjälp av sjökort och navigeringsutrustning. I allmänhet är en heuristik oprecis (hur nära och i vilken riktning ligger land?), osäker (fåglar befinner sig inte alltid i närheten av land), och icke-deduktiv, d.v.s. heuristiken utgör inte en logisk argumentation för sambandet mellan fåglar och land. Heuristiken bör ge relevanta hypoteser. Inom ett formellt kunskapsområde, som t.ex. plangeometri, kan man härleda hur många sanna satser som helst genom en mekanisk applikation av axiomen. Men av geometrins oändligt många sanna satser är ytterst få matematiskt intressanta. Att sålla ut dem kräver mer arbete än att med heuristik aktivt bilda intressanta hypoteser. Heuristik behövs också i själva beviskonstruktionen för att föreslå plausibla bevisvägar vars framkomlighet sedan kan prövas i faktiska bevisförsök. Heuristik är en viktig komponent i många datorprogram som utvecklats eller inspirerats av forskningen inom artificiell intelligens. I ett schackspelande program, t.ex., används heuristik för att peka ut de drag som mest plausibelt kan antas leda till vinst; i ett program som löser matematiska integraler, används heuristik för att välja lovande integrationsmetoder. 6
4 Heuristisk sökning! I mäta-volym-problemet skulle man kunna tänka sig flera enkla heuristiker " prioritera expansion av noder där summan av volymerna är lika med målvolymen " strunta i att expandera noder där båda kärlen är tomma "?! Ett generellt sätt att förbättra bredden-först sökning med heuristik är att försöka finna en lätt beräknad (heuristisk) funktion h(n) som uppskattar hur långt från målet man är i en given nod n (dvs. givet information om tillståndet som n representerar) " ju bättre uppskattning, desto effektivare heuristik " den kan användas så att man hela tiden väljer att expandera den nod i sökfronten som har lägst h-värde 7 General Problem Solver (GPS)! Newell, Shaw & Simon, slutet av 1950-talet! Avsikten är just att GPS ska vara en generell problemlösare " för att lösa problem inom ett speciellt område behöver man bara förse den med de allmänna regler och samband som gäller för området, de specifika operationer som får användas, starttillstånd och målvillkor! Ex: om det gäller schack, får man ge GPS reglerna som gäller för schack! Ex: om det gäller satslogik, får man ge GPS axiom och inferensregler för satslogik! Den heuristik som används i GPS är mål-medel analys - means-ends analysis: " analysera vad skillnaden är mellan aktuellt tillstånd och måltillstånd " relatera dessa skillnader till de möjliga operationer som står till buds " välj operationer som har förutsättningar att kunna reducera just dessa skillnader! Allmänt används återspårning backtracking när man misslyckas, gå tillbaka till närmast tidigare val av operation där man ännu inte försökt alla möjligheter och pröva med nästa alternativ 8
5 GPS tillämpad på satslogik som exempel! Exempel på problem givet L1: R ( P Q) härled L0 : (Q P) R! Härledningsregler (urval) R1 a b b a --- R5 a b ( a b) R6 a b a b --- R8 a b a ---! Den sökta lösningen är en specifik sekvens av härledningsregler som steg för steg omvandlar det satslogiska uttrycket R ( P Q) till uttrycket (Q P) R 9 Satslogik Satslogik är en logik med vilken man beskriver och analyserar logiska relationer och härledningar i termer av satskonnektiven (betecknas även med & eller, utläses och), (utläses eller), (även eller ~, utläses icke), och (även, utläses om så eller implicerar). Variabler såsom p, q, r, står för påståendesatser, exempelvis Pelle kom med tåget, Det kommer att regna i morgon, Osten är god, Ett plus ett är tre. Konnektivens betydelse kan definieras så här: p q är sant precis då både p och q är sanna p q är sant precis då minst en av p och q är sanna p är sant precis då p är falskt p q är sant utom i det fall då p är sant medan q är falskt Ett enkelt exempel på en giltig slutledning i satslogik är följande resonemang (kallas Modus Ponens): p q p Alltså q Det vill säga, givet de två premisserna om p så q, och p, drar vi slutsatsen att q. Detta är en giltig slutledning: om premisserna är sanna så är slutsatsen sann, alldeles oavsett vad p och q står för. Om till exempel p = Svalorna flyger lågt, och q = Det regnar i morgon så ger det följande instans av den generella slutledningen: Om svalorna flyger lågt så regnar det i morgon Svalorna flyger lågt Alltså kommer det att regna i morgon 10
6 GPS huvudloop GPS måltyper Mål medel analys i logikexemplet Några av de skillnader som beräknas N en variabel förekommer olika många gånger i de två uttrycken, t.ex. P Q skiljer sig med +N från P Q Q, eftersom det första uttrycket behöver ett Q till C det finns en skillnad i förekomsten av något binärt konnektiv, t.ex. P Q jämfört med P Q P det finns en skillnad i placering mellan uttryckens delar, exempelvis P (Q R) jämfört med (Q R) P R1 R5 R6 R8 R1 R5 R6 R8 ²N ²C x x ²P x differens-operator-tabell (partiell) a b b a a b ( a b) a b a b a b a 11 GPS huvudloop, måltyper 12
7 GPS måltyper 13 GPS i arbete R1 R5 R6 R8 givet L1: R ( P Q) härled L0: (Q P) R ²N mål 1: transformera L1 till L0 matchning ger positionsdifferens (² P) ²C x x mål 2: reducera ² P mellan L1 och L0 ²P x först funna operator är R1 mål 3: applicera R1 på L1 mål 4: transformera L1 till C(R1) matchning lyckas med a = R och b = P Q producera nytt objekt: L2: ( P Q) R mål 5: transformera L2 till L0 matchning ger konnektivdifferens (²C ) i vänster deluttryck mål 6: reducera ²C mellan vänster del av L2 och vänster del av L0 först funna operator är R5 mål 7: applicera R5 på vänster del av L2 mål 8: transformera vänster del av L2 till C(R5) matchning ger konnektivdifferens (² C) i vänster deluttryck mål 9: reducera ²C mellan vänster del av L2 och C(R5) mål förkastat: differensen inte lättare än differensen i mål 6 andra funna operator är R6 mål 10: applicera R6 på vänster del av L2 mål 11: transformera vänster del av L2 till C(R6) matchning lyckas med a = P och b = Q producera nytt objekt: L3: (P Q) R mål 12: transformera L3 till L0 matchning ger positionsdifferens (² P) i vänster deluttryck mål 13: reducera ² P mellan vänster del av L3 och vänster del av L0 först funna operator är R1 mål 14: applicera R1 på vänster del av L3 mål 15: transformera vänster del av L3 till C(R1) matchning lyckas med a = P och b = Q producera nytt objekt: L4: (Q P) R mål 16: transformera L4 till L0 matchning ger att L4 är identisk med L0. QED Problemlösning i programmering! Om programmering är problemlösning är förstås problemlösning det viktigaste vid programmering! Det finns mycket riktigt också en ganska stor repertoar av problemlösningstrick som tillämpas av programmerare! En del av de mest grundläggande metoderna återspeglas direkt i algoritmer och programspråk! Några exempel:! Iteration " upprepa en operation om och om igen till dess att problemet är löst! Ex: spika in en spik, gå till affären! Rekursion " försök formulera en lösning av problemet i termer av mindre stora problem av samma typ, dvs. som om man redan hade löst problemet för mindre stora uppgifter än det aktuella problemet! Ex: samsortering - merge sort! Dynamisk programmering " lös systematiskt problem av växande storlek ända upp till det aktuella problemets! Ex: Pascals triangel 14
7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning
Läs merProblemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning
Problemlösning Problemlösning Vad är problemlösning Hur ser ett problem ut? Programmering = Problemlösning Omformulering av ett problem kan i slutändan omsättas i ett program. Ett program består av en,
Läs merSemantik och pragmatik (Serie 3)
Semantik och pragmatik (Serie 3) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 37 Logik: språk tanke (Saeed kapitel 4.) Satser uttrycker (ofta) tankar. Uttrycksrikedom
Läs mer7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar
Läs merFilosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19
Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori
Läs merFöreläsning 5. Deduktion
Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske
Läs merD. 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.
Logik Vid alla matematiskt resonemang måste man vara säker på att man verkligen menar det man skriver ner på sitt papper. Därför måste man besinna hur man egentligen tänker. Den vetenskap, som sysslar
Läs merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 3: Bevissystem, Hilbertsystem Henrik Björklund Umeå universitet 8. september, 2014 Bevissystem och Hilbertsystem Teorier och deduktionsproblemet Axiomscheman
Läs merDD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion
DD1350 Logik för dataloger Fö 2 Satslogik och Naturlig deduktion 1 Satslogik En sats(eller utsaga)är ett påstående som kan vara sant eller falskt. I satslogik(eng. propositionallogic) representeras sådana
Läs merSemantik och pragmatik
Semantik och pragmatik OH-serie 4 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Om barnet har svårt att andas eller har ont i bröstet
Läs merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merÖvningshäfte 2: Induktion och rekursion
GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,
Läs merde var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Läs merLektion 8: Konstruktion av semantiska tablåer för PTL-formler
Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande
Läs merDD1350 Logik för dataloger. Vad är logik?
DD1350 Logik för dataloger Fö 1 - Introduktion Vad är logik? Vetenskapen som studerar hur man bör resoneraoch dra slutsatser utifrån givna påståenden (=utsagor, satser). 1 Aristoteles (384-322 f.kr) Logik
Läs mer8. Naturlig härledning och predikatlogik
Objektorienterad modellering och diskreta strukturer 8. Naturlig härledning och predikatlogik Sven Gestegård Robertz Datavetenskap, LTH 2013 Outline 1 Inledning 2 Inferensregler 3 Predikatlogik 8. Naturlig
Läs merLinjärt minne. Sammanhängande minne är ej flexibelt. Effektivt
Binära träd (forts) Ett binärt träd kan lagras i ett enda sammanhängande minne Roten har index 1 Vänster barn till nod i har index 2*i Höger barn till nod i har index 2*i + 1 Föräldern till nod i har index
Läs merInlämningsuppgiften. Föreläsning 9 Innehåll. Träd. Datastrukturer i kursen
Föreläsning 9 Innehåll Inlämningsuppgiften De föreläsningar som inlämningsuppgiften bygger på är nu klara. Det är alltså dags att börja arbeta med inlämningsuppgiften. Träd, speciellt binära träd egenskaper
Läs merAntag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen
1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk
Läs merEtt generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn
Träd allmänt Träd allmänt Ett generellt träd är Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn där t1,..., tn i sin tur är träd och kallas subträd, vars rotnoder kallas
Läs merTräd Hierarkiska strukturer
Träd Hierarkiska strukturer a 1 a 2 a 3 a 4 a 2 a 5 a 6 a 7 Hierarki: Korta vägar till många Hur korta? Linjär lista: n 2 Träd: Antal element på avståndet m: g m a 1 a 3 a 8 a 12 m = log g n a 9 a 10 Väglängden
Läs mer9. Predikatlogik och mängdlära
Objektorienterad modellering och diskreta strukturer 9. Predikatlogik och mängdlära Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik naturlig härledning predikatlogik
Läs merLogisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.
UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1
Läs merSanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.
MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen
Läs mer2 Matematisk grammatik
MATEMATISK GRAMMATIK Matematisk grammatik.1 Skriva matematik Matematisk grammatik, minst lika kul som det låter, och hur man skriver matematik är nästan lika viktigt som vad man skriver. En grammatisk
Läs merp /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik
DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig
Läs merTrädstrukturer och grafer
Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer
Läs merOm semantisk följd och bevis
Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om semantisk följd och bevis Logik handlar bla om studiet av korrekta slutledningar, dvs frågan om när det är riktigt
Läs merTentamen TEN1 HI
Tentamen TEN1 HI1029 2015-03-17 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merFilosofisk logik Kapitel 19. Robin Stenwall Lunds universitet
Filosofisk logik Kapitel 19 Robin Stenwall Lunds universitet Dagens upplägg Gödels fullständighetsteorem Sundhet och fullständighet Fullständighetsbeviset Vittneskonstanter Henkinteorin Eliminationsteoremet
Läs merIntroduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läs merDiskret matematik: Övningstentamen 4
Diskret matematik: Övningstentamen 22. Beskriv alla relationer, som är såväl ekvivalensrelationer som partiella ordningar. Är någon välbekant relation sådan? 23. Ange alla heltalslösningar till ekvationen
Läs merDD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik
DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},
Läs merInformationsteknologi Tom Smedsaas 19 augusti 2016
Informationsteknologi Tom Smedsaas 19 augusti 016 VL-träd Definition Ett VL-träd är ett binärt sökträd där det för varje nod gäller att skillnaden i höjd mellan nodens vänster och höger subträd är högst
Läs merGrundläggande logik och modellteori (5DV102)
Tentamen 2013-10-31 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 11 Maximalt antal poäng 30 Krav för 3 i betyg 14 poäng Krav för 4 i betyg 19 poäng,
Läs merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merGrundläggande logik och modellteori (5DV102)
Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst
Läs merKunskap. Evidens och argument. Kunskap. Goda skäl. Goda skäl. Två typer av argument a) deduktiva. b) induktiva
Kunskap Evidens och argument Sören Häggqvist Stockholms universitet Den s k klassiska definitionen: Kunskap är sann, välgrundad tro. Ekvivalent: S vet att p om och endast om p S tror att p S har goda skäl
Läs mer1 Minkostnadsflödesproblem i nätverk
Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa
Läs merLite om bevis i matematiken
Matematik, KTH Bengt Ek februari 2013 Material till kursen SF1662, Diskret matematik för CL1: Lite om bevis i matematiken Inledning Bevis är centrala i all matematik Utan (exakta definitioner och) bevis
Läs merOptimeringslära 2013-11-01 Kaj Holmberg
Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 23-- Kaj Holmberg Uppgift a: Problemet skrivet i standardform är: Lösningar min
Läs merLogik. Boolesk algebra. Logik. Operationer. Boolesk algebra
Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra
Läs merFöreläsning 9 Innehåll
Föreläsning 9 Innehåll Träd, speciellt binära träd egenskaper användningsområden implementering Datavetenskap (LTH) Föreläsning 9 HT 2017 1 / 31 Inlämningsuppgiften De föreläsningar som inlämningsuppgiften
Läs mer1 Duala problem vid linjär optimering
Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi
Läs merGenerellt kan vi säga att för att vi ska värdera ett argument som bra bör det uppfylla åtminstone följande kriterier:
FTEA12:2 Föreläsning 3 Att värdera en argumentation I: Vad vi hittills har gjort: beaktat argumentet ur ett mer formellt perspektiv. Vi har funnit att ett argument kan vara deduktivt eller induktivt, att
Läs merDatastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande
Läs merPrimitivt rekursiva funktioner och den aritmetiska hierarkin
Primitivt rekursiva funktioner och den aritmetiska hierarkin Rasmus Blanck 0 Inledning En rad frågor inom logiken, matematiken och datavetenskapen relaterar till begreppet beräkningsbarhet. En del i kursen
Läs merSemantik och pragmatik (Serie 4)
Semantik och pragmatik (Serie 4) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 30 Så här långt (satslogik) Konjunktion (p q): att två enklare satser båda är uppfyllda.
Läs merFöreläsningar. Gruppövning, grupp A: Måndag 26/ sal 318 Gruppövning, grupp B: Måndag 26/ sal 318
Föreläsningar 1. Onsdag 14/11 13-15 sal 203 2. Torsdag 15/11 13-15 sal 203 3. Måndag 19/11 13-15 sal 203 4. Tisdag 20/11 13-15 sal 203 5. Onsdag 21/11 13-15 sal 203 6. Torsdag 22/11 13-15 sal 203 Gruppövning,
Läs mer4. Moralisk realism och Naturalism
4. Moralisk realism och Naturalism Eftersom CR accepterar Harmans princip kan de bara bemöta hans argument om de kan visa att moraliska egenskaper visst förklarar vissa av våra observationer. CR delar
Läs merFöreläsning 5: Grafer Del 1
2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första
Läs merANDREAS REJBRAND NV1A Matematik Linjära ekvationssystem
ANDREAS REJBRAND NVA 004-04-05 Matematik http://www.rejbrand.se Linjära ekvationssystem Innehållsförteckning LINJÄRA EKVATIONSSYSTEM... INNEHÅLLSFÖRTECKNING... DEFINITION OCH LÖSNINGSMETODER... 3 Algebraiska
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merFormell logik Föreläsning 1. Robin Stenwall
Formell logik Föreläsning 1 Robin Stenwall Betygskriterier Mål Godkänt Väl godkänt Redogöra för grundprinciperna för härledning och översättning i sats- och predikatlogik. Utföra grundläggande översättningar
Läs merFTEA12:2 Filosofisk metod. Att värdera argumentation I
FTEA12:2 Filosofisk metod Att värdera argumentation I Dagens upplägg 1. Några generella saker att tänka på vid utvärdering av argument. 2. Grundläggande språkfilosofi. 3. Specifika problem vid utvärdering:
Läs merViktiga frågor att ställa när ett argument ska analyseras och sedan värderas:
FTEA12:2 Föreläsning 2 Grundläggande argumentationsanalys II Repetition: Vid förra tillfället började vi se närmre på vad som utmärker filosofisk argumentationsanalys. Vi tittade närmre på ett arguments
Läs merFöreläsning 8: Intro till Komplexitetsteori
Föreläsning 8: Intro till Komplexitetsteori Formalisering av rimlig tid En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1
Läs merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)
Läs merPRÖVNINGSANVISNINGAR
PRÖVNINGSANVISNINGAR Prövning i Matematik D Kurskod Ma 104 Gymnasiepoäng 100 Läromedel Prov Muntligt prov Inlämningsuppgift Kontakt med examinator Övrigt Valfri aktuell lärobok för kurs Matematik D t.ex.
Läs merUpplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
Läs merEulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.
Eulercykel Definition En Eulercykel är en cykel som använder varje båge exakt en gång. Definition En nods valens är antalet bågar som ansluter till noden. Kinesiska brevbärarproblemet En brevbärartur är
Läs merVetenskaplig metodik
Vetenskaplig metodik Vilka metoder används? Vi kan dela in metoder i flera grupper: Deduktiva metoder Metoder för hantering av experiment Metoder för publicering och liknande. Från föreläsning 3 Föreläsningen
Läs merFormell logik Föreläsning 1. Robin Stenwall
Formell logik Föreläsning 1 Robin Stenwall Vad ingår i kursen? Kapitel 1-14 i kursboken (Barwise och Etchemendy) De avsnitt i kapitel 1-14 som är markerade med optional läses dock kursivt och kommer inte
Läs merDatastrukturer i kursen. Föreläsning 8 Innehåll. Träd rekursiv definition. Träd
Föreläsning 8 Innehåll Datastrukturer i kursen Träd, speciellt binära träd egenskaper användningsområden implementering Undervisningsmoment: föreläsning 8, övningsuppgifter 8, lab 4 Avsnitt i läroboken:
Läs merVarför är logik viktig för datavetare?
Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.
Läs merTommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3
Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning
Läs merMalmö högskola 2012/2013 Teknik och samhälle
Laboration 6 Till pseudokoduppgifterna och aktivitetsdiagrammen ges inga direkta lösningar då dessa går att göra på så väldigt många olika sätt. Pseudokod Skriv pseudokod för följande problem Åka tåg Du
Läs merTentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl
1 Matematiska Institutionen KTH Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merFöreläsning 6. pseudokod problemlösning logik algoritmer
Föreläsning 6 pseudokod problemlösning logik algoritmer Inledning Logik är läran om korrekt resonemang att kunna dra korrekta slutledningar utifrån det man vet. Vi gör detta ständigt utan att tänka på
Läs merSlide 1. Slide 2. Slide 3. Kunskapsteori. Propositionell kunskap. Vilka problem skall kunskapsteorin lösa?
Slide 1 Kunskapsteori Två problem: 1) Skepticism 2) Gettiers motexempel Slide 2 Vilka problem skall kunskapsteorin lösa? Det analytiska problemet: hur skiljer sig kunskap från tro och åsikter? Avgränsningsproblemet:
Läs merSyntaktisk parsning (Jurafsky & Martin kapitel 13)
Syntaktisk parsning (Jurafsky & Martin kapitel 13) Mats Wirén Institutionen för lingvistik Stockholms universitet mats.wiren@ling.su.se DH2418 Språkteknologi DA3010 Språkteknologi för datorlingvister Föreläsning
Läs merTentamen i TDDC75 Diskreta strukturer , lösningsförslag
Tentamen i TDDC75 Diskreta strukturer 2018-10-23, lösningsförslag 1 1. (a) Sanningstabell för uttrycken p q r p q p r r q r p q 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1
Läs merSTRIPS. En planerares uppbyggnad. Emma Torensjö. Artificiell Intelligens II. Linköpings Universitet HT Emma Torensjö.
STRIPS En planerares uppbyggnad Artificiell Intelligens II Linköpings Universitet HT 2012 Innehållsförteckning Innehåll Innehållsförteckning... 3 Inledning... 4 1. Introduktion till STRIPS... 4 2. Operatorbeskrivning
Läs merSpeciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler
Heltalsprogrammering Speciell användning av heltalsvariabler max z = då c j x j j= a ij x j b i j= x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland
Läs merFöreläsning 13. Dynamisk programmering
Föreläsning 13 Dynamisk programmering Föreläsning 13 Dynamisk programmering Fibonacci Myntväxling Floyd-Warshall Kappsäck Handelsresandeproblemet Uppgifter Dynamisk programmering Dynamisk programmering
Läs merLogik och modaliteter
Modallogik Introduktionsföreläsning HT 2015 Formalia http://gul.gu.se/public/courseid/70391/lang-sv/publicpage.do Förkunskaper etc. Logik: vetenskapen som studerar argument med avseende på (formell) giltighet.
Läs merFöreläsning 13. Träd
Föreläsning 13 Träd Träd Ett träd är en datastruktur som tillåter oss att modellera sådant som vi inte kan modellera med linjära datastrukturer. Ett datavetenskapligt träd består av noder med pilar emellan.
Läs merDagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk
1 Dagens föreläsning Programmering i Lisp Fö 7 Kopplingen funktionella programmering och diskret matematik. Jämför vad ni hittills gjort i denna kurs och i den diskreta matematiken, med referenser in i
Läs merLösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Läs merTalmängder. Målet med första föreläsningen:
Moment 1..1, 1.., 1..4, 1..5, 1.. 1..5, 1..6 Viktiga exempel 1.7, 1.8, 1.8,1.19,1. Handräkning 1.7, 1.9, 1.19, 1.4, 1.9 b,e 1.0 a,b Datorräkning 1.6-1.1 Målet med första föreläsningen: 1 En första kontakt
Läs merTENTAMEN: Algoritmer och datastrukturer. Läs detta!
1 (6) TENTAMEN: Algoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att vi
Läs merA B C D E F A B C D E F (3) Svar: Tabellen ger grafen:
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.
Läs merRekursiva algoritmer sortering sökning mönstermatchning
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 6-7 Rekursiva strukturer rekursiva definitioner rekursiva funktioner rekursiva bevis: induktion - rekursion strukturell
Läs merVardagssituationer och algebraiska formler
Modul: Algebra Del 7: Kommunikation i algebraklassrummet Vardagssituationer och algebraiska formler Cecilia Kilhamn, Göteborgs Universitet och Jörgen Fors, Linnéuniversitetet En viktig del av algebran
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 12 Anton Grensjö grensjo@csc.kth.se 10 december 2015 Anton Grensjö ADK Övning 12 10 december 2015 1 / 19 Idag Idag Komplexitetsklasser Blandade uppgifter
Läs merFÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS
729G06 Logik FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 160309 Idag Sammanfattning*/uppsamling 2 Mer problemöversikt (och lite definitioner) Inte ersättning för andra föreläsningar! 3 Vad är enlogik? Syntax
Läs merResurscentrums matematikleksaker
Resurscentrums matematikleksaker Aktiviteter för barn och vuxna Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den snåle grosshandlarens våg 6 4 Tornen
Läs merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merHur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap
Hur man programmerar TDDC66 Datorsystem och programmering Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2014-09-05 Översikt Problemlösning: Hur ska man tänka? Datatyper Listor (forsätter
Läs merArtificiell Intelligens
Omtentamen Artificiell Intelligens Datum: 2014-02-20 Tid: 14.00 18.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Anders Gidenstam Redovisas inom tre veckor Inga G 8p, VG 12p, Max 16p Notera: Skriv läsbart!
Läs merKritiskt tänkande HTXF04:3 FTEB05. Induktiv argumentation
Kritiskt tänkande HTXF04:3 FTEB05 Induktiv argumentation En svaghet med deduktiv argumentation Vi har sagt att de bästa argumenten är de sunda argumenten, dvs de logiskt giltiga deduktiva argument med
Läs merArtificiell intelligens
2013-08-13 Introduktion Artificiell intelligens Vad är AI? Olika mål Intelligenta agenter Områden inom AI Arne Jönsson HCS/IA Vad är AI? Intelligens: Förmågan till tänkande och analys (Svenska ORboken)
Läs merIdag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik
Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Först några definitioner: Alfabet = en ändlig mängd av tecken. Ex. {0, 1}, {a,b}, {a, b,..., ö} Betecknas ofta med symbolen Σ Sträng =
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer
Läs merFörslag den 25 september Matematik
Matematik Matematiken har en flertusenårig historia med bidrag från många kulturer. Den utvecklas såväl ur praktiska behov som ur människans nyfikenhet och lust att utforska matematiken som sådan. Matematisk
Läs merLö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).
Lösningar för tenta i TMV200 Diskret matematik 208-0-2 kl. 4:00 8:00. Ja, det gäller, vilket kan visas på flera sätt (se nedan). Alternativ (induktionsbevis): Vi inför predikatet P (n) : 2 + 2 3 + + n(n
Läs merDagens föreläsning Programmering i Lisp Fö 5
Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper
Läs mer