Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH
|
|
- Barbro Nyström
- för 5 år sedan
- Visningar:
Transkript
1 Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014
2 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder och språk reguljära uttryck och grammatiker relationer och funktioner Vi kommer att tala om enkla, svåra och omöjliga problem en datormodell Turingmaskinen 13. Problem 2/37
3 Kardinalitet för oändliga mängder Uppräknelig mängd Definition En mängd M är uppräknelig om det finns en funktion f N M sådan att ran (f) = M. Det vill säga man kan räkna upp elementen i M så att varje element får ett unikt nummer ur N. Omöjliga problem 13. Problem 3/37
4 Aktivitet Visa att mängden av de hela talen, Z, är uppräknelig genom att konstruera en funktion i N Z som har hela Z som kodomän. f(n) = { n/2 om n är jämnt (n + 1)/2 om n är udda D v s f avbildar de naturliga talen på följden (0, 1, 1, 2, 2,...) Notera att N = Z trots att N Z, vilket är möjligt då de är oändliga mängder Omöjliga problem 13. Problem 4/37
5 Icke-uppräkneliga mängder Sats Det finns oändliga mängder som inte är uppräkneliga Omöjliga problem 13. Problem 5/37
6 Cantors diagonalbevis (I) (Cantor, 1891) Sats Låt T vara mängden av alla oändliga binära följder För varje uppräkning s 1, s 2,..., s n,... ur T finns en följd s T som inte ingår i uppräkningen. Bevis. Givet en uppräkning s 1, s 2,..., s n,... ur T, konstruera en följd s så att symbol n är komplementet till symbol n i s n. Då är i. s s i eftersom s och s i skiljer sig i element i. Omöjliga problem 13. Problem 6/37
7 Exempel: s 0 = (0, 0, 0, 0, 0, 0, 0,...) s 1 = (1, 1, 1, 1, 1, 1, 1,...) s 2 = (0, 1, 0, 1, 0, 1, 0...) s 4 = (1, 0, 1, 0, 1, 0, 1...) s 4 = (1, 1, 0, 0, 1, 1, 0...) s 5 = (0, 0, 1, 1, 0, 0, 1...) s 6 = (0, 0, 1, 1, 0, 1, 1...)... s = (1, 0, 1, 1, 0, 1, 0,...) Omöjliga problem 13. Problem 7/37
8 Cantors diagonalbevis (II) Sats Det finns oändliga mängder som inte är uppräkneliga. Bevis. Låt T vara mängden av alla oändliga binära strängar Antag att T är uppräknelig. Då kan alla dess element räknas upp: s 1, s 2,..., s n,... Men, enligt föregående sats, finns en sträng s som inte ingår i uppräkningen. Motsägelse. Alltså är T inte uppräknelig. Omöjliga problem 13. Problem 8/37
9 Beräkningsbara funktioner Går det att implementera alla funktioner i N N i Java? Hur många Java-metoder av typen BigInteger m(biginteger) finns det? Kommer mängden metoder att innehålla alla funktioner N N? Sats {f : N N} > {Java metoder} Bevis-skiss (jfr Cantors diagonalbevis). Låt f i (x) vara resultatet av metod nr i och g(x) = f x (x) + 1 Då är g(x) N N Men ingen av metoderna i uppräkningen kommer att beräkna g(x) eftersom varje metod kommer att ge ett annat värde än g(x) (åtminstone) för parametern i. Omöjliga problem 13. Problem 9/37
10 Uppräknelighet Mängden av Java-metoder är uppräknelig. Mängden av funktioner i N N är inte uppräknelig. Omöjliga problem 13. Problem 10/37
11 Hur många funktioner N N finns det? En annan variant på diagonalbeviset {f : N {0, 1} } {f : N N} Definiera, för varje delmängd X av N funktionen f(x) = { 1 om x X 0 om x / X Mängden delmängder av N är P(N). Alltså är {f : N {0, 1}} = P(N) Men P(N) > N och därmed är mängden funktioner N N ej uppräknelig. Omöjliga problem 13. Problem 11/37
12 Uppräknelighet Mängden av Java-metoder är uppräknelig. Mängden av funktioner i N N är inte uppräknelig. Det går alltså att konstruera funktioner N N som det inte går att skriva ett program för Finns det några intressanta problem som inte går att lösa med ett program? Omöjliga problem 13. Problem 12/37
13 Terminerar metoden för alla värden på x? Collatz, 3x + 1 public int f(int x) { int count = 0; while (x>1) { count++; if (x%2==0) { x = x/2; } else { x = 3*x+1; } } return count; } Exempel: följden som börjar med x = 27 Man vet inte om metoden terminerar för alla x. Test har visat att den gör det för alla n Omöjliga problem 13. Problem 13/37
14 Haltproblemet Eng: The halting problem Givet en funktion och indata (parametrar) till denna, kommer funktionen att terminera? Omöjliga problem 13. Problem 14/37
15 Representation av en metod public class Method { private String name; private List<Parameter> parameters; private Type returntype; private Statement body; \\ omissions } Omöjliga problem 13. Problem 15/37
16 Haltproblemet Låt Method vara en klass som representerar en metod, och vars tostring-metod returnerar en källkoden till metoden. Antag att det går att implementera public boolean terminates(method method, String data) så att terminates returnerar true om method terminerar med data som parameter och false om den inte gör det. Omöjliga problem 13. Problem 16/37
17 Kommer följande metod att terminera? Låt Method testmethod vara representationen av följande program: public void loop(method method) { if (terminates(method, method.tostring()) { while(true) {}; } } Kommer anropet loop(testmethod) att terminera? Båda svaren leder till en motsägelse. Omöjliga problem 13. Problem 17/37
18 Två olösliga problem Det är inte möjligt, i det generella fallet, att skriva ett program som avgör om en kontextfri grammatik är entydig Exempel på (risk för) tvetydig grammatik: från tidigare föreläsning: aritmetiska uttryck från programspråk: if A then if B then X else Y bevisar att ett (godtyckligt) program är korrekt Omöjliga problem 13. Problem 18/37
19 Handelsresandepoblemet Antag att man vill planera resrutten för en handelsresande som skall besöka 30 företag så att resvägen blir så kort som möjligt. Som indata till problemet behöver man avstånden mellan alla par av företag, dvs en matris int distance[][] = new int[30][30]; Det enklaste sättet att lösa problemet är att testa alla möjliga rutter och välja den som är kortast. Antalet rutter är 30! = Så även om man kan testa en rutt på en nanosekund så kommer det att ta miljarder år. Datorn kommer säkert att sluta fungera långt tidigare. Svåra problem 13. Problem 19/37
20 Definition Ett beslutsproblem tillhör P om det finns ett polynom p(n) sådant att en Turingmaskin kan lösa problemet för givna indata på en tid som är mindre än p(n) där n är längden på indata. Svåra problem 13. Problem 20/37
21 Turing Alan Turing, matematik, logik, datavetenskap, kryptoanalys Turingmaskinen, datormodell Turingtest, avgör om ett program har intelligens Enigma, kryptoanalys Automatic Computing Engine, dator med program i minnet Svåra problem : Turingmaskiner 13. Problem 21/37
22 En Turing-maskin q i 1 q i q i+1 q i σ j (q, δ) state symbol next Alfabet Σ där L, R, $, / Σ Remsalfabet Σ T = {σ σ (Σ {$, })} Tillstånd Q = {s, h, q 0,..., q n } Operationer {δ δ {L, R} Σ T } $ σ Svåra problem : Turingmaskiner 13. Problem 22/37
23 Exempel En enkel Turingmaskin, E för erase, gör alla symboler till från markeringen $, där läs/skrivhuvudet startar, och fram till första. Vi antar att Σ = {0, 1}. Låt Q = {s, h, q 1, q 2 } och övergångsfunktionen T enligt tabellen: q σ T (q, σ) s $ (q 1, R) q 1 0 (q 2, ) q 1 1 (q 2, ) q 2 (q 1, R) q 1 (h, ) Tillståndsmaskin för turingmaskinen E: start s $/R q 1 / h /R 0/ 1/ q 2 Svåra problem : Turingmaskiner 13. Problem 23/37
24 Exempel En enkel Turingmaskin, med Σ = {x, y} och Q = {s, q 1, q 2, h}, som byter alla x mot y tills första, kan ha T q σ T (q, σ) s $ (q 1, R) q 1 x (q 2,y) q 1 y (q 2,y) q 2 y (q 1, R) q 1 (h, ) Svåra problem : Turingmaskiner 13. Problem 24/37
25 Ickedeterministisk Turingmaskin En ickedeterminstisk Turingmaskin kan i varje exekveringssteg välja mellan ett antal olika konfigurationer. Nästa tillstånd bestäms av en relation och inte en funktion. En sådan maskin säges lösa ett problem på tiden T om det finns någon exekvering som gör detta. Maskinen kan gissa rätt i varje val alternativt göra alla möjliga exekveringar parallellt. En kvantdator skulle vara bra att ha. Finns det sådana? Svåra problem : Turingmaskiner 13. Problem 25/37
26 NPC NP-kompletta problem är de svåraste problemen i NP. Om ett av dem kan lösas på polynomtid så är P=NP. Många kombinatoriska problem tillhör NPC. Givet en mängd av hela tal. Finns det någon icketom delmängd så att summan av alla element är 0. För mängden { 7, 3, 2, 5, 8} är svaret ja. Svåra problem : Klassen NP 13. Problem 26/37
27 Förslag till examensarbeten Skriv ett program som planerar leveranserna till varuhusen så att de totala transporterna blir så korta som möjligt. Skriv ett program som kontrollerar att programvaran i våra produkter är korrekt. Svåra problem : Klassen NP 13. Problem 27/37
28 Diskreta strukturer Förstå, konstruera och manipulera satslogiska uttryck predikatlogiska uttryck mängduttryck språk reguljära uttryck grammatiker relationer funktioner Sammanfattning och exempel från extentor 13. Problem 28/37
29 Diskreta strukturer Kunna utföra naturlig härledning substitution härledning med grammatik syntaxanalys Sammanfattning och exempel från extentor 13. Problem 29/37
30 Tentamen : 4a Det reguljära uttrycket 0 (10 + ) (1 ɛ) beskriver ett språk på alfabetet {0, 1}. Vilka av följande strängar tillhör språket? ɛ Svar: och ɛ Sammanfattning och exempel från extentor 13. Problem 30/37
31 Tentamen : 4b Ange alla strängar med längden 4 som tillhör det språk som generaras av grammatiken S ::= SS S ::= asa bsb ɛ Svar: aaaa aabb bbaa bbbb abba baab Sammanfattning och exempel från extentor 13. Problem 31/37
32 Tentamen : 5a Visa att {p q, q} p genom att komplettera följande härledning. p q q Svar: p q [p] [ E ] q q [ I ] p Sammanfattning och exempel från extentor 13. Problem 32/37
33 Tentamen : 5b Vi definierar två predikat på mängden av naturliga tal p(x, y) = q(x, y) = x = y 2 x är delbart med y Konstruera med hjälp av dessa ett predikatlogiskt uttryck som säger att ett godtyckligt tal är delbart med 4 om det är jämt och kvadraten på ett tal. Svar: x. p(x, 2) ( y. q(x, y)) p(x, 4) Sammanfattning och exempel från extentor 13. Problem 33/37
34 Tentamen : 5b f ρ = {(0, 1), (1, 1), (1, 2)} är en relation på {0, 1, 2}. Beräkna ρ 0, ρ 2 och ρ. Svar: ρ 0 = {(0, 0), (1, 1), (2, 2)} ρ 2 = {(0, 1), (0, 2), (1, 1), (1, 2)} ρ = {(0, 0), (1, 1), (2, 2), (0, 1), (0, 2), (1, 1), (1, 2)} Sammanfattning och exempel från extentor 13. Problem 34/37
35 Tentamen : 5a Låt F (x, y) betyda att x är far till y, M(x, y) att x är mor till y och E(x, y) att x och y är samma person. Konstruera ett predikat som är sant precis då x och y är syskon. Två personer är syskon om de har samma föräldrar men är olika personer. Syskon(x, y) = f. m. F (f, x) F (f, y) M(m, x) M(m, y) E(x, y) Sammanfattning och exempel från extentor 13. Problem 35/37
36 Tentamen : 5b Ge ett exempel på när e[x\e 1 ][y\e 2 ], där e, e 1 och e 2 är aritmetiska uttryck, inte är lika med e[y\e 2 ][x\e 1 ]. Till exempel: e = x = y e 1 e 2 = z Sammanfattning och exempel från extentor 13. Problem 36/37
37 Tack för mig Uppsamlingsheat för laborationer - Efter tentan (och omtentan), för godkända - Tid och former meddelas senare Lycka till på tentan. Frågor? Sammanfattning och exempel från extentor 13. Problem 37/37
9 Funktioner. Exempel. f(x) = x + 1 sqr(y) = y 2. x, om x < 0. abs(x) =
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 9 Funktioner I kursen i endimensionell analys definieras funktioner genom att man ger funktionen ett namn, talar
Läs mer10. Mängder och språk
Objektorienterad modellering och diskreta strukturer 10. Mängder och språk Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Rekaputilation Vi har talat om satslogik, predikatlogik och härledning
Läs mer12. Relationer och funktioner
Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Laboration 4 Syntaxanalys Grammatik för (vår delmängd
Läs mer12. Relationer och funktioner
Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Datavetenskap, LTH 2014 Laboration 4 Syntaxanalys Grammatik för (vår delmängd av) satslogiska uttryck
Läs merComputer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2
Computer projekttid Objektorienterad modellering och diskreta strukturer / design Inför tentamen Lennart Andersson Reviderad 2012 10 18 2012 2011 2012 timmar antal timmar 2 1 4 4 6 8 8 4 10 10 12 6 14
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 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 mer11. Reguljära uttryck och grammatiker
Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2015 Rekaputilation Vi har talat om satslogik och härledning predikatlogik
Läs merAlfabeten, strängar och språk. String
Alfabeten, strängar och språk Objektorienterad modellering och diskreta strukturer / design Språk och reguljära uttryck Ett alfabet är en ändlig icketom mängd vars element kallas symboler. Lennart Andersson
Läs mer7, 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 merGrammatik. BNF-grammatik
Grammatik Objektorienterad modellering och diskreta strukturer / design Grammatik Reguljära uttryck klarar inte av att beskriva mängden av aritmetiska uttryck. Lennart Andersson Reviderad 2010 10 07 2010
Läs mer11. Reguljära uttryck och grammatiker
Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik
Läs merBakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige
Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >
Läs merTentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Tentamen EDAF10 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn att tas till lösningens kvalitet.
Läs merTentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2013 10 24, 8.00 13.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
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 merSats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena
Läs merPROV I MATEMATIK Automatateori och formella språk DV1 4p
UPPSALA UNIVERSITET Matematiska institutionen Salling (070-6527523) PROV I MATEMATIK Automatateori och formella språk DV1 4p 19 mars 2004 SKRIVTID: 15-20. POÄNGGRÄNSER: 18-27 G, 28-40 VG. MOTIVERA ALLA
Läs merTuringmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt
Läs merMer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada
Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar
Läs merFöreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står
Läs merDefinition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 6 Reguljära uttryck I unix-skal finns ange enkla mönster för filnamn med * och?. En del program, t ex emacs, egrep
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merFöreläsning 5: Kardinalitet. Funktioners tillväxt
Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A
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 merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merTentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)
Göteborgs Universitet och Chalmers Tekniska Högskola 25 oktober 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen
Läs merTentamen i TDDC75 Diskreta strukturer
Tentamen i TDDC75 Diskreta strukturer 2017-01-05, Lösningsförslag (med reservation för eventuella fel) 1. Betrakta följande satslogiska uttryck: (p q) (q p) (a) Visa genom naturlig deduktion att uttrycket
Läs mer13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET.
81 13 CHURCH S OCH GÖDELS SATSER KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET Våra beräkningar skall utföras på symbolsträngar, där symbolerna tas från ett givet alfabet
Läs merTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15
TENTAMEN I PROGRAMSPRÅK -- DVG C01 140605 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs mer1.1. Fördjupning: Jämförelse av oändliga mängder
Kapitel 1 Kardinalitet Den här texten är tagen från boken Diskret matematik av Asratian Björn Turesson (och delvis modifierad) Av den anledningen finns det visa hänvisningar på en del ställen som är ersatta
Läs merInformation. Computer
Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merDiskret matematik, lektion 2
Diskret matematik, lektion Uppgifter med (*) är överkurs, och potentiellt lite klurigare. Ni behöver inte kunna lösa dessa. 1 Uppgifter 1. Låt A = {1,, 3}, B = {a, b}. Vilka element finns med i... a) A
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 merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merI kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.
Lunds tekniska högskola Datavetenskap Lennart ndersson Föreläsningsanteckningar EDF10 4 Mängder 4.1 Motivering Mängden är den mest grundläggande diskreta strukturen. Nästan alla matematiska begrepp går
Läs merKompletteringsmaterial. K2 Något om modeller, kompakthetssatsen
KTH Matematik Bengt Ek Maj 2008 Kompletteringsmaterial till kursen SF1642, Logik för D1 och IT3: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och
Läs merTuringmaskinen - en abstrakt datormodell
Turingmaskinen - en abstrakt datormodell Modeller är viktiga hjälpmedel vid studiet av många fenomen. En bra modell fyller oftast följande krav: Den fångar upp det centrala i sin fysiska motsvarighet Den
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merTentamen, EDA501/EDAA20 Programmering M MD W BK L
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.
Läs merExempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.
Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet
Läs merLite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet
Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Läs merReguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm
Syntaxanalys Douglas Wikström KTH Stockholm popup-help@csc.kth.se Reguljära uttryck Reguljära uttryck förutsätter att en mängd bokstäver är givna, ett så kallat alfabet, som oftast betecknas med Σ. Uttryck
Läs merTentamen Programmeringsteknik II Inledning. Anmälningskod:
Tentamen Programmeringsteknik II 2016-01-11 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: List, SortedList, SplayList och ListSet enligt vidstående
Läs merTentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2014 10 31, 14.00 19.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
Läs merÄNDLIGT OCH OÄNDLIGT AVSNITT 4
VSNITT ÄNDLIGT OCH OÄNDLIGT Är det möjligt att jämföra storleken av olika talmängder? Har det någon mening om man säger att det finns fler irrationella tal än rationella? Är det överhuvudtaget möjligt
Läs merÖvningshäfte 3: Funktioner och relationer
GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2014 INLEDANDE ALGEBRA Övningshäfte 3: Funktioner och relationer Övning H Syftet är att utforska ett av matematikens viktigaste begrepp: funktionen. Du har
Läs merTentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Läs merDatastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merTentamen ID1004 Objektorienterad programmering April 7, 2015
Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och
Läs merFöreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.
Läs merFält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.
Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus
Läs merDAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Läs merDAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Läs merTentamen i Programmering
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen i Programmering EDAA65/EDA501/EDAA20 M MD W BK L 2018 05 30, 8.00 13.00 Preliminärt ger uppgifterna 7 + 14 + 6 + 9 + 4 = 40 poäng.
Läs merMaterial till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning
Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal
Läs merTentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.
Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blått/blyerts.
Läs merTentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Läs merKurskod D0010E Datum 2012-05-15 Skrivtid 5tim
LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet o entliggörs senast: 2012-05-29. Tillåtna
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merTentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)
Göteborgs Universitet och Chalmers Tekniska Högskola 19 januari 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen
Läs merTATM79: Föreläsning 1 Notation, ekvationer, polynom och summor
TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merK2 Något om modeller, kompakthetssatsen
KTH Matematik Bengt Ek Maj 2005 Kompletteringsmaterial till kursen 5B1928 Logik för D1: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och fullständighetssatsen
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merTentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merProgrammering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Läs merLaboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
Läs merExplorativ övning 4 ÄNDLIGT OCH OÄNDLIGT. Övning A
Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT Första delen av övningen handlar om begreppet funktion. Syftet är att bekanta sig med funktionsbegreppet som en parbildning. Vi koncentrerar oss på tre viktiga
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 merpublic boolean containskey(string key) { return search(key, head)!= null; }
Tentamen Programmeringsteknik II 2009-05-26 med lösningar Skrivtid: 0900-1200 Uppgifter 1. Programbilagan ListMap.java innehåller en klass som implementerar en avbildning mellan mängden strängar och mängden
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merInstitutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Läs merInlämningsuppgift MiniPlotter
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner
Läs merDatalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
Läs merAlgoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T
Algoritmer och datastrukturer H I 1 0 2 9 HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Föreläsning 1 Inledande om algoritmer Rekursion Stacken vid rekursion Rekursion iteration Möjliga vägar
Läs merFöreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs mer729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 1, Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Diskret matematik & Uppgifter i Python Kompletteringar Tema 1: Olika perspektiv
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merKontinuitet och gränsvärden
Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika
Läs merDatastrukturer och algoritmer
Innehåll Föreläsning 5 Algoritmer Experimentell komplexitetsanalys Kapitel 2.1-2.2, Kapitel 12.1-12.4 Algoritmer Algoritm Definition: Algoritm är en noggrann plan, en metod för att stegvis utföra något
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs mer2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe
Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för I1, K2, L1, M1, Media1 och T1. Tentamen (1p) 6 april 2002, kl 14.00 17.00 Hjälpmedel: En javabok(det blå javahäftet som ingår i kursbunten räknas
Läs merFöreläsning 7-8 Innehåll
Föreläsning 7-8 Innehåll Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder Datavetenskap (LTH) Föreläsning 7-8 HT 2017 1 / 42 Objekt som argument Antag att vi har lagt
Läs merFöreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:
Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp
Läs merTENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Läs merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merInstuderingsfrågor, del D
Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
Läs merFöreläsning 9: Talteori
DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2009-11-11 Skribent(er): Ting-Hey Chau, Gustav Larsson, Åke Rosén Föreläsare: Fredrik Niemelä Den här föreläsningen handlar
Läs mer