TMA4140 Diskret Matematikk Høst 2016

Like dokumenter
IN2080. Oppgave 1. Oppgave 2. Eksamen. Vår Den nondeterministiske endelige automaten A er gitt ved (Q, Σ, δ, q 0, F ) der

Løsningsforslag til obligatorisk oppgave 3 INF1800 Logikk og beregnbarhet, høsten 2009

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG

TMA4140 Diskret Matematikk Høst 2018

Eksamensoppgave i TMA4140 Diskret matematikk

TMA4140 Diskret Matematikk Høst 2018

Eksamensoppgave i TMA4140 Diskret matematikk

TMA4140 Diskret Matematikk Høst 2016

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. INF1080 Logiske metoder for informatikk

Løsningsforslag oblig. innlevering 1

MAT1030 Diskret matematikk

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

LØSNINGSFORSLAG EKSAMEN VÅR07, MA0301

UNIVERSITETET I OSLO

MIDTSEMESTERPRØVE I TMA4140 Diskret matematikk. 13. oktober 2017 Tid:

Eksamensoppgave i TMA4140 Diskret matematikk

LØSNINGSFORSLAG UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. Oppgave 1 Mengdelære (10 poeng)

Innføring i bevisteknikk

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk

EKSAMEN I FAG TMA4140 DISKRET MATEMATIKK Tirsdag 16. desember 2003 Tid :

Matematikk for IT Eksamen. Løsningsforslag

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

Eksamen i Elementær Diskret Matematikk - (MA0301)

LØSNINGSFORSLAG EKSAMEN MNF130 VÅREN 2010 OPPGAVE 1

Plenumsregning 10. Diverse ukeoppgaver. Roger Antonsen april Vi øver oss litt på løse rekurrenslikninger.

MIDTSEMESTERPRØVE I FAG TMA4140 DISKRET MATEMATIKK Mandag 20. oktober 2003 Tid : INSTRUKSJONER:

Turingmaskiner en kortfattet introduksjon. Christian F Heide

UNIVERSITETET I OSLO

INF1080 Logiske metoder for informatikk. 1 Små oppgaver [70 poeng] 1.1 Grunnleggende mengdelære [3 poeng] 1.2 Utsagnslogikk [3 poeng]

Turingmaskiner en kortfattet introduksjon. Christian F Heide

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

MAT1030 Diskret Matematikk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

INF2080 Logikk og beregninger

Kap. 5, del 1: Parsering nedenfra-opp (Bottom-up parsering) INF / Stein Krogdahl Ifi, UiO

Følger Sipsers bok tett både i stoff og oppgaver.

EKSAMEN. Oppgavesettet består av 16 oppgaver. Ved sensur vil alle oppgaver telle like mye med unntak av oppgave 6 som teller som to oppgaver.

UNIVERSITETET I OSLO

TMA4140 Diskret Matematikk Høst 2016

EKSAMEN. Emne: Emnekode: Matematikk for IT ITF Dato: Eksamenstid: til desember Hjelpemidler: Faglærer:

MIDTSEMESTERPRØVE I TMA4140 Diskret matematikk. 14. oktober 2016 Tid:

UNIVERSITETET I OSLO

Oppgaver til INF 5110, kapittel 5

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1:

MAT 1110: Bruk av redusert trappeform

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon.

MAT1030 Diskret matematikk

Slides til 12.1 Formelt språk og formell grammatikk

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

Oppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr Dette er versjon fra 28/7

FASIT/LF FOR EKSAMEN TMA4140, H07

MA2401 Geometri Vår 2018

Forelesning 6 torsdag den 4. september

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Hjemmeeksamen 1 i INF3110/4110

Løsningsforslag Øving 7 TMA4140 Diskret matematikk Høsten 2008

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110. Stein Krogdahl Ifi, UiO

Løsningsforslag for 1. obligatoriske oppgave høsten 2014

TMA4100 Matematikk 1, høst 2013

EKSAMEN. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

Cr) Høgskoleni østfold

Løsningsforslag Øving 9 TMA4140 Diskret matematikk Høsten i for i = 0, 1, 2, 3, 4, og så er W 4 svaret

LØSNINGSFORSLAG SIF5015 DISKRET MATEMATIKK Onsdag 18. desember 2002

TMA4100 Matematikk 1 Høst 2014

Bottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og SLR(1) grammatikker INF5110 v2006

Litt mer mengdelære. INF3170 Logikk. Multimengder. Definisjon (Multimengde) Eksempel

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Prøveeksamen 2016 (med løsningsforslag)

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

Forelesning 7 mandag den 8. september

MAT1030 Diskret Matematikk

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

INF3110 Programmeringsspråk

Analysedrypp I: Bevis, mengder og funksjoner

LF, KONTINUASJONSEKSAMEN TMA

MA1202/MA S løsningsskisse

En repetisjon hrj høst 2009

MAT1030 Diskret matematikk

Grafteori. MAT1030 Diskret matematikk. Induksjonsbevis

Transkript:

Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag TMA44 Diskret Matematikk Høst 26 Seksjon 3. Husk at w = λ, den tomme strengen, for enhver streng w. 4 a) Følgende utledning/derivasjon viser at strengen tilhører språket generert av G: S S S S A. b) Alle produksjoner resulterer i en streng som slutter med S, A eller. Det medfører at alle strenger i L(G) slutter på. Dermed har vi at L(G). c) I starten av enhver utledning bruker vi produksjonen S S ingen eller flere ganger, etterfult av produksjonen S A. På dette tidspunktet har vi en streng på formen A. Videre bruker vi produksjonen A A ingen eller flere ganger og avslutter med A. Fra dette ser vi at språket generert av G er L(G) = { m n m,n 3}. 6 d) Her kan vi enten begynne med produksjonen S AA eller S B. Begynner vi med førstnevnte kan vi produsere enhver streng bestående kun av a er, av partalls lengde større eller lik 4, da hver A gir opphav to nye a er. Begynner vi med sistnevnte kan vi istedet produsere enhver streng av bestående kun av b er av lengde større eller lik. Summa sumarum får vi L(G) = {a 2m m 2} {b n n }. e) Her må vi begynne med produksjonen S AB. Videre vil bruk av produksjonene A a Ab og B bb a kunne generere a k b k i første del av strengen, og b l a l i andre del av strengen. Vi kan når som helst terminere ved å bruke produksjonene A λ og B λ. Dermed får vi at L(G) = {a k b k+l a l k,l }. 2 Vi ønsker å finne en kontekstfri grammatikk som genererer språket av alle palindromer over alfabetet {, }, dvs. alle bitstrenger som leses likt forlengs som baklengs. Et eksempel på et palindrom er. Vi gjør nå en viktig observasjon. For en streng w lar vi w R betegne den reverserte strengen. For eksempel er R =. En streng w {,} er et palindrom hvis og bare hvis w = vv R w = vv R w = vv R for en streng v {,}. I eksempelet over ser vi at = ()() R. Vi kan bruke denne observasjonen til 7. november 28 Side av 5

å bygge alle palindromer ved å legge til like terminaler på hver side i strengen fra midten (siden siste symbol i v er først symbol i v R osv.). Til slutt kan vi legge til, eller λ i midten, avhengig om vi vil ha en streng av odde eller partalls lengde. Grammatikken skal være kontekstfri som betyr at enhver produksjon kun skal ha én enkelt ikke-terminal på vensteresiden. Vi setter G = (V,T,S,P), der V = {,,S}, T = {,} og produksjonene, P, er som følger: S S, S S, S λ, S, S. Seksjon 3.3 8 Merk at oppgaven ber oss om å bevise eller motbevise hvorvidt hver av påstandene er sanne for alle A V. a) Usann: For A = {} har vi A A 2 = {}. b) Usann: Vi har = 2 og λ. Merk at påstanden er sann for alle A som er ikketomme. Hvis A kan vi la w A være en streng av korteste lengde i A (merk at det kan være flere av denne lengden). Hvis A = A 2 så har vi at w = uv, der u, v A. Men siden w har kortest lengde av alle strengene i A må vi ha at u = λ eller v = λ, så λ A. c) Sann: Siden wλ = w for enhver streng w ser vi at påstanden er sann. d) Sann: Vi beviser at (A ) = A ved å vise at begge er delmengder av hverandre. Per definisjon er (A ) = k= (A ) k, så vi ser at A (A ) (k = ). For å vise den motsatte inklusjonen lar vi w være en vilkårlig streng i (A ). Igjen per definisjon har vi at w er en konkatinering av strenger fra A, dvs. at w = v v m, der v i A. Hver v i er igjen en konkatinering av strenger fra A, dvs. at v i = v i, v i,ni hvor v i,n j A. Det betyr at w kan skrives på formen w = v, v,n v 2, v 2,n2 v m, v m,nm, som viser at w er en konkatinering av strenger fra A. Ergo er w A. Dette viser at (A ) A. e) Usann: Hvis λ A så er A A A fordi λ A A, mens λ A. f) Usann: For A = {,} har vi A 2 = {,,}, så A 2 = 3 4 = A 2. a) Ja. b) Nei. c) Ja. d) Ja. e) Nei. f) Nei. 7. november 28 Side 2 av 5

