DAB760: Språk och logik
|
|
- Sten Jakobsson
- för 7 år sedan
- Visningar:
Transkript
1 DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg Universitet (Institutionen för lingvistik) Formell språkteori Viktigt att kunna definiera och känna igen mönster Optisk teckenigenkänning (OCR) Kompilatorteknik Textsökning (i databaser och på Internet) Stavnings- och grammatikkontroll Automatisk översättning Mönstren byggs upp av ett ändligt antal byggstenar (bokstäver, ord, ljud, etc.) En finit automat (FSA) Lite terminologi FSA = Finite State Automaton Ett alfabet (a, b, c, d) Ett antal tillstånd (,,) Ett tillstånd () Ett antal sluttillstånd () Måste sluta i sluttillstånd a b c d Alfabet (Σ): en ändlig mängd symboler i ett formellt språk (t.ex. siffror eller bokstäver) Sträng: sekvens av symboler ur alfabetet ε är den tomma strängen (längd ) a a a n :sträng av längd n Språk: en mängd strängar Σ * är språket uppbyggt av symboler ur Σ Σ + är språket av icke-tomma strängar är det tomma språket FSA (Finite State Automaton): accepterar vissa strängar FST (Finite State Transducer): översättare mellan par av strängar ur två språk Reguljära uttryck: ett annat sätt att beskriva språken ovan 4 Exempel på ett språk: jämna binära tal Σ = {, } Exempel på strängar i Σ * : ε,,,,, Språket J: Mängden av alla strängar i Σ * vars sista symbol är (och första är om längden är minst symboler) Exempel:,,, Vi vill inte ha med,, ε,,, etc. Definition av en FSA Består av fem komponenter: S={s, s,, s m }: en ändlig mängd tillstånd Σ = {σ, σ,, σ n }: ett alfabet En övergångsfunktion från par av <tillstånd, symbol> till tillstånd, dvs. bågar med tillhörande symboler mellan tillstånd s ε S: ett tillstånd F S: en mängd sluttillstånd (accepterande tillstånd) FSA:er representeras ofta som grafer: noder = tillstånd bågar med symboler representerar övergångar tillstånd: en pil märkt med accepterade tillstånd markeras som dubbla cirklar 5 6
2 Automat för jämna binära tal Hur används automater för att känna igen strängar i ett språk? Alfabetet Σ = {, } Tillståndsmängd S = {, } tillstånd: Accepterande tillstånd:. a i tillståndet. Läs nästa symbol i strängen Om strängen var slut: Acceptera om vi står i ett accepterande tillstånd Förkasta annars. Följ bågen markerad med inläst symbol Om ingen sådan båge finns så förkastas strängen 4. Gå till steg. 7 8 Att utforska ett språk utifrån dess FSA Determinism eller inte Om språket är ändligt så kan samtliga strängar fås fram genom att följa alla möjliga vägar från tillstånd till accepterande tillstånd Annars kan vi ta fram godtyckligt många strängar i språket genom att följa möjliga vägar tills vi är nöjda Vilka strängar ingår i språket jämna binära tal? De vi vill ha där och inga andra? Deterministisk FSA: <s i, σ j > högst ett tillstånd s k till vilket det finns en övergång från s i till s k för symbol σ j. Inga övergångar för symbol ε Intuitivt: Det finns aldrig mer än en övergång att välja på när man stegar runt i automaten Icke-deterministisk FSA Uppfyller inte båda kraven ovan Besvärligare att implementera Långsammare att slå upp strängar i Kan ofta ha färre tillstånd än motsvarande deterministiska FSA Kan göras om till en deterministisk FSA 9 Determinisering av ickedeterministisk FSA Automat för jämna binära tal (felaktig) En icke-deterministisk automat N med tillståndsmängd S={s, s,, s m } kan determiniseras till D: Tillstånd i D (D-tillstånd) utgörs av mängder av tillstånd i N (N-tillstånd) Låt S = {s } vara tillstånd för D De accepterande tillstånden i D är de D-tillstånd som innehåller något av de accepterande N- tillstånden Givet ett D-tillstånd S i och en symbol x, skapa en övergång från S i för x till det D-tillstånd S j som innehåller alla N-tillstånd för vilka det finns en övergång för x från något N-tillstånd i S i Alfabetet Σ = {, } Tillståndsmängd S = {, } tillstånd: Accepterande tillstånd:
3 Exempel på ett språk: jämna binära tal Σ = {, } Exempel på strängar i Σ * : ε,,,,, Språket J: Mängden av alla strängar i Σ * vars sista symbol är (och första är om längden är minst symboler) Exempel:,,, Vi vill inte ha med,, ε,,, etc. Korrekt (icke-deterministisk) automat för jämna binära tal Icke-deterministisk eftersom tillstånd har två övergångar med symbol Vi gör den deterministisk! 4 De två automaterna Resultatet av determiniseringen Den icke-deterministiska (N) S = {,,} S = F = {} Σ = {, } Den deterministiska (D) S = {,,,,,, } S = F = {,,, } (alla som innehåller N- tillståndet ) Σ = {, } 5 6 Men vissa tillstånd kan man inte komma till! FST: Finite State-transduktorer Det finns inga övergångar till:, eller så vi tar bort dem Kvar blir en deterministisk automat med fyra tillstånd Ett övre och ett undre språk Symbolerna skrivs som par av symboler från respektive alfabet a:b betyder symbol a från övre språket och symbol b från undre a:ε betyder symbol a från övre språket och inget från det undre a betyder symbol a från både det övre och undre språket Verifiering av par av strängar kan göras Uppslagning av sträng i övre språket givet sträng i undre språket Uppslagning av sträng i undre språket givet sträng i övre språket 7 8
4 En transduktor Alfabetet Σ = {a, b} Tillståndsmängd S = {,, } Accepterande tillstånd: tillstånd: a:a Vad gör den? Är den deterministisk? a:ε b:b a:b Påminnelse FSA = Finite state automaton (finite stateautomat Avgör om symbolsträngar tillhör ett språk Kan generera alla symbolsträngar i språket FST = Finite state transducer (finite statetransduktor) Översätter symbolsträngar från övre till undre språket eller tvärtom Verifierar om en given sträng i övre språket motsvaras av en annan given sträng i undre språket Kan generera alla strängpar s, s där s ingår i övre språket, s ingår i undre språket, samt s i övre motsvarar s i det undre 9 Viktiga egenskaper hos FSA/FST Epsilonfri: inga övergångar är markerade med epsilon Deterministisk: Inga tillstånd har mer än en utgående båge med samma symbol (symbolpar) Minimal: Det finns ingen automat med färre tillstånd som beskriver samma språk Implementation Deterministiska FSA/FST implementeras extremt effektivt i C En label för varje tillstånd Använd goto för att hoppa mellan tillstånd Stacken används inte vi behöver inte komma ihåg varifrån vi kommit Icke-determinism är besvärligare Välj en väg i taget Backtracka för att testa alla möjligheter I praktiken är de användbara om det inte finns för mycket icke-determinism Reguljära uttryck Ett annat sätt att definiera formella språk Enklare för människor liknar mer vårt sätt att tänka(?) Språken vi kan definiera är de samma som för finita automater De kan kompileras till deterministiska automater eller transduktorer Exempel i UNIX ls myfiles*[45].txt egrep a [a-z]+ has four (legs) (arms) *.txt Definitioner Atomära reguljära uttryck givet alfabetet Σ x (där x ε Σ) ε (den tomma strängen) Ø (matchar ingenting) R (en variabel innehållande ett reguljärt uttryck) Språken som definieras av atomära reguljära uttryck L(x) = {x} L(ε) = {ε} L(Ø) = Ø 4 4
5 Sammansatta reguljära uttryck Om R och S är reguljära uttryck så är: Union R S ett reguljärt uttryck L (R S) = L(R) L(S) Konkatenering R S ett reguljärt uttryck L (R S) = {r s r ε L(R), s ε L(S)} Hölje R* ett reguljärt uttryck L (R*) = L(ε R R R R R R ) Precedensordning: Hölje, Konkatenering, Union Exempel: de jämna binära talen Σ = {, } Reguljärt uttryck: ( )* Vi får med Samt alla sekvenser som börjar med och slutar med Men inga sekvenser som börjar med förutom sekvensen 5 6 Utvidgningar Det är smidigt att införa beteckningar för vanliga mängder: Teckenmängden siffra = {,,,, 4, 5, 6, 7, 8, 9} Reguljärt uttryck som beskriver siffra: siffra = ( ) Motsvarande i UNIX: [-9] Reguljärt uttryck för heltalskonstant: (- ε) siffra siffra* Fler utvidgningar Fler operatorer Noll eller en: R? R ε En eller flera: R+ R R* Förenklad definition av heltalskonstanter: -? siffra+ Specialtecken i UNIX. Ett godtyckligt ASCII-tecken ^ början på rad $ Radslut [a-z] Ett teckan som är en bokstav a-z [^-9] Ett tecken som inte är en siffra 7 8 Från reguljärt uttryck (RE) till FSA Denna algoritm konverterar ett RE till en icke-deterministisk automat med ε- övergångar tillstånd: s Accepterande tillstånd s A Ingen övergång till s Ingen övergång från s A RE -> FSA Atomära uttryck Ø: Ingen övergång ε: Lägg till en ε-övergång från s till s A Symbol a: Lägg till en a-övergång från s till s A En variabel innehållande ett reguljärt uttryck Operatorer (givet automater för uttrycken R och S) Union (R S) Lägg till en ε-övergång från s till R- och S- Lägg till ε-övergångar från R-accept och S-accept till s A 9 5
6 RE -> FSA, forts. Operatorer, forts. Konkatenering (R S) Låt s = R- Låt s A = S-accept Låt R-accept = S- Hölje (R*) Lägg till en ε-övergång från s till R- Lägg till en ε-övergång från R-accept till s A Lägg till en ε-övergång från s till s A Lägg till en ε-övergång från R-accept till R- En annan algoritm tar bort ε-övergångarna Exempel De jämna binära talen: ( )* Ytterst har vi en union: R = s S = ( )* R är ett atomärt uttryck: S är en konkatenering av S = S = ( )* S = S är ett hölje, osv. s a FSA -> RE Nästa gång Det finns en algoritm som gör även denna omvandling Läs mer i boken hur den fungerar Finite state-teknologi i språkteknologin Xerox-verktyget XFST Finns både som gratisversion och en mer kraftfull version som kostar pengar Kan användas för att bygga upp och testa automater och transduktorer 4 6
Automater. Matematik för språkteknologer. Mattias Nilsson
Automater Matematik för språkteknologer Mattias Nilsson Automater Beräkningsmodeller Beräkning - (eng) Computation Inom automatateorin studeras flera olika beräkningsmodeller med olika egenskaper och olika
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 merFöreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk
Reguljära uttryck Ändliga automater och reguljära uttryck Språk som är och inte är reguljära Konkatenering och Kleene star Två strängar u och v (på alfabetet )kan konkateneras till strängen uv Givet två
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 merProgrammering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater
Programmering för språkteknologer II OH-serie: ändliga automater reguljära uttryck i Java Mats Dahllöf Ändliga automater Abstrakt maskin, tillståndsmaskin, transitionssystem. (Den enklaste typ man brukar
Läs merTDDD02 Föreläsning 2 HT-2013. Reguljära uttryck och reguljära språk Lars Ahrenberg
TDDD02 Föreläsning 2 HT-2013 Reguljära uttryck och reguljära språk Lars Ahrenberg Översikt Reguljära uttryck sökproblem i texter definitioner och exempel UNIX-funktionen grep Reguljära transformationer
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 merAutomatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA
Automatateori (2) Idag: Sammanhangsfria språk Dessa kan uttryckas med Grammatik PDA Grammatik = språkregler Ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord
Läs merMÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP
MÄLARDALENS HÖGSKOLA CD5560 Formella språk, automater och beräkningsteori Användarmanual för simulatorn JFLAP Innehållsförteckning Att komma igång med JFLAP... 3 Att köra en sträng... 5 Att köra flera
Läs merDD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD36 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning Per Austrin 26--3 Kursavsnittet syntax/formella språk Teori om formella språk verktygslåda för strängmatchning: Ändliga automater och
Läs mer729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Föreläsning 2, 729G09, VT15 Reguljära uttryck Lars Ahrenberg 150409 Plan för föreläsningen Användning av reguljära uttryck Formella språk Reguljära språk Reguljära
Läs merGrundläggande textanalys, VT2012
Grundläggande textanalys, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv12/gta/ (Tack till ofia Gustafson-Capkovâ för material.) Repetition 2 Exempel parvspråket
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 merb) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar.
Salling, 070-6527523 TID : 9-14 HJÄLPMEDEL : Inga BETYGSGRÄNSER : G 18p, VG 28p SKRIV TYDLIGT OCH MOTIVERA NOGA! PROV I MATEMATIK AUTOMATEORI & FORMELLA SPRÅK DV1, 4 p 20 MARS 2002 1. Språket L över alfabetet
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 merLabb 1 - Textbearbetning med reguljära uttryck. Formella språk. Definitioner. Chomskyhierarkin. Formella språk. Formella språk
Labb 1 - Textbearbetning med reguljära uttryck Textbearbetning: Dela upp en text i meningar Hitta alla namn i en text Hitta adjektiv i superlativ Lektion reguljära uttryck re modulen i Python Formella
Läs mer1 Inledning 1. 4 Utvärdering 7. 5 Diskussion 7
Innehåll 1 Inledning 1 2 Bakgrund 1 2.1 Svensk fonetik.................................. 1 2.1.1 IPA.................................... 1 2.1.2 ASTA................................... 1 2.2 Svensk fonotax..................................
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 merLite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer
Lite mer psykologi Perception: yntaktiskt bearbetning: emantisk bearbetning PERON() & LIKE(, y) L2: Automater, ökstrategier Korttidsminnet D4510 Parsningsalgoritmer Höstterminen 200 Långtidsminne Anders
Läs merMatematik för språkteknologer
1 / 21 Matematik för språkteknologer 3.3 Kontext-fria grammatiker (CFG) Mats Dahllöf Institutionen för lingvistik och filologi Februari 2014 2 / 21 Dagens saker Kontext-fria grammatiker (CFG). CFG kan
Läs merKällkodning. Egenskaper hos koder. Några exempel
Källkodning Källkodning innebär att vi avbildar sekvenser av symboler ur en källas alfabet på binära sekvenser (kallade kodord). Mängden av alla kodord kalls för en kod. (Man kan förstås tänka sig att
Läs merDatorlingvistisk grammatik
Datorlingvistisk grammatik Kontextfri grammatik, m.m. http://stp.lingfil.uu.se/~matsd/uv/uv11/dg/ Mats Dahllöf Institutionen för lingvistik och filologi Februari 2011 Denna serie Formella grammatiker,
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 merIntroduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
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 merAritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12
Aritmetisk kodning Vi identifierar varje sekvens av källsymboler med ett tal i intervallet [0, 1). Vi gör det med hjälp av fördelningsfunktionen (cumulative distribution function) F. För enkelhets skull
Läs merDD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 4 Per Austrin 2015-11-20 Idag Rekursiv medåkning, fortsättning Olika klasser av språk och grammatiker Parsergeneratorer Sammanfattning
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 merOptimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.
Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)
Läs merOptimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.
Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås
Läs merShannon-Fano-Elias-kodning
Datakompression fö 5 p.1 Shannon-Fano-Elias-kodning Antag att vi har en minnesfri källa X i som tar värden i {1, 2,...,L}. Antag att sannolikheterna för alla symboler är strikt positiva: p(i) > 0, i. Fördelningsfunktionen
Läs merFöreläsning 11 - Automater, textsökning, tillstånd
Föreläsning 11 - Automater, textsökning, tillstånd Automater Textsökning KMP-automat (Knuth-automat) Boyer-Moore Rabin-Karp Sökning på webben Automater En portkodsautomat med nio knappar kan se ut så här:
Läs merDD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 3 Per Austrin 2015-11-13 Huvudkoncept hittils: Snabb repetition Formellt språk en mängd strängar Reguljära språk den klass av formella
Läs merFöreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2009-10-27 Skribent(er): Carl-Fredrik Sundlöf, Henrik Sandström, Jonas Lindmark Föreläsare: Fredrik Niemelä 1 Syntaxanalys
Läs merKontextfria grammatiker
Kontextfria grammatiker Kontextfria grammatiker 1 Kontextfria grammatiker En kontextfri grammatik består av produktioner (regler) på formen S asb S T T # Vänsterledet består av en icke-terminal (variabel)
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merSkrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord
Joakim Nivre / 30 Varför bry sig om stavning? Stavfel kan skapa missförstånd Stavfel kan dölja innehåll Standardiserad stavning underlättar många uppgifter Slå upp ord i ordbok Identifiera svårlästa ord
Läs merGrundläggande textanalys. Joakim Nivre
Grundläggande textanalys Joakim Nivre Om kursen Ni har hittills läst Lingvistik Datorteknik Matematik Språkteknologiska tillämpningar Nu ska vi börja med språkteknologi på allvar Hur gör man text hanterbar
Läs merFormell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati
Formell Verifiering Hur vet man att ett system fungerar korrekt? Lisa Kaati Innehåll Motivering Formell verifiering Modellkontroll (model checking) Verifiering av kod Forskning Dator system finns överallt
Läs merF2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.
Läs merUppgifter i TDDC75: Diskreta strukturer Kapitel 8 Ordning och oändlighet
Uppgifter i TDDC75: Diskreta strukturer Kapitel 8 Ordning och oändlighet Mikael Asplund 19 oktober 2016 Uppgifter 1. Avgör om följande relationer utgör partialordningar. Motivera varför eller varför inte.
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 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 merTentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
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 merFonologi. Kommutationstest. Minimala par. Hur bestämmer man vilka fonem ett språk har?
Hur bestämmer man vilka fonem ett språk har? Fonologi Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se (Morfem = minsta betydelsebärande enhet i ett språk) Fonem = minsta betydelseskiljande ljudenhet
Läs merHur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?
Fonologi Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se Hur bestämmer man vilka fonem ett språk har? Hur bestämmer man vilka fonem ett språk har? Fonem = minsta betydelseskiljande ljudenhet i
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 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 merMer om språk och Ruby
Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2017-01-17 2 Översikt 1. Hur kan man bedöma ett språk? 2. Enhetstestning 3. Likhet i
Läs merTalsystem Teori. Vad är talsystem? Av Johan Johansson
Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska
Läs merKonstruktion av datorspråk
Konstruktion av datorspråk Fö2: Funderingar kring hur man kan bedöma programspråk samt några fler detaljer i Ruby Peter Dalenius peter.dalenius@liu.se Institutionen för datavetenskap Linköpings universitet
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 merF2 Datarepresentation talbaser, dataformat och teckenkodning
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Jonas Wisbrant Datarepresentation I en dator lagras och behandlas all information i form av binära tal ettor och nollor.
Läs merObjektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH
Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder
Läs merProgrammering II (ID1019)
ID1019 Johan Montelius Instruktioner Betyg Programmering II (ID1019) 2019-03-08 Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar (inte på
Läs merSTRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar
STRÄNGAR En av de mest avancerade av de normala datatyperna är. Här skall vi grundläggande gå igenom hur den datatypen fungerar och vidare flertalet funktioner som hör till datatypen. Låt oss kasta oss
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
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 merAnvända Convertus Kursplaneöversättaren
Utbildningsavdelningen INSTRUKTION 2015-10-09 Använda Convertus Kursplaneöversättaren Programmet Kursplaneöversättaren är ett hjälpmedel för att översätta kursplaner från svenska till engelska. Du måste
Läs merProv i DAT 312: Algoritmer och datastrukturer för systemvetare
Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal
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 merTräd och koder. Anders Björner KTH
27 Träd och koder Anders Björner KTH 1. Inledning. Det är i flera sammanhang viktigt att representera information digitalt (d.v.s omvandla till sviter av nollor och ettor). Beroende på vilka villkor som
Läs merPCP-satsen på kombinatoriskt manér
austrin@kth.se Teorigruppen Skolan för Datavetenskap och Kommunikation 2005-10-24 Agenda 1 Vad är ett bevis? Vad är ett PCP? PCP-satsen 2 Vad, hur och varför? Lite definitioner Huvudresultatet 3 Ännu mer
Läs merDatastrukturer och Algoritmer D0041D
Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Grundläggande datavetenskap, IT1 Perspektiv på datateknik, D1 Perspektiv på datavetenskap, C1 Breddföreläsning orientering om: formella språk grammatik parsing Att läsa mer: Brookshear, Computer Science
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 merAvslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?
Avslutning Anmärkningar inför tentan Vad ska kunnas? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna och gruppövningarna räcker i princip.
Läs merSekvensnät Som Du kommer ihåg
Sekvensnät Som Du kommer ihåg Designmetodik Grundläggande designmetodik för tillståndsmaskiner. 1. Analysera specifikationen för kretsen 2. Skapa tillståndsdiagram 3. Ställ upp tillståndstabellen 4. Minimera
Läs merDD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011
DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.
Läs merAssemblerprogrammering del 1
Assemblerprogrammering del 1 Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 15 Ur innehållet: Assemblerspråket Programmerarens bild Assemblering/disassemblering Funktion: Översätter
Läs merRepetition och sammanfattning av syntes och analys av sekvensnät
Repetition och sammanfattning av syntes och analys av sekvensnät Sekvensnät = ihopkoppling av sekvenskretsar Består i praktiken av - minnesdel (sekvenskretsar) - kombinatorisk del. Sekvenskretsar = kretsar
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merMer om språk och Ruby
Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2014-01-21 Översikt över dagens föreläsning 1. Hur kan man bedöma ett språk? 2. Enhetstestning
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 merREGULJÄRA SPRÅK (8p + 6p) 1. DFA och reguljära uttryck (6 p) Problem. För följande NFA över alfabetet {0,1}:
CD58 FOMEA SPÅK, AUTOMATE, OCH BEÄKNINGSTEOI, 5 p JUNI 25 ÖSNINGA EGUJÄA SPÅK (8p + 6p). DFA och reguljära uttryck (6 p) Problem. För följade NFA över alfabetet {,}:, a) kovertera ovaståede till e miimal
Läs merTeoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
Läs merBlock 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder
Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar
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 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 merENKEL Programmering 3
ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur
Läs merTeoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.
Facit Tentamen TDDC30 2015-08-28 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är syftet med ett interface? (1p) Svar:Att ange vilka metoder som ska finnas, utan
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 merProgrammering i C++ Kompilering från kommandoraden
Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö
Läs merEtt enkelt OCR-system
P r o j e k t i B i l d a n a l y s Ett enkelt OCR-system av Anders Fredriksson F98 Fredrik Rosqvist F98 Handledare: Magnus Oskarsson Lunds Tekniska Högskola 2001-11-29 - Sida 1 - 1.Inledning Många människor
Läs merÖvningsexempel i Artificiella språk och syntaxanalys 2D1373
Numerisk analys och datalogi Övningsexempel i Artificiella språk och syntaxanalys 2D1373 Lars Engebretsen Mikael Goldman Viggo Kann 12 februari 2002 2 Innehåll 0 Inledning 7 0.1 Ändliga automater.........................
Läs merMATEMATIKENS SPRÅK. Avsnitt 1
Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en
Läs mer729G04 - Diskret matematik. Lektion 4
729G04 - Diskret matematik. Lektion 4 1 Lösningsförslag 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c, d, f, g, h, i, j}, E = {{a, b}, {b, c}, {a, c}, {f, g}, {c, d},
Läs merMedieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor
http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript
Läs merAGENTBASERAD MODELLERING
AGENTBASERAD MODELLERING! Ändliga automater! Cellulära automater! Några illustrationer av variationsbredden! Conway s Game of Life! Gliders! Glider guns! Gliders som informationsbärare! Logiska operationer!
Läs merGrundläggande datalogi - Övning 9
Grundläggande datalogi - Övning 9 Björn Terelius January 30, 2009 Ett formellt språk är en (oftast oändlig) mängd strängar. Språket definieras av en syntax som är en samling regler för hur man får bilda
Läs merF2 Binära tal EDA070 Datorer och datoranvändning
Datarepresentation F2 Binära tal EDA070 Roger Henriksson I en dator lagras och behandlas all information i form av binära tal ettor och nollor. En binär siffra kallas för en bit BInary digit. Ett antal
Läs merTentamen i Digitalteknik, EIT020
Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 18 december 2010, kl 8-13 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret.
Läs merFormell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet
Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,
Läs merFöreläsning 10/11! Gruppuppgifter: Gruppuppgift 1: Alla har redovisat. Gruppuppgift 2: Alla har redovisat Gruppuppgift 3: På gång.
Föreläsning 10 Agenda Kursens status Repetition Flödesnätverk Optimalitetsvillkor LP och Minkostandsflöde (MKF) Nätverkssimplex Känslighetsanalys Exempel: MKF och Nätverkssimplex Föreläsning 10/11! Gruppuppgifter:
Läs merEn fonotaktisk modell för svensk fonemigenkänning
En fonotaktisk modell för svensk fonemigenkänning Sebastian Berlin Institutionen för lingvistik och filologi Språkteknologiprogrammet Examensarbete i datorlingvistik 8 november 2010 Handledare: Alexander
Läs merProgrammeringsolympiaden 2017
Programmeringsolympiaden 2017 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under fyra timmar effektiv tid. Eleven ska i förväg komma överens med läraren om att använda egen
Läs mer1 Inledning. 1.1 Programförklaring. 1.2 Innehållet. 1.3 Beteckningskonventioner - 1 -
- 1-1 Inledning 1.1 Programförklaring Detta kompendium är utvecklat för en introduktionskurs i datalingvistik som vänder sig till studenter med tidigare kännedom om grundläggande lingvistik och datavetenskap.
Läs merTDDI16: Datastrukturer och algoritmer
TDDI16: Datastrukturer och algoritmer Lab 3: Ordkedjor Höstterminen 2018 2018-05-14 1 Upplägg Första delen av instruktionen, avsnitt 2 till 6, innehåller en fullständig beskrivning av problemet utan några
Läs merFöreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
Läs mer