Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik
|
|
- Alf Fransson
- för 7 år sedan
- Visningar:
Transkript
1 Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik
2 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 = en ändlig sekvens av sammanfogade tecken från ett alfabet. Ex , abba, kalle abba är en sträng över alfabetet {a, b} Den har längden 4: abba = 4 En tom sträng betecknas med ε och har längden ε = 0 Språk = en (möjligtvis oändlig) mängd av strängar. {ε,a,b,ab,ba,abb,...} är mängden av alla strängar över alfabetet {a,b} Ø - kallas tomma mängden och innehåller inga strängar, inte ens ε.
3 Reguljära språk: Definitioner: Ø är ett reguljärt språk över Σ För varje σ i Σ är {σ} ett reguljärt språk över Σ. Om L1 och L2 är reguljära språk över Σ så är L1 L2, L1L2 och L1* reguljära språk över Σ
4 Några exempel på reguljära språk över {a b} : L1 = {a} L2 = {b} L1 L2 = {a, b} L1L2 = {ab} L1* = {ε, a, aa, aaa,...}
5 Reguljära uttryck: Ett sätt att beskriva reguljära språk AWK och UNIX shell använder reguljära uttryck. Operatorer: Kleenestjärna (*) Sammanfogning (om v = ab, w = ba, så är vw = abba) Union ( ) + betyder en eller flera repetitioner * och + har högst prioritet, därefter sammanfogning och sist
6 Exempel på reguljära uttryck: Informell beskrivning: Språket över {a b} bestående av alla strängar som börjar med 0 eller flera a:n följt av 2 st b:n följt av 1 eller flera a:n. a*bba+ -> {bba, bba, bbaa, abba, abbaa, aabbaa,...}
7 Fler exempel på reguljära uttryck: Informell beskrivning: E-postadresser s 2 dvs. en sekvens s 1 av tecken före och en annan sekvens s 2 av tecken efter En sekvens s (alltså s 1 och s 2 ) är en icketom sträng av bokstäver, siffror och punkt, där ingen punkt får finnas först eller sist i s och det inte får förekomma två punkter i rad. Vi kan ta hjälp av metasymboler ("variabler") för att beskriva delar av alfabetet: Σ = {@. a z 0 9} S = Σ - {@.} Vi kan då skriva ett reguljärt uttryck: (S+.)*S+@(S+.)*S+
8 Övningar (1) Skriv reguljära uttryck för: Giltiga variabelnamn i C, dvs. en bokstav eller ett "_"-tecken följt av 0 eller flera bokstäver, siffror eller "_". De strängar över alfabetet {a, b} och som börjar och slutar på likadan bokstav. Siffersträngar som representerar tal som är jämnt delbara med 2. Skriv uttryck för både det binära alfabetet, {0, 1}, och för det decimala, {0,..., 9}.
9 DFA - Deterministisk Finit Automat En DFA kan ses som en maskin som konsumerar strängar. Tecknen i strängarna driver maskinen till olika tillstånd. DFA:er åskådliggörs ofta med en graf där noderna representerar de tillstånd som DFA:n kan befinna sig i och bågarna beskriver tillståndövergångar. Antalet noder är ändligt, vilket gör automaten finit. I ett givet tillstånd och för ett visst tecken finns det maximalt ett tillstånd som DFA:n kan gå till, vilket gör den deterministisk. Det finns ett starttillstånd, vilket markeras med en inbåge utan källa och ett eller flera accepterande tillstånd, som markeras med utbågar utan destination.
10 DFA - Deterministisk Finit Automat (forts) En sträng accepteras av en DFA om strängen driver den till ett accepterande tillstånd. Detta innebär att strängen tillhör det språk som denna DFA beskriver. DFA:er kan användas för att bestämma om en given sträng tillhör ett visst språk. Precis de strängar som den accepterar ingår i språket.
11 DFA - Deterministisk Finit Automat (forts) Exempel: En DFA över {a, b} som som accepterar strängar som slutar och börjar på a, dvs det språk som kan beskrivas med det reguljära uttrycket a (a b)*a a
12 DFA - formell definition En DFA är en kvintupel (Q, Σ, δ, s, F) där Q är en ändlig mängd (tillstånden) Σ är en ändlig mängd (inputalfabetet) δ är en funktion (övergångsfunktionen) från Q X Σ till Q s är starttillståndet, ett element ur Q F en mängd accepterande tillstånd, en delmängd av Q
13 NFA - Nondeterministic Finite Automaton En finit automat som: kan gå till flera olika tillstånd för ett givet input tecken som får innehålla flera starttillstånd som har tillstånd utan att konsumtion av något tecken (s.k. ε- övergång)...kallas för en icke-deterministisk finit automat, förkortning NFA. För varje NFA finns det en DFA som accepterar samma språk. NFA:er är alltså inte mer "kraftfulla" än DFA:er. Vi kommer att koncentrera oss på DFA:er.
14 Definition Reguljära språk är de finita automaternas språk För varje reguljärt språk kan konstrueras en finit automat som accepterar precis de strängar som finns i språket. Varje språk vars alla strängar accepteras av en finit automat är reguljärt. De reguljära operatorerna *, och sammanfogning motsvaras av åter-, parallell- respektive seriekoppling.
15 Övningar (2) Gör DFA:er som accepterar: Strängar över {a, b} som börjar och slutar på likadan bokstav. E-postadresser tidigare beskrivning: s 2 dvs. en sekvens s 1 av tecken före och en annan sekvens s 2 av tecken efter En sekvens s (alltså s 1 och s 2 ) är en icketom sträng av bokstäver, siffror och punkt, där ingen punkt får finnas först eller sist i s och det inte får förekomma två punkter i rad. Språken {}, {ε}, {a}, Σ+ och Σ*
16 Definition En DFA särskiljer strängar som driver den till skilda tillstånd. Ett språk L särskiljer två strängar x och y om det finns någon sträng z sådan att exakt en av strängarna xz och yz tillhör L. L särskiljer strängarna x1, x2, x3,... om det särskiljer varje par xi, xj av strängar. Om L särskiljer oändligt många strängar så är L ickereguljärt. Exempel: L = {b, ba, baa, baaa,...} Särskiljs b från ba?
17 DFA:ns begränsning En DFA:s minne finns i tillstånden. DFA:n särskiljer strängar som driver den till olika tillstånd. Antalet tillstånd är ändligt, alltså finns det ingen DFA som kan känna igen språk som särskiljer oändligt många strängar. Exempel: L = { ε, (), (()), ((())),...} måste särskilja oändligt många strängar, dvs. ingen DFA kan känna igen detta språk. Informellt: En DFA som gått in i en loop ser inte vilken gång i ordningen som ett tillstånd besöks. Jämför med det reguljära uttrycket a(bc)*, det beskriver ett mönster men säger inget om hur många gånger bc förekommer.
18 Grammatik = språkregler Detta är ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord för samma sak härledningsregler eller grammatikregler) som beskriver syntaxen (syntax = satslära) för ett språk. Exempel: Givet alfabet: {a, b} Språket {a, ab, abb,...} kan då beskrivas:
19 Grammatik = språkregler Detta är ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord för samma sak härledningsregler eller grammatikregler) som beskriver syntaxen (syntax = satslära) för ett språk. Exempel: Givet alfabet: {a, b} Språket {a, ab, abb,...} kan då beskrivas: S ab B bb B ε Vi kan också skriva de två B-reglerna på samma rad: S ab B bb ε
20 Grammatik (forts) S ab B bb ε a och b är terminaler, dvs de kommer från alfabetet (för språket). S och B är här icketerminaler, de är interna för grammatiken. De kan ses ungefär som en slags variabler som används i reglerna. S är startsymbolen. Strängen till höger om anger vad symbolen till vänster om kan ersättas med. Regeln S ab betyder alltså "S kan ersättas av ab"
21 Grammatik (forts) S ab B bb ε Vi provar att producera (härleda) strängen abb med hjälp av reglerna i grammatiken: S ab abb abbb abb
22 Grammatik (forts) S ab B bb ε För att demonstrera vilka regler som använts i respektive steg, kan man ställa upp det vertikalt: Produktion Använd regel S ab S ab abb B bb abbb B bb abb B ε Notera att B-regeln är rekursiv, detta motsvaras av slingor för DFA:er och Kleenstjärna för uttryck.
23 Reguljär Grammatik För reguljära språk förkommer endast regler av typen A µ A µb A ε Dvs. det förkommer max en icketerminal i högerledet och den ligger alltid sist. Nästa förläsning så ska vi titta på mer uttrycksfulla regler som gör att vi kan beskriva en klass av mer generellt språk - klassen av de sammanhangsfria språken.
Automatateori (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 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 merDAB760: Språk och logik
DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg
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 merAutomater. 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 merBegreppen "mängd" och "element" är grundläggande begrepp i matematiken.
MÄNGDER Grundläggande begrepp och beteckningar Begreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom
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 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 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 merLogik Filosofiska Institutionen Göteborgs Universitet B-uppsats Vt 08 Handledare: Martin Kaså Palmé MICHAEL KASSLERS TOLVTONSSYSTEM DAVID OLOFSSON
Logik Filosofiska Institutionen Göteborgs Universitet B-uppsats Vt 08 Handledare: Martin Kaså Palmé MICHAEL KASSLERS TOLVTONSSYSTEM DAVID OLOFSSON MICHAEL KASSLERS TOLVTONSSYSTEM DAVID OLOFSSON Sammanfattning.
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 merÖvning 5 - Tillämpad datalogi 2013
/afs/nada.kth.se/home/w/u1yxbcfw/teaching/13dd1320/exercise5/exercise5.py October 1, 2013 1 0 # coding : latin Övning 5 - Tillämpad datalogi 2013 Automater, reguljära uttryck, syntax Sammanfattning Idag
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 merKombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av
Kapitel 2 Kombinatorik Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av det antal sätt, på vilket elementen i en given mängd kan arrangeras i delmängder på något sätt.
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 merDiskret matematik: Övningstentamen 1
Diskret matematik: Övningstentamen 1 1. Bevisa att de reella talen är en icke-uppräknelig mängd.. För två mängder av positiva heltal A och B skriver vi A C B, om det är så att A innehåller ett heltal som
Läs merBegreppen "mängd" och "element" är grundläggande begrepp i matematiken.
MÄNGDER Grundläggande begrepp och beteckningar egreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom
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 merBlock 1 - Mängder och tal
Block 1 - Mängder och tal Mängder Mängder och element Venndiagram Delmängder och äkta delmängder Union och snittmängd Talmängder Heltalen Z Rationella talen Q Reella talen R Räkning med tal. Ordning av
Läs mer1. (6p) (a) Använd delmängdskonstruktionen för att tillverka en DFA ekvivalent med nedanstående NFA. (b) Är den resulterande DFA:n minimal? A a b.
UPPSAA UNIVERSITET Mtemtisk institutionen Slling (070-6527523) PROV I MATEMATIK AUTOMATATEORI 18 okt 2012 SKRIVTID: 8-13. HJÄPMEDE: Ing. MOTIVERA AA ÖSNINGAR NOGGRANT. BETYGSGRÄNSER: För etygen 3, 4 respektive
Läs merBlock 1 - Mängder och tal
Block 1 - Mängder och tal Mängder Mängder och element Venndiagram Talmängder Heltalen Z Rationella talen Q Reella talen R Räkning med tal. Ordning av talen i R Intervall Absolutbelopp Olikheter 1 Prepkursen
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 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 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 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 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 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 mer9 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 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 meri=1 c i = B och c i = a i eller c i = b i för 1 i n. Beskriv och analysera en algoritm som löser detta problem med hjälp av dynamisk programmering.
Algoritmer och Komplexitet ht 8 Övning 3+4 Giriga algoritmer och Dynamisk programmering Längsta gemensamma delsträng Strängarna ALGORITM och PLÅGORIS har den gemensamma delsträngen GORI Denlängsta gemensamma
Läs merMetriska rum, R och p-adiska tal
Metriska rum, R och p-adiska tal Tony Johansson 1MA239: Specialkurs i Matematik II Uppsala Universitet VT 2018 När vi säger avståndet mellan punkt X och punkt Y där X och Y är punkter i planet (säg) är
Läs merLösningar till Algebra och kombinatorik
Lösningar till Algebra och kombinatorik 091214 1. Av a 0 = 1 och rekursionsformeln får vi successivt att a 1 = 1 + a 0 1 a 0 = 1 + 1 1 1 = 2, a 2 = 1 + a 1 1 a 0 + 1 a 1 = 1 + 2 1 + 1 = 4, 2 a 3 = 1 +
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
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 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 merlex källkod lex.l lexkompilator lex.yy.c C- kompilator lex.yy.c a.out sekvens av tokens a.out input specifikation av tokens mha reguljära uttryck
input läs tecken stoppa tillbaka ett tecken skicka ett token och dess attribut parser Eliminera white space och kommentarer Gruppera lästa tecken till tokens identifierare, nyckelord, numeriska konstanter,
Läs merFunktioner och kombinatoriska tillämpningar. Mars
Mars 27 2006 Lådprincip Om kn + 1 eller fler kulor skall läggas i n lådor då måste någon låda innehålla minst k + 1 kulor. Exempel I en liksidig triangel med sidan 1 väljes 5 punkter. Visa att det finns
Läs merTSBK04 Datakompression. Övningsuppgifter
TSBK04 Datakompression Övningsuppgifter Innehåll 1 Informationsteoretiska begrepp........................ 1 2 Källkodning................................... 4 Copyright c 2004 Bildkodningsgruppen, Linköpings
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 merTSBK04 Datakompression Övningsuppgifter
TSBK04 Datakompression Övningsuppgifter Innehåll 1 Informationsteoretiska begrepp........................ 1 2 Källkodning................................... 4 Copyright c 2004 Bildkodningsgruppen, Linköpings
Läs merMoment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61
Moment 5.5 Övningsuppgifter I 5.0a. 5.0b, 5.0.c, 1 Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång. Kvadratiska
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 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 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 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 mer729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Modellering av frasstruktur Lars Ahrenberg 2015-05-04 Plan Formell grammatik språkets oändlighet regler Frasstrukturgrammatik Kontextfri grammatik 2 Generativ grammatik
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 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 merMoment Viktiga exempel Övningsuppgifter
Moment Viktiga exempel Övningsuppgifter Inga Inga Inga Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång.
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 mer2MA105 Algebraiska strukturer I. Per-Anders Svensson
2MA105 Algebraiska strukturer I Per-Anders Svensson Föreläsning 4 Innehåll Bijektiva avbildningar en repetition Permutationsgrupper Permutationer skrivna som produkter av cykler Jämna och udda permutationer
Läs merKvalificeringstävling den 30 september 2008
SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Kvalificeringstävling den 30 september 2008 Förslag till lösningar Problem 1 Tre rader med tal är skrivna på ett papper Varje rad innehåller tre
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 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 merFöreläsning 6: Induktion
Föreläsning 6: Induktion Induktion är en speciell inferensregel. En mängd är välordnad om varje delmängd har ett minsta element Exempel: N är välordnad (under ) Låt P(x) vara ett predikat över en välordnad
Läs merkind spelling Scanning
sats terminal Kompilatorteknik 2015 källprogram! Exempel program let var v : integer; const t ~ 3 in v := v + t kind spelling Scanning LET let föreläsningsfilmer Scannerns eller den lexikala analysatorns
Läs merAUBER 95 9 jan LÖSNINGAR STEG 1:
AUBER 95 9 jn AR. Den finit utomten nedn ccepterr ett språk L över = {, }. A B ε Konstruer ) ett reguljärt uttryck för L. ) L = ( ( ) ) = ( ) ) en reguljär grmmtik för L S A S A c) en miniml DFA för L.
Läs merMÖNSTER OCH TALFÖLJDER
MÖNSTER OCH TALFÖLJDER FÖRELÄSNINGENS INNEHÅLL OCH SYFTE Genomgång av viktiga matematiska begrepp, uttryck och symboler med anknytning till mönster och talföljder. Skälet till att välja detta innehåll
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 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 merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merKomplexitetsklasser och repetition
Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 12 Komplexitetsklasser och repetition Uppgifter på komplexitetsklasser co-np-fullständighet Ett diskret tekniskt diagnosproblem
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 merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merUppgift 1 ( Betyg 3 uppgift )
2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal
Läs merFöreläsning 1: Tal, mängder och slutledningar
Föreläsning 1: Tal, mängder och slutledningar Tal Tal är organiserade efter några grundläggande egenskaper: Naturliga tal, N De naturliga talen betecknas med N och innehåller alla positiva heltal, N =
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 merTAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26
TAIU07 Matematiska beräkningar med MATLAB för MI Fredrik Berntsson, Linköpings Universitet 15 januari 2016 Sida 1 / 26 TAIU07 Kursmål och Innehåll Målet med kursen är att Ge grundläggande färdighet i att
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 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 merUppgifter till praktiska tentan, del A. (7 / 27)
Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att
Läs merLösningsförslag till exempeltenta 2
Lösningsförslag till exempeltenta 2 1 1. Beskriv hur man kan söka igenom en tvådimensionell array. Beskriv pseudokoden och förklara så klart som möjligt hur den fungerar. Lösning: Se laboration 3. - Beskriv
Läs merPROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007
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
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
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 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 mer