2 a) Ved kjøring på strengen havner vi i s, så denne strengen aksepteres. b) Ved kjøring på strengen havner vi i s, så denne strengen aksepteres ikke. c) Ved kjøring på strengen havner vi i s, så denne strengen aksepteres. d) Ved kjøring på strengen havner vi i s, så denne strengen aksepteres. 6 s er en final tilstand så λ aksepteres. Videre ser vi at aksepteres, og hvis en streng starter med vil den også aksepteres siden vi forblir i s. Til slutt ser vi at strenger som begynner med, etterfulgt av ingen eller flere ere og så en vil aksepteres (uansett hva som kommer etter andre er). De tre typene strenger som aksepteres er derfor λ, ( ) og ( ). Språket som aksepteres av automaten kan beskrives som henholdsvis mengde, regulært uttrykk, og med ord som følger: i) L(M) = {λ} {w w {,} } { n w n N, w {,} } ii) L(M) = λ ( ) ( ) iii) Språket L(M) består av den tomme strengen samt alle strenger som begynner med, og alle strenger som har minst to er. 22 Vi går gjennom alle mulighetene som leder oss til en final tilstand. Først ser vi at λ aksepteres siden s er en final tilstand. Videre ser vi at bringer oss til s og derfor aksepteres. Til slutt ser vi at strengene som tar oss til s 5 er på formen og. Språket som aksepteres av automaten kan beskrives som henholdsvis mengde og regulært uttrykk som følger: i) L(M) = { n n N} { n n N} { m n m,n N} { m n m,n N} ii) L(M) = Det regulære uttrykket kan eventuelt skrives mer kompakt (men mindre lesbart) som (λ ( ) ). Merk forøvrig at s 4 er en «søppeltilstand», som betyr at hvis vi først havner der kommer vi oss ikke ut igjen, og aksepteres dermed ikke. Det betyr at strenger som begynner med for eksempel ikke vil aksepteres. 24 Vi ønsker å lage en automat som gjenkjenner språket bestående av alle bitstrenger som slutter med. Vi trenger derfor å holde rede på hvilke to symboler som ble lest sist. Vi lar de ulike mulighetene være representert ved tilstander som følger: s ikke lest noenting s kun lest s 2 kun lest s 3 siste to leste er s 4 siste to leste er s 5 siste to leste er 7. november 28 Side 3 av 5

s 6 siste to leste er Vi ser at s blir starttilstanden og s 5 blir eneste aksepttilstand. Denne automaten blir som følger: s s 3 s 4 start s s 2 s 6 s 5 Vi kan lage en ekvivalent automat med 3 tilstander ved å observere at vi egentlig bare trenger å holde rede på «hvor langt unna» å slutte på vi er. Vi er enten to steg unna (siste to leste er, eller vi har kun lest eller λ), ett steg unna (siste leste er ), eller vi er i mål (siste to leste er ). Hvis vi lar tilstandene ξ, ξ og ξ 2 holde rede på disse får vi følgende automat: ξ start ξ ξ 2 36 Vi ønsker nå å lage en automat med fire tilstander som gjenkjenner språket bestående av alle bitstrenger som har et odde antall er og et like antall ere. Siden vi skal ha 4 tilstander er det naturlig å ha tilstander som holder rede på følgende: Tilstand Antall ere Antall ere s Like Like s Odde Like s 2 Like Odde s 3 Odde Odde Når vi begynner å lese en streng har vi lest null er og null ere, så s blir starttilstanden. 7. november 28 Side 4 av 5

Eneste aksepttilstand er s. Denne automaten blir da som følger: start s s s 2 s 3 7. november 28 Side 5 av 5