Inhoud leereenheid 1. Introduction to the theory of computation. Introductie 13. Leerkern 15. Zelftoets 22. Terugkoppeling 23

Maat: px
Weergave met pagina beginnen:

Download "Inhoud leereenheid 1. Introduction to the theory of computation. Introductie 13. Leerkern 15. Zelftoets 22. Terugkoppeling 23"

Transcriptie

1 Inhoud leereenheid 1 Introduction to the theory of computation Introductie 13 Leerkern 15 1 Mathematical preliminaries and notation 15 2 Three basic concepts 16 3 Some applications 19 4 Kennismaking met JFLAP 19 Zelftoets 22 Terugkoppeling 23 1 Uitwerking van de opgaven 23 2 Uitwerking van de zelftoets 31 12

2 Leereenheid 1 Introduction to the theory of computation I N T R O D U C T I E Strings en talen zijn voor de theorie van formele talen wat elementen en verzamelingen zijn voor de verzamelingenleer, of getallen voor de rekenkunde: de objecten waar de theorie over gaat. In deze leereenheid maakt u kennis met deze objecten en alle basisbegrippen die in deze cursus aan bod komen. Voor de beheersing van deze kernbegrippen is het goed om veel te oefenen. Dat doen we met pen en papier en ook met behulp van het elektronische gereedschap JFLAP (Java Formal Language and Automata Package), een interactieve softwaretool voor het visualiseren en experimenteren met formele talen en automaten. Aan het einde van deze leereenheid maakt u kennis met JFLAP. LEERDOELEN Na het bestuderen van deze leereenheid wordt verwacht dat u van een taal kunt aangeven of deze eindig of oneindig is de concatenatie van twee strings en van twee talen kunt bepalen het verschil kunt aangeven tussen de lege string, de lege taal en de taal met alleen de lege string het complement, het spiegelbeeld, de n-de macht, de Kleeneafsluiting en de positieve afsluiting van een taal kunt geven met gebruik van de op strings, talen en verzamelingen gedefinieerde operaties, talen nauwkeurig kunt beschrijven zulke beschrijvingen kunt interpreteren een grammatica met behulp van een viertupel kunt definiëren de productieregels van een grammatica kunt gebruiken om een afleiding van een string te geven kunt omschrijven wat een deterministische en een niet-deterministische automaat is twee voorbeelden van toepassingen van de theorie van formele talen en automaten kunt geven de betekenis kunt geven van de volgende kernbegrippen uit deze leereenheid: alfabet, symbool, string, taal, formele taal, prefix, suffix, substring, grammatica, automaat, accepter, transducer. OU 13

3 Formele talen en automaten Terminologie Engels accepter automaton (automata) cycle derivation derive deterministic difference edge empty string finite, infinite formal language grammar input file intersection language move nondeterministic path positive closure powerset production proof by contradiction quadruple reverse sentence sentential form set star-closure start state storage subset terminal symbol transition function union variable vertex vertices walk Nederlands automaat automaat (automaten) cykel afleiding afleiden deterministisch verschil kant, zijde, overgang lege string eindig, oneindig formele taal grammatica invoerbestand, invoerstring doorsnede taal beweging niet-deterministisch pad positieve afsluiting machtsverzameling productieregel bewijs uit het ongerijmde viertupel spiegelbeeld, omgekeerde zin partiële afleiding, zinsvorm verzameling Kleene-afsluiting, afsluiting startsymbool toestand geheugen deelverzameling eindsymbool overgangsfunctie vereniging hulpsymbool knooppunt, knoop knooppunten, knopen wandeling Studeeraanwijzingen Bij deze leereenheid hoort chapter 1 van het tekstboek van Linz. Section 1.1 geldt als verplichte voorkennis. Het bestuderen van paragraaf 1 is daarom facultatief. Lees section 1.1 door of bestudeer paragraaf 1 als u uw voorkennis wilt opfrissen. 14 OU

4 Leereenheid 1 Introduction to the theory of computation Bij deze leereenheid hoort ook materiaal op de cd-rom bij het tekstboek van Linz. De studielast van deze leereenheid bedraagt circa 8 uur, waarvan 6 uur voor de bestudering van de theorie en 2 uur voor het oefenen met JFLAP. L E E R K E R N Studeeraanwijzing Lees in Linz de introductie op de chapter. 1 Mathematical preliminaries and notation Facultatief Proof techniques Deze paragraaf correspondeert met section 1.1 in Linz en is facultatief. In deze paragraaf worden basisprincipes uit de wiskunde in vogelvlucht uitgelegd. In subsection Proof techniques in Linz wordt gesproken over een sequence of statements P1, P2, Daarmee wordt bedoeld dat er een bewering P is waarin een natuurlijk getal voorkomt, zoals bijvoorbeeld n = n(n + 1) / 2. Met P1 bedoelen we dan de bewering 1 = 1(1 + 1) / 2, met P2 bedoelen we = 2(2 + 1) / 2 enzovoort. Je kunt dit inderdaad zien als een rij beweringen, maar je zou ook kunnen zeggen dat het één bewering is voor willekeurige n dat maakt voor de rest van het verhaal niet uit. Het idee achter inductie is als volgt. Als je weet dat bijvoorbeeld P1, P2 en P3 waar zijn èn dat vanaf dat moment (dus voor n 3) geldt dat Pn+1 volgt uit Pn, dan weet je dat Pn geldt voor alle n. Je kunt dan namelijk uit de waarheid van P3 de waarheid van P4 afleiden, en daaruit die van P5 enzovoort. Er zijn drie stappen te herkennen in een inductiebewijs: de basis: het controleren van de bewering voor een eindig aantal startwaarden, de inductiehypothese: de aanname dat Pn geldt voor een zekere n, en de inductiestap: het bewijs dat Pn+1 volgt uit Pn. In sommige inductiebewijzen worden de afzonderlijke onderdelen (basis, inductiehypothese en inductiestap) duidelijk en in deze volgorde aangegeven, maar het kan ook voorkomen dat de basis pas achteraf wordt gecontroleerd en dat de inductiehypothese niet expliciet genoemd wordt. In sommige gevallen is de hier beschreven inductiehypothese niet sterk genoeg, en hebben we als inductiehypothese de aanname Pn geldt voor alle n tot en met een zekere k nodig; dit heet volledige inductie. In de inductiestap moet dan bewezen worden dat Pk+1 volgt uit P1, P2,,Pk. OPGAVE 1.1 Maak exercise 27 uit section 1.1 van Linz. OU 15

5 Formele talen en automaten 2 Three basic concepts Studeeraanwijzing Erratum in Linz Substring Prefix Suffix Kleene-afsluiting Positieve afsluiting Bestudeer in Linz section 1.2, subsection Languages. Pagina 18, regel 3: in plaats van by induction characters moet staan by induction on the number of symbols of v. Als v een substring is van w, dan gebruiken we de notatie v sub w. Als geldt w = uv, dan gebruiken we de notatie u pref w en v suf w om aan te geven dat u een prefix is van w en v een suffix is van w. De oneindige verzameling van alle machten van een taal, L*, heet de Kleene-afsluiting (of gewoon afsluiting). Naast de Kleene-afsluiting gebruikt men ook wel de positieve afsluiting, L +. Deze afsluiting bestaat uit de vereniging van alle machten van de taal L, met uitzondering van L 0. OPGAVE 1.2 We zijn het woord taal intussen een aantal keer tegengekomen: in de uitdrukkingen programmeertaal, formele taal en natuurlijke taal, en ook gewoon los. Wat zijn de verschillen en overeenkomsten tussen deze voorkomens van het woord taal? Geef ook voorbeelden van iedere soort taal. Denk ook eens na over het verband tussen het alfabet van een formele taal en dat van een natuurlijke taal, en over strings (woorden) in beide soorten talen. Taal Alfabet String In de rest van deze cursus gebruiken we de begrippen taal, string en alfabet over het algemeen in de formele-talenbetekenis: een (formele) taal is een mogelijk oneindige deelverzameling van Σ*, ofwel een (mogelijk oneindige) verzameling strings over een zeker alfabet Σ. Een alfabet is een eindige niet-lege verzameling symbolen, en een string is een eindig rijtje symbolen. OPGAVE 1.3 Gegeven is het alfabet Σ = {a, b,..., z, _} waar _ een spatie representeert. Geef een paar strings over het alfabet Σ. OPGAVE 1.4 Is Σ een taal over Σ? OPGAVE 1.5 In subsection Languages heeft u in example 1.9 en 1.10 twee manieren gezien om een taal te definiëren. Wat zijn de twee manieren? OPGAVE 1.6 Maak exercise 4 uit section 1.2 van Linz. OPGAVE 1.7 Maak exercise 5 uit section 1.2 van Linz. OPGAVE 1.8 Gegeven is de taal L van alle even binaire getallen, dat wil zeggen alle getallen gevormd met de cijfers 0 en 1 waarvan het laatste cijfer 0 is. Geef een formele specificatie van deze taal. 16 OU

6 Leereenheid 1 Introduction to the theory of computation OPGAVE 1.9 Gegeven zijn de twee talen L1 = {a, ab} en L2 = {a, ac, acc}. Wat is L1L2? OPGAVE 1.10 a De lege taal is de taal die geen strings bevat. De lege taal wordt genoteerd met het symbool. Geldt λ =? b Wat is {λ}? Geldt {λ} =? OPGAVE 1.11 Gegeven zijn de volgende talen: L1 = {λ, ab, aabb, aaabbb, aaaabbbb} L2 = {x {a, b}* : a sub x}: de verzameling van alle strings over {a, b} met ten minste één a. L3 = {x {a, b}* : niet (ba suf x)}: de verzameling van alle strings over {a, b} die niet op ba eindigen. L4 = {x {a, b}* : x = x R }: de verzameling van alle palindromen over {a, b}. L5 = {x {a, b, c}* : x = 3}: de verzameling van alle strings over {a, b, c} met lengte 3. a Welke talen zijn eindig? b Welke talen bevatten de lege string? c Geef een omschrijving van L2 L3, van L2 L4 en van L5 L3. OPGAVE 1.12 a Is Σ*, de Kleene-afsluiting van een niet-leeg alfabet Σ, eindig of oneindig? Motiveer uw antwoord. b Bepaal voor een taal L over Σ en voor L, het complement van L ten opzichte van Σ, de vereniging L L. Wat kunt u zeggen over de waarde van L L? c Maak, door gebruik te maken van het resultaat van a en b, exercise 6 uit section 1.2 van Linz. Studeeraanwijzing Bestudeer in Linz section 1.2, subsection Grammars. Merk op dat definition 1.1 in Linz heel algemeen is, maar dat alle voorbeeldgrammatica's in chapter 1 heel specifiek zijn omdat ze aan strengere eigenschappen (van contextvrije grammatica's; zie hiervoor leereenheid 5) voldoen. OPGAVE 1.13 a Aan het begin van subsection Grammars is een grammatica gegeven voor het vormen van simpele zinnen in het Engels. Wat zijn de productieregels, het startsymbool, de hulpsymbolen en de eindsymbolen? b Als we slechts de productieregels geven, is deze grammatica dan nog eenduidig gedefinieerd? c Geef andere zinnen die met deze grammatica gevormd kunnen worden. OPGAVE 1.14 Wat is in verband met grammatica's het verschil tussen de symbolen en? OU 17

7 Formele talen en automaten OPGAVE 1.15 Welke definitie van een taal kunnen we geven in termen van een grammatica? OPGAVE 1.16 Leg precies uit hoe het bewijs in example 1.11 in Linz in elkaar zit. OPGAVE 1.17 Geef een andere set productieregels voor de grammatica uit example 1.12, waarmee precies dezelfde taal wordt gegenereerd. OPGAVE 1.18 a Maak exercise 11a uit section 1.2 van Linz. Geef eerst een paar voorbeeldstrings uit de gegeven verzameling. b Maak exercise 11c uit section 1.2 van Linz. Geef eerst een paar voorbeeldstrings uit de gegeven verzameling. c Maak exercise 11d uit section 1.2 van Linz. OPGAVE 1.19 Maak exercise 12 uit section 1.2 van Linz. OPGAVE 1.20 Maak exercise 13 uit section 1.2 van Linz. OPGAVE 1.21 a Maak exercise 14a uit section 1.2 van Linz. b Maak exercise 14d uit section 1.2 van Linz. OPGAVE 1.22 Maak exercise 15b uit section 1.2 van Linz. OPGAVE 1.23 Maak exercise 17 uit section 1.2 van Linz. Geef eerst een paar voorbeeldstrings die door de grammatica kunnen worden gegenereerd, met hun afleidingen. Geef ook strings die niet door de grammatica kunnen worden gegenereerd. OPGAVE 1.24 Lees exercise 18a uit section 1.2 van Linz en de terugkoppeling op pagina 388. Geeft de terugkoppeling de goede grammatica? Motiveer uw antwoord. OPGAVE 1.25 Maak exercise 21 uit section 1.2 van Linz. OPGAVE 1.26 Maak exercise 23 uit section 1.2 van Linz. Studeeraanwijzing Lees in Linz section 1.2, subsection Automata. OPGAVE 1.27 Welke informatie is nodig om een overgangsfunctie te definiëren? 18 OU

8 Leereenheid 1 Introduction to the theory of computation 3 Some applications Studeeraanwijzing Bestudeer section 1.3 in Linz. OPGAVE 1.28 Volgens de naamgevingconventie in Java krijgen klassen een naam die begint met een hoofdletter en methoden een naam die begint met een kleine letter. Stel dat de eindsymbolen in een grammatica voor Java bestaan uit kleine letters (a,.., z), hoofdletters (A,.., Z) en cijfers (0, 1,.. 9). Andere symbolen worden niet gebruikt. Geef, met gebruik van de notatie op pagina 31 in Linz, een grammatica voor klassennamen en een grammatica voor methodenamen. Teken ook in beide gevallen een automaat zoals in figure 1.6 in Linz. OPDRACHT 1.29 Zoek op internet een definitie van de grammatica van Java. Kunt u hierin de definitie van een if-opdracht vinden? NB U hoeft de gevonden informatie niet te interpreteren. OPGAVE 1.30 In het geheugen van een computer of tijdens de overdracht van informatie tussen twee computers kan een storing optreden waardoor de opgeslagen bits verminkt worden. Om zulke verminkingen op te kunnen sporen, voegt men aan een reeks bits vaak extra bits toe ter controle. Zo wordt wel eens één extra bit vooraan de reeks toegevoegd: een 1 geeft aan dat het totaal aantal 1 en (inclusief extra bit) even is, een 0 dat het oneven is. Vervolgens worden pariteitscontroles uitgevoerd, om te kijken of het aantal 1 en nog klopt met wat de pariteitsbit (de extra bit) aangeeft. Het zal duidelijk zijn dat deze controle alleen zinvol is als men aanneemt dat er een oneven aantal bits verminkt kan zijn. Geef een automaat die nagaat of het aantal 1 en in een bitstring even of oneven is. 4 Kennismaking met JFLAP Software Homepage JFLAP Tutorial Handige tips Bouwstenen JFLAP (Java Formal Language and Automata Package) is een interactieve softwaretool voor het visualiseren van en experimenteren met formele talen en automaten. De software is open source. In de cursus gebruiken we versie 7 die u van de cursussite kunt ophalen. Op de cursussite vindt u, naast de software, een link naar de homepage van JFLAP. Deze homepage bevat veel informatie en materiaal voor het werken met de tool. Er is onder andere een uitgebreide tutorial die als helpfunctie gebruikt kan worden. Op de cursussite staat ook een document met handige tips voor het werken met JFLAP. Hierin staat allerlei informatie die anders misschien moeilijk te vinden is. Houd het document (in het begin) paraat als u met JFLAP werkt. Voor de opdrachten in het werkboek zijn bouwstenen samengesteld. Deze treft u ook aan op de cursussite. OU 19

9 Formele talen en automaten cd-rom JFLAP-Activities Studeeraanwijzing Installatie Het tekstboek van Linz bevat een cd-rom met het document JFLAP Activities.pdf (hierna te noemen JFLAP-Activities) en met JFLAP-bestanden voor de exercises uit Linz en uit JFLAP-Activities. Lees in Linz appendix B en in JFLAP-Activities chapter 1. Haal nu het bestand JFLAP.jar op van de cursussite en plaats het bestand in een eigen map op uw computer. JFLAP wordt gestart door te dubbelklikken op de bestandsnaam. U krijgt dan het scherm van figuur 1.1 te zien. FIGUUR 1.1 Startscherm van JFLAP Kopieer de bestanden van de cd-rom van Linz naar uw computer. Gebruikt u daarvoor de zelfstartende procedure, dan krijgt u geen keus voor de installatiemap. Bestanden worden in dat geval in een vaste map geplaatst. Wilt u wel een map kiezen, dan moet u handmatig de bestanden kopiëren. Maak dan een map aan en kopieer daarin van de map Activities van de cd-rom de map JFLAP files en het bestand JFLAP Activities.pdf. Het werken met JFLAP is vanzelfsprekend. Raadpleeg bij problemen de tutorial op de JFLAP homepage, de helpfunctie van de software of het document met handige tips van de cursussite. Studeeraanwijzing Lees nu in JFLAP-Activities van chapter 2 de introductie en section 2.1, zonder daarbij de opdrachten uit te voeren. Start dan, indien nodig, JFLAP. 20 OU

10 Leereenheid 1 Introduction to the theory of computation OPDRACHT 1.31 a Voer in JFLAP de grammatica van example 1.12 uit Linz in en sla de grammatica op in een bestand. b Voer nu in JFLAP de grammatica in die u in opgave 1.17 gemaakt hebt. Sla ook deze grammatica op, onder een zelfgekozen naam. c Probeer in beide grammatica's de invoerstrings aabbb, aabb, abb, abbb en λ. Gebruik hiervoor de menuopties Input CYK Parse, Input Multiple CYK Parse en Input Brute Force Parse. Bekijk ook hoe de afleidingen van de strings eruit zien. NB: JFLAP toont meer informatie dan wat u op dit moment (en ook na afloop van de cursus) kunt begrijpen. Probeer daar overheen te kijken en alleen te concentreren op wat wel te begrijpen is en wat in de opdrachten gevraagd wordt. Het kan zijn dat de optie Input Brute Force Parse te traag werkt op uw computer. Sla dit onderdeel dan over. OPDRACHT 1.32 a Open het bestand Jexample1.13.jff uit de map JFLAP Activities JFLAP Files JFLAP Examples. Deze grammatica accepteert de lege string, maar het is niet mogelijk om dit in JFLAP te controleren. Ga dit na. b Wijzig nu de grammatica opdat deze niet meer de lege string genereert maar voor de rest dezelfde taal genereert. Controleer het in JFLAP. OPDRACHT 1.33 a JFLAP kan, behalve voor het specificeren van grammatica's, ook goed gebruikt worden voor het tekenen van automaten. In paragraaf 3 heeft u al een paar voorbeelden gezien. Bekijk de automaat van figure 1.6 in Linz en teken de automaat in JFLAP. NB Twee van de drie labels geven verschillende opties. Zo moet u de overgang met label letter of undrscr interpreteren als een overgang met label letter en een overgang met label undrscr. b Het is in JFLAP ook mogelijk om een toestand als eindtoestand (final) te markeren. Hoe moeten de toestanden 2 en 3 gemarkeerd worden als eindtoestand? JFLAP biedt vele manieren om te experimenteren met grammatica's, automaten en andere onderwerpen uit de theorie. We raden u aan om veel gebruik te maken van deze tool bij de bestudering van de cursus. Als er in het vervolg bij een opgave niets vermeld staat, ben u vrij om JFLAP wel of niet te gebruiken. Bij sommige opgaven zal expliciet gevraagd worden om de tool te gebruiken. Dit mag u dan niet overslaan. Het kan ook gebeuren dat we u afraden om voor een bepaald onderdeel JFLAP te gebruiken. De werkwijze in JFLAP is dan naar ons oordeel te omslachtig of misleidend. Probeer dat advies dan ook op te volgen. OU 21

11 Formele talen en automaten Z E L F T O E T S 1 Geef een definitie van het begrip formele taal. 2 Kan de verzameling van de natuurlijke getallen dienen als alfabet voor een taal? Motiveer uw antwoord. 3 Gegeven is het alfabet Σ = {a, b}. Bepaal L* en L voor a L =. b L = {λ}. c L = {a} d L = {a}*{b} 4 Gegeven is de taal L = {ww R : w {a, b} + }. a Geef drie strings uit deze taal. b Geef een grammatica die deze taal genereert. c Geef een afleiding voor ieder van de drie strings uit onderdeel a. 5 a Geef een beschrijving van de taal die gegenereerd wordt door de grammatica met startsymbool S en met de volgende productieregels: S abs Sba a b Geef een andere verzameling productieregels die dezelfde taal genereert. 22 OU

12 Leereenheid 1 Introduction to the theory of computation T E R U G K O P P E L I N G 1 Uitwerking van de opgaven 1.1 We geven een bewijs met inductie. Basisstap: De bewering is waar voor n = 4: de waarde van 2 4 is 16, en de waarde van 4! is 24. Inductiehypothese: We nemen aan dat de bewering waar is voor een waarde n 4. Inductiestap: We bewijzen dat de bewering dan ook waar is voor n n < n! is waar volgens onze aanname (de inductiehypothese). We moeten nu laten zien dat 2 (n+1) < (n + 1)!, en daarvoor moeten we zorgen dat we ergens een factor 2 n en ergens een factor n! krijgen, want dan kunnen we hopelijk de inductiehypothese gebruiken. Gelukkig geldt dat 2 (n+1) = 2 * 2 n en dat (n + 1)! = (n + 1) * n! De bewering 2 (n+1) < (n + 1)! is dus gelijk aan 2 * 2 n < (n + 1) * n! Deze bewering is waar omdat 2 < (n + 1) en volgens onze aanname 2 n < n! Hiermee is bewezen dat de bewering waar is voor alle waarden van n Een gangbare definitie van het algemene begrip taal is al gegeven in Linz: een systeem dat geschikt is om zekere ideeën, feiten of concepten uit te drukken, inclusief een verzameling symbolen en regels om met die symbolen te werken. Het duidelijkste verschil tussen een natuurlijke en een formele taal is dat een natuurlijke taal vanzelf in de loop der eeuwen ontstaan is (zoals het Nederlands, Frans, Engels en Arabisch), terwijl een formele taal kunstmatig is (zoals bijvoorbeeld Esperanto, en programmeertalen). In de context van deze cursus bedoelen we met een formele taal over het algemeen heel abstract een deelverzameling van Σ*, ofwel een verzameling strings over een zeker alfabet Σ. In die zin is een programmeertaal misschien niet echt een formele taal, want onder de programmeertaal Java verstaan we niet (alleen) de verzameling Java-programma s, maar eerder het geheel van sleutelwoorden, syntaxdefinitie, libraries, typesysteem, compiler enzovoort van Java. Dat lijkt dus erg op de algemene definitie van het begrip taal die we hierboven gaven. Het Nederlands heeft een alfabet dat bestaat uit 26 letters. Met die letters kunnen woorden (strings) gemaakt worden (we laten even in het midden of daar een duidelijke verzameling regels voor bestaat; het is in ieder geval duidelijk dat niet ieder rijtje letters een goed woord oplevert). Woorden kunnen dan weer worden samengevoegd tot zinnen, volgens de grammatica van het Nederlands. Dat levert een oneindige verzameling syntactisch goedgevormde Nederlandse zinnen op (dat wil zeggen, de structuur is goed, maar qua semantiek (betekenis) kan er nog van alles mis zijn!). Als we hier op de formele-talenmanier naar kijken, dan zouden we misschien geneigd zijn te zeggen dat de Nederlandse taal de verzameling bestaande Nederlandse woorden is. Aan de andere kant, formele talen houden zich bezig met de structuur van een taal en niet zozeer met de betekenis, en zo bezien lijkt het logischer om de verzameling goedgevormde zinnen als invulling van het begrip Nederlandse taal te nemen. OU 23

13 Formele talen en automaten Bij programmeertalen geldt ook zoiets: je hebt de verzameling sleutelwoorden (keywords), dat is een (formele) taal over een bepaald alfabet (het is zelfs een reguliere taal, zie leereenheid 2 tot en met 4). Verder heb je de verzameling identifiers, dat is ook een formele (reguliere) taal over een (eventueel ander) alfabet. Dan heb je de verzameling welgevormde programma s, en je zou kunnen zeggen dat dat strings zijn over het alfabet bestaande uit sleutelwoorden, identifiers en bijzondere symbolen zoals {, ; en ). Deze verzameling welgevormde programma s is ook weer een formele taal, maar geen reguliere: het is een contextvrije taal (leereenheid 5 tot en met 8). Kortom: de begrippen alfabet, string (woord) en taal betekenen niet in iedere context precies hetzelfde, maar de overeenkomsten zijn (natuurlijk) groot. 1.3 De strings aaa, als en ik_zing zijn drie strings over het alfabet Σ. Ze zijn namelijk allemaal opgebouwd uit symbolen uit het alfabet. De string dit_een_boek_is is ook een string over het alfabet Σ, maar geen string (geen zin) uit de Nederlandse taal. 1.4 Een taal over Σ is een deelverzameling van Σ*. Σ Σ*. Dus Σ is een taal over Σ. 1.5 Eén manier is door een formele specificatie te geven, gebruikmakend van de notaties uit de verzamelingenleer. Tussen accolades worden de regels gegeven waarmee alle correcte strings uit de taal kunnen worden opgebouwd. Zie bijvoorbeeld example Een andere manier is door, voor een eindige taal, een opsomming te geven van alle strings uit de taal. Zie het voorbeeld {a, aa, aab} in example 1.9. NB In de cursus zult u nog andere manieren tegenkomen; zie bijvoorbeeld opgave 1.8 met een beschrijving van een taal. 1.6 Zie de terugkoppeling in Linz op pagina Zie de terugkoppeling in Linz op pagina 387. Een alternatief is L = {w {a, b}* : w aa en w bb}. 1.8 L= {x {0, 1}* : 0 suf x}. 1.9 L1L2 = {aa, aac, aacc, aba, abac, abacc} a Nee, λ is de lege string, dus een leeg rijtje symbolen. is de lege taal, ofwel de lege verzameling. Een string en een taal, ofwel een rijtje en een verzameling, kunnen nooit gelijk zijn. b {λ} is de taal die alleen de lege string bevat. Deze taal heeft één element en is dus niet de lege taal: {λ} a De talen L1 en L5 zijn eindig. De andere talen zijn oneindig. b De talen L1, L3 en L4 bevatten de lege string; de andere talen niet. c L2 L3 = {a, b}*. Beschouw immers een willekeurige string x {a, b}*. Als x op ba eindigt, dan bevat x een a en zit dus in L2. Eindigt x daarentegen niet op ba, dan zit x in L3. We hebben nu aangetoond dat {a, b}* L2 L3. De inclusie de andere kant op is duidelijk. 24 OU

14 Leereenheid 1 Introduction to the theory of computation L2 L4 bestaat uit alle palindromen over {a, b} met ten minste één a. L5 L3 bestaat uit alle strings over {a, b, c} met lengte 3, met uitzondering van de strings met alleen a's en b's die niet op ba eindigen, dus met uitzondering van aaa, abb, baa, en bbb. Schrijven we deze taal uit, dan krijgen we: L5 L3 ={aac, aba, abc, aca, acb, acc, bac, bba, bbc, bca, bcb, bcc, caa, cab, cac, cba, cbb, cbc, cca, ccb, ccc} a De Kleene-afsluiting Σ* van een niet-leeg alfabet is altijd oneindig. Σ* = Σ 0 Σ 1 Σ 2... Σ n... met n. Omdat oneindig is, is Σ* oneindig. b Uit de definitie van L volgt direct dat L L = Σ*. Omdat L en L disjunct zijn geldt L L = L + L. c We geven een bewijs uit het ongerijmde. Stel L en L zijn beide eindig. Dan is de som L + L een natuurlijk getal. Dit is in tegenspraak met L L = Σ* en het feit dat Σ* oneindig is. Onze aanname is dus niet juist: op zijn minst één van de twee talen is oneindig a De productieregels zijn: sentence noun_phrase predicate article article noun noun verb verb noun_phrase predicate article noun verb a the boy dog runs walks Het startsymbool is sentence. De hulpsymbolen zijn sentence, noun_phrase, predicate, article, noun en verb. Eindsymbolen zijn symbolen die niet meer met behulp van productieregels afgeleid kunnen worden. Hier zijn de eindsymbolen a, the, boy, dog, runs en walks. In tegenstelling tot wat we gewend zijn (een eindsymbool is meestal één symbool uit een alfabet), zijn eindsymbolen hier complete woorden. b Uit de productieregels kunnen we eenvoudig opmaken wat de hulpsymbolen en eindsymbolen zijn. Eindsymbolen komen namelijk niet voor aan de linkerkant van een productieregel. Het is lastiger om het startsymbool te bepalen. Starten we de vorming van een Engelse zin bij noun dan kunnen we met de grammatica geen volledige zinnen meer maken. Om deze grammatica eenduidig te definiëren kunnen we volstaan met het geven van de productieregels en het startsymbool. NB: Dit hoeft niet te gelden voor alle grammatica's. Bij twijfels, geef het volledige viertupel bij de definitie van een grammatica. In ieder geval moet u zich er bij het geven van een definitie van een grammatica altijd van vergewissen dat de gegeven definitie eenduidig is. Vaak wordt S als startsymbool gebruikt. Vaak is ook de eerst gegeven productieregel van een grammatica de productieregel die van het startsymbool uitgaat. In Linz wordt het viertupel achterwege gelaten als deze conventies van toepassing zijn. OU 25

15 Formele talen en automaten c De volgende zinnen kunnen ook gevormd worden: the boy walks the boy runs the dog runs a boy walks a dog walks a dog runs Merk op dat we voor de leesbaarheid spaties tussen de eindsymbolen hebben geplaatst Het symbool wordt gebruikt in een productieregel, om aan te geven welke herschrijfstappen toegestaan zijn in een afleiding: de linkerkant van de productieregel mag dan worden vervangen door de rechterkant. Het symbool wordt gebruikt in een afleiding, om aan te geven dat er één (of een onbepaald aantal, dan staat er * ) afleidingsstappen gedaan zijn Een taal is de verzameling van alle strings met alleen eindsymbolen die gegenereerd (gevormd) kunnen worden vanuit het startsymbool van een gegeven grammatica Eerst wordt bewezen dat L(G) {a n b n : n 0}, ofwel dat alle strings uit de taal de vorm a n b n hebben ( We first show that all sentential forms Thus, G can derive only strings of the form a n b n ). Onderdeel van dat bewijs is een inductiebewijs van de bewering all sentential forms must have the form wi = a i Sb i. Eerst wordt de inductiehypothese geformuleerd: Suppose that (1.7) holds for all sentential forms wi of length 2i + 1 or less. Vervolgens wordt de inductiestap bewezen: To get another sentential form so that every sentential form of length 2i + 3 is also of the form (1.7). Merk op dat de inductie hier in stappen van 2 gaat: van 2i + 1 naar 2i + 3. Nu komt de basisstap, voor i = 1: Since (1.7) is obviously true for i = 1. Hiermee is het inductiebewijs klaar ( it holds by induction for all i ), maar hebben we nog een observatie nodig om het bewijs van L(G) {a n b n : n 0} af te ronden: Finally, to get a sentence, G can derive only strings of the form a n b n. Vervolgens wordt bewezen dat ook L(G) {a n b n : n 0}, ofwel: alle strings met de vorm a n b n behoren tot de taal: We also have to show followed by S λ Als we voor G de volgende productieregels nemen, wordt dezelfde taal gegenereerd: S asb S b 1.18 a Een paar voorbeelden zijn a, bba, babbb. De strings bestaan uit eerst een willekeurig aantal (0, 1 of meer) b's, dan één a en ten slotte een willekeurig aantal b's. 26 OU

16 Leereenheid 1 Introduction to the theory of computation Een grammatica die deze taal genereert is de grammatica G = ({B, S}, {a, b}, S, P) met als verzameling productieregels P: S BaB B bb λ b Een paar voorbeelden zijn a, aa, aaa, babb, abab, bbaaba. De strings bevatten maximaal drie a's en tussen alle voorkomens van het symbool a een willekeurig aantal b's. Een grammatica die deze taal genereert is de grammatica G = ({A, B, S}, {a, b}, S, P) met als productieregels P: S BABABAB A a λ B bb λ c Zie de terugkoppeling in Linz op pagina Zie de terugkoppeling in Linz op pagina 387. Alternatieve uitwerking: de enige productieregel voor A is A bs, dus S aa kan gewoon vervangen door S abs. Dan zijn de productieregels S abs λ en is de gegenereerde taal meteen duidelijk Zie de terugkoppeling in Linz op pagina a Zie de terugkoppeling in Linz op pagina 387. Een alternatieve uitwerking is: S Sb Tb T atb λ b Zie de terugkoppeling in Linz op pagina Zie de terugkoppeling in Linz op pagina 387. Een alternatieve uitwerking is S aaas a aa 1.23 De volgende strings kunnen worden afgeleid: S a S asb aasbb aaabb S bsa basba baaba S asb absab abasbab abaabab De strings aaa en abb behoren niet tot de grammatica. We zien dat de strings allemaal een oneven aantal symbolen bevatten, met het symbool a in het midden. De taal bevat dus strings van de vorm w = uav, met u = v. De substrings u en v houden wel verband met elkaar. De string u is een willekeurige string over het alfabet. De string v wordt verkregen door alle symbolen van de string u in spiegelbeeld te nemen en door alle a s te vervangen door een b en alle b's te vervangen door een a. OU 27

17 Formele talen en automaten 1.24 Ja, de terugkoppeling geeft een goede grammatica. De terugkoppeling onderscheidt twee mogelijkheden: De string w begint met een a. De string w begint niet met een a. Andere mogelijkheden zijn er niet. Als de string w met een a begint, dan geldt w = aw1 en is de grammatica zoals aangegeven in Linz: S as1. Als de string w niet met een a begint, dan begint de string met een b. De extra a moet dus verderop in de string nog gegenereerd worden: w = uav (met b pref w). Door eenzelfde teltruc (counting argument) te gebruiken als in example 1.13 kunnen we beredeneren dat moet gelden u, v L1. Dan geldt dus u L1 en aw bevat één a meer dan het aantal b s, en kan de productieregel S S1S worden gebruikt. Samengevat: L = ({S, S1}, {a, b}, S, P) met P is S as1 S1S S1 S1S1 λ as1b bs1b 1.25 De eerste grammatica genereert de lege string, de tweede niet. Ze zijn dus niet equivalent Om te bewijzen dat de twee grammatica's niet equivalent zijn is het voldoende om een tegenvoorbeeld te geven. Zie de terugkoppeling in Linz op pagina Om een overgangsfunctie te definiëren, moeten we voor elke mogelijke combinatie van waarden voor de huidige toestand, het huidige invoersymbool en de informatie in de huidige geheugenlocatie weten wat de nieuwe toestand (of de nieuwe toestanden in geval van niet-determinisme) wordt, wat de gegenereerde output is, en wat de nieuwe inhoud van de geheugenlocatie wordt Voor klassennamen kunnen we de volgende productieregels geven: klassennaam hoofdletter symbolen symbolen symbool symbolen λ symbool hoofdletter kleineletter cijfer hoofdletter A B... Z kleineletter a b... z cijfer Het startsymbool van deze grammatica is klassennaam Voor methodenamen vervangen we de productieregel voor klassennaam door: methodenaam kleineletter symbolen De overige productieregels blijven gelijk. Het startsymbool is nu methodenaam. 28 OU

18 Leereenheid 1 Introduction to the theory of computation De automaat voor klassennamen is: De automaat voor methodenamen is: In beide automaten is toestand 2 de ja-toestand en toestand 3 de neetoestand Door de trefwoorden Java en grammar in een zoekmachine te geven, krijgen we veel links naar de gezochte informatie. Op de cursussite geven we een paar links. We geven hier de productieregels voor if-opdrachten uit één van de gevonden pagina's: IfThenStatement: if ( Expression ) Statement IfThenElseStatement: if ( Expression ) StatementNoShortIf else Statement IfThenElseStatementNoShortIf: if ( Expression ) StatementNoShortIf else StatementNoShortIf Merk op dat hier drie verschillende productieregels worden gegeven waarvan de eerste een if-opdracht zonder else betreft. Merk ook op dat de notatie afwijkend is van de notatie in section 1.3 in Linz. OU 29

19 Formele talen en automaten 1.30 De automaat kan er als volgt uitzien. Na het lezen van de reeks bits staat de automaat in toestand even of oneven, afhankelijk van het gelezen aantal bits met de waarde a Voor het opslaan van de grammatica kies de menuoptie File Save As... Zie Jexample1.12.jff in de map JFLAP Activities JFLAP Files JFLAP Examples. b Een nieuwe grammatica kan ingevoerd worden door in het actieve venster de menuoptie File New te kiezen. c We bespreken in het algemeen de drie manieren. CYK Parse: Selecteer in de afrollijst de optie Derivation Table. Na de invoer van een string geeft een klik op de knop Start (of op Enter) het antwoord of de string wel of niet wordt geaccepteerd. Is de string geaccepteerd, dan levert elke klik op de knop Step een nieuw afleidingsstap op. Multiple CYK Parse: Het is nu mogelijk om in een tabel meerdere strings te geven. Een klik op de knop Run Inputs geeft meteen antwoord voor alle invoer. Het selecteren van een string in de tabel brengt de string over naar het venster links, waar het mogelijk is om de afleidingsstappen en te bekijken. Brute Force Parse: Hier zien we hetzelfde venster als bij CYK Parse a Het is niet mogelijk om de lege string als invoer voor deze grammatica te geven. Er verschijnt een foutmelding die betrekking heeft op het feit dat het startsymbool λ genereert. Dat is blijkbaar niet gewenst. Andere strings kunnen wel ingevoerd worden. b De volgende grammatica genereert niet meer de lege string. Zie ook in de bouwsteen opdracht01.32.b.jff: S SS S asb S bsa S ab S ba 1.33 a Kies de optie Finite Automaton. Er verschijnt een scherm waarop u een automaat kunt tekenen. Gebruik de tweede knop van links, de State creator, voor het toevoegen van toestanden, de derde knop Transition creator voor het toevoegen van overgangen en de vierde knop Deleter voor het wissen van een element. Als de eerste knop, Attribute editor, ingeschakeld is, kunt u toestanden verplaatsen voor een betere lay-out en kunt u, door te rechtsklikken op een toestand, eigenschappen van deze toestand wijzigen. 30 OU

20 Leereenheid 1 Introduction to the theory of computation We gaan als volgt te werk: We plaatsen eerst drie toestanden op het scherm. Daarna wijzigen we de eigenschappen van de toestanden door elk een andere naam te geven (met Set Name) en toestand 1 als begintoestand aan te wijzen (Initial). Dan klikken we op de knop Transition creator en tekenen we de overgangen. Let op: er moeten zes verschillende overgangen getekend worden. JFLAP groepeert ze automatisch. Een overgang die in dezelfde toestand start en eindigt wordt getekend door de muiswijzer op de toestand te plaatsen, dan met ingetrokken linkerknop buiten de toestand te gaan en weer terug in de toestand te komen (dit moet drie keer gebeuren omdat er drie labels zijn). We krijgen het volgende resultaat; zie ook bouwsteen opdracht01.33.a.jff. b Als in het scherm de eerste knop links is geselecteerd, dan kunnen we toestand 2 en 3 als eindtoestand markeren door met de rechtermuisknop op een toestand te klikken en dan de optie Final aan te klikken. De toestanden krijgen dan een dubbele rand. 2 Uitwerking van de zelftoets 1 Een formele taal is een verzameling strings over een alfabet. 2 Nee, een alfabet is immers eindig en de verzameling natuurlijke getallen niet. 3 a is de lege taal. Deze verzameling bevat geen elementen. De machtsverzameling * bevat ook geen elementen. Dus * =. Het complement van bevat alle strings over het alfabet. = Σ* = {a, b}*. b {λ} bevat als enig element de lege string. {λ}* bevat alle mogelijke combinaties van de lege string en dus alleen de lege string. {λ}* = {λ}. Het complement van {λ} bevat alle strings over het alfabet behalve de lege string. { λ } = Σ +. c L* = {a}*, de verzameling van alle strings die uit 0 of meer a s bestaan. L = {b} +, de verzameling van alle strings die uit 1 of meer b s bestaan. d L* bestaat uit alle strings met 0 of meer b s, waaromheen willekeurig veel a s mogen staan. Er geldt dus L* = {a, b}*. OU 31

21 Formele talen en automaten L bevat precies alle strings over {a, b} die niet op een b eindigen, dat wil zeggen, L bevat λ en verder precies alle strings die op een a eindigen. Dus L = {λ} {wa : w {a, b}*}. 4 a Drie voorbeelden zijn bb, abba, abaaba. b Een string begint en eindigt altijd met hetzelfde symbool. De taal kan gegenereerd worden door de grammatica G = ({S}, {a, b}, S, P) met P bestaand uit de volgende productieregels: S asa bsb aa bb c De drie afleidingen zijn: S bb S asa abba S asa absba abaaba 5 a We geven eerst een paar voorbeeldstrings: a, aba, ababa, abababa. De taal is de verzameling strings over het alfabet {a, b} van oneven lengte die beginnen en die eindigen met een a. In de string staan nooit twee a's of twee b's naast elkaar. De taal is dus {(ab) n a : n 0} b De volgende verzameling productieregels genereert dezelfde taal: S abs a 32 OU

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6 Inhoud eindtoets Eindtoets Introductie 2 Opgaven 3 Terugkoppeling 6 1 Formele talen en automaten Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus

Nadere informatie

Finite automata. Introductie 35. Leerkern 36. Zelftoets 44. Terugkoppeling 45

Finite automata. Introductie 35. Leerkern 36. Zelftoets 44. Terugkoppeling 45 Finite automata Introductie 35 Leerkern 36 1 Deterministic finite accepters 36 2 Nondeterministic finite accepters 38 3 Equivalence of deterministic and nondeterministic finite accepters 41 Zelftoets 44

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Inleiding Jeroen Keiren j.j.a.keiren@vu.nl VU University Amsterdam Materiaal Peter Linz An Introduction to Formal Languages and Automata (5th edition) Jones and Bartlett

Nadere informatie

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING TENTAMEN Basismodellen in de Informatica vakcode: 211180 datum: 2 juli 2009 tijd: 9:00 12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Sudkamp, van de

Nadere informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

Formeel Denken. Herfst 2004

Formeel Denken. Herfst 2004 Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen Herfst 2004 Contents 1 Talen 1 1.1

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Beschrijven van reguliere talen Jeroen Keiren j.j.a.keiren@gmail.com VU University Amsterdam 5 Februari 2015 Talen Vorig college: Talen als verzamelingen Eindige automaten:

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Tekstboek 7 2.2 Voorkennis 8 2.3 Leerdoelen 8 2.4 Opbouw van de cursus 9 3 Leermiddelen en wijze van studeren

Nadere informatie

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie   9 mei 2008 Talen & Automaten Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.cs.rug.nl/~wim 9 mei 2008 Talen & automaten Week 1: Inleiding Dit college Talen Automaten Berekenbaarheid Weekoverzicht

Nadere informatie

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1 Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1 Bas Westerbaan bas@westerbaan.name 24 april 2012 1 Opgave 1.1 Een goed en voldoende antwoord is: L 1 = L 2, want L 1 en L 2 zijn alle woorden

Nadere informatie

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken 2014 Uitwerkingen Tentamen Formeel Denken 2014 Uitwerkingen Tentamen (29/01/15) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Als het regent word ik

Nadere informatie

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

Taaltechnologie. Januari/februari Inhoud

Taaltechnologie. Januari/februari Inhoud Taaltechnologie Januari/februari 2002 1 Finite state............................................... 4 1.1 Deterministic finite state automata.................... 4 1.2 Non-deterministic finite state automata................

Nadere informatie

Verzamelingen deel 2. Tweede college

Verzamelingen deel 2. Tweede college 1 Verzamelingen deel 2 Tweede college herhaling Deelverzameling: AB wil zeggen dat elk element van A ook in B te vinden is: als x A dan x B Er geldt: A=B AB en BA De lege verzameling {} heeft geen elementen.

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

3 De stelling van Kleene

3 De stelling van Kleene 18 3 De stelling van Kleene Definitie 3.1 Een formele taal heet regulier als hij wordt herkend door een deterministische eindige automaat. Talen van de vorm L(r) met r een reguliere expressie noemen we

Nadere informatie

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2. opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): ℵ 0 #A, B = {b 0,..., b n 1 } voor een zeker natuurlijk getal

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Mekelweg 4 2628 CD Delft IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, 14.00-17.00 uur BELANGRIJK Beschikbare

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Introductie tot de cursus

Introductie tot de cursus Inhoud introductietalen en ontleders Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en

Nadere informatie

Verzamelingenleer. Inhoud leereenheid 5. Introductie 9

Verzamelingenleer. Inhoud leereenheid 5. Introductie 9 Inhoud leereenheid 5 Introductie 9 1 Verzamelingen 10 2 Deelverzamelingen 15 3 Operaties op verzamelingen 20 3.1 Doorsnede en lege verzameling 20 3.2 Vereniging en verschil 24 3.3 Complement en universum

Nadere informatie

Formele talen. Elfde college

Formele talen. Elfde college 12 Formele talen Elfde college 1 verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights Is Koreaans een formele taal? Nee natuurlijk niet! Alleen, voor

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Inleiding 7 2 Voorkennis 7 3 Het cursusmateriaal 7 4 Structuur, symbolen en taalgebruik 8 5 De cursus bestuderen 9 6 Studiebegeleiding 10 7 Huiswerkopgaven 10 8 Het tentamen

Nadere informatie

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming Recursieve talen De klasse van recursief opsombare talen is gesloten onder en. Echter, het is niet zo dat L recursief opsombaar is voor alle recursief opsombare talen L. Dit bewijzen we met behulp van

Nadere informatie

Formeel Denken 2013 Uitwerkingen Tentamen

Formeel Denken 2013 Uitwerkingen Tentamen Formeel Denken 201 Uitwerkingen Tentamen (29/01/1) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Het is koud, maar er ligt

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

Limits of algorithmic computation. Introductie 213. Leerkern 214. Zelftoets 222. Terugkoppeling 223

Limits of algorithmic computation. Introductie 213. Leerkern 214. Zelftoets 222. Terugkoppeling 223 Limits of algorithmic computation Introductie 213 Leerkern 214 1 Some problems that cannot be solved by Turing machines 214 1.1 Computability and decidability 214 1.2 The Turing machine halting problem

Nadere informatie

Verzamelingen. Hoofdstuk 5

Verzamelingen. Hoofdstuk 5 Hoofdstuk 5 Verzamelingen In de meest uiteenlopende omstandigheden kan het handig zijn om een stel objecten, elementen, of wat dan ook, samen een naam te geven. Het resultaat noemen we dan een verzameling.

Nadere informatie

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2. Datastructuren 2016 Programmeeropdracht 3: Patroonherkenning Deadlines. Woensdag 23 november 23:59, resp. vrijdag 9 december 23:59. Inleiding. Deze opdracht is gebaseerd op Hoofdstuk 13.1.7 in het boek

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

Automaten en Berekenbaarheid 2016 Oplossingen #4

Automaten en Berekenbaarheid 2016 Oplossingen #4 Automaten en Berekenbaarheid 2016 Oplossingen #4 28 oktober 2016 Vraag 1: Toon aan dat de klasse van context vrije talen gesloten is onder concatenatie en ster. Antwoord Meerdere manieren zijn mogelijk:

Nadere informatie

Alle opgaven tellen even zwaar, 10 punten per opgave.

Alle opgaven tellen even zwaar, 10 punten per opgave. WAT IS WISKUNDE (English version on the other side) Maandag 5 november 2012, 13.30 1.30 uur Gebruik voor iedere opgave een apart vel. Schrijf je naam en studentnummer op elk vel. Alle opgaven tellen even

Nadere informatie

Introductie tot de cursus

Introductie tot de cursus Introductie tot de cursus 1 Inleiding 7 2 Het cursusmateriaal 7 3 Structuur, symbolen en taalgebruik 8 4 Voorkennis 9 5 De cursus bestuderen 9 6 Studiebegeleiding 10 7 Het tentamen 11 Introductie tot de

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus Inhoud introductie Introductie tot de cursus 1 Functie en plaats van de cursus 7 1.1 Voorkennis 7 1.2 Leerdoelen 7 2 Opbouw van de cursus 8 2.1 Cursusbestanddelen 8 2.2 Nummering en studielast van de leereenheden

Nadere informatie

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element. Hoofdstuk 2 De regels van het spel 2.1 De gehele getallen Grof gezegd kunnen we de (elementaire) getaltheorie omschrijven als de wiskunde van de getallen 1, 2, 3, 4,... die we ook de natuurlijke getallen

Nadere informatie

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand

Nadere informatie

Opgaven 1. Verwijzingen in deze opgaven betreffen het boek van Peter Linz.

Opgaven 1. Verwijzingen in deze opgaven betreffen het boek van Peter Linz. Opgaven Verwijzingen in deze opgaven betreffen het boek van Peter Linz.. Toon de volgende eigenschappen uit de verzamelingenleer aan: Exercises, 3, 5, 6, 7, 0 blz. 2-3 (neem aan dat er een universele verzameling

Nadere informatie

c, X/X a, c/λ a, X/aX b, X/X

c, X/X a, c/λ a, X/aX b, X/X ANTWOORDEN tentamen FUNDAMENTELE INFORMATICA 3 vrijdag 25 januari 2008, 10.00-13.00 uur Opgave 1 L = {x {a,b,c} n a (x) n b (x)} {x {a,b,c} n a (x) n c (x)}. a. Een stapelautomaat die L accepteert: Λ,

Nadere informatie

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015 Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen

Nadere informatie

Formele talen. Tiende college

Formele talen. Tiende college 12 Formele talen Tiende college 1 verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights Is Koreaans een formele taal? Nee natuurlijk niet! Alleen, voor

Nadere informatie

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica TP Delft Tentamen TI2310 Automaten en Talen 19 april 2012, 14.00-17.00 uur Totaal aantal pagina's (exclusief dit titelblad):

Nadere informatie

Getallensystemen, verzamelingen en relaties

Getallensystemen, verzamelingen en relaties Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,

Nadere informatie

Fundamenten van de Informatica

Fundamenten van de Informatica Fundamenten van de Informatica Luc De Raedt Academiejaar 2006-2007 naar de cursustekst van Karel Dekimpe en Bart Demoen A.1: Talen en Eindige Automaten 1 Deel 1: Inleiding 2 Motivatie Fundamenten van de

Nadere informatie

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785) Tegenvoorbeeld TI1300: Redeneren en Logica College 3: Bewijstechnieken & Propositielogica Tomas Klos Definitie (Tegenvoorbeeld) Een situatie waarin alle premissen waar zijn, maar de conclusie niet Algoritmiek

Nadere informatie

Verzamelingen deel 3. Derde college

Verzamelingen deel 3. Derde college 1 Verzamelingen deel 3 Derde college rekenregels Een bewerking op A heet commutatief als voor alle x en y in A geldt dat x y = y x. Een bewerking op A heet associatief als voor alle x, y en z in A geldt

Nadere informatie

Enkele valkuilen om te vermijden

Enkele valkuilen om te vermijden Enkele valkuilen om te vermijden Dit document is bedoeld om per onderwerp enkele nuttige strategieën voor opgaven te geven. Ook wordt er op een aantal veelgemaakte fouten gewezen. Het is géén volledige

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

Nadere informatie

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science FP-theorie 2IA50, Deel B Inductieve definities 1/19 Inductieve definitie Definitie IL α, (Cons-)Lijsten over α Zij α een gegeven verzameling. De verzameling IL α van eindige (cons-)lijsten over α is de

Nadere informatie

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010 RuG-Informatica-cursus Discrete Structuren, versie 2009/2010 Handout 2B Jan Terlouw woensdag 17 februari 2010 Deze handout sluit aan op handout 2A van maandag 15 februari. De gepresenteerde stof valt grotendeels

Nadere informatie

1. Introductie tot SPSS

1. Introductie tot SPSS 1. Introductie tot SPSS Wat is SPSS? SPSS is een statistisch computerprogramma dat door wetenschappers wordt gebruikt om gegevens te verzamelen, analyseren en te bewerken. Het wordt voornamelijk gebruikt

Nadere informatie

Notatie van verzamelingen. Lidmaatschap. Opgave. Verzamelingen specificeren

Notatie van verzamelingen. Lidmaatschap. Opgave. Verzamelingen specificeren Overzicht TI1300: Redeneren en Logica College 10: Verzamelingenleer Tomas Klos Algoritmiek Groep Colleges 1 2: Bewijstechnieken Colleges 3 9: Propositielogica Vandaag en morgen: Verzamelingenleer Colleges

Nadere informatie

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,,  , \, save, read, protect, unprotect maplev 2010/7/12 14:02 page 15 #17 Module 2 Het gebruik van Maple, vervolg Onderwerp Voorkennis Expressies Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

Nadere informatie

Formele talen. uitgebreid

Formele talen. uitgebreid Formele talen 12 1 uitgebreid verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights is Koreaans een formele taal? nee natuurlijk niet! alleen, voor iemand

Nadere informatie

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste

Nadere informatie

1 Recurrente betrekkingen

1 Recurrente betrekkingen WIS1 1 1 Recurrente betrekkingen 1.1 De torens van Hanoi De torens van Hanoi Edouard Lucas, 1884: Gegeven 3 pinnen en 64 schijven van verschillende grootte. Startsituatie: 64 op linkerpin, geordend naar

Nadere informatie

Combinatoriek groep 1

Combinatoriek groep 1 Combinatoriek groep 1 Recursie Trainingsdag 3, 2 april 2009 Getallenrijen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een directe formule geeft a n in

Nadere informatie

Logische Complexiteit Hoorcollege 4

Logische Complexiteit Hoorcollege 4 Logische Complexiteit Hoorcollege 4 Jacob Vosmaer Bachelor CKI, Universiteit Utrecht 8 februari 2011 Contextvrije grammatica s Inleiding + voorbeeld Definities Meer voorbeelden Ambiguiteit Chomsky-normaalvormen

Nadere informatie

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven Mededelingen TI1300: Redeneren en Logica College 4: Waarheidstafels, Redeneringen, Syntaxis van PROP Tomas Klos Algoritmiek Groep Voor de Fibonacci getallen geldt f 0 = f 1 = 1 (niet 0) Practicum 1 Practicum

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

IN2505 II Berekenbaarheidstheorie. IN2505-II Berekenbaarheidstheorie. Practicum: Inschrijven. Practicum

IN2505 II Berekenbaarheidstheorie. IN2505-II Berekenbaarheidstheorie. Practicum: Inschrijven. Practicum IN2505 II Berekenbaarheidstheorie College 1 Algoritmiekgroep Faculteit EWI TU Delft 7 april 2009 Docent: Colleges/oefeningen: dinsdag 5 + 6 (EWI-A), vrijdag 1 + 2 (AULA-A) Boek: Michael Sipser, Introduction

Nadere informatie

II.3 Equivalentierelaties en quotiënten

II.3 Equivalentierelaties en quotiënten II.3 Equivalentierelaties en quotiënten Een belangrijk begrip in de wiskunde is het begrip relatie. Een relatie op een verzameling is een verband tussen twee elementen uit die verzameling waarbij de volgorde

Nadere informatie

NetBeans tutorial, Rik Eshuis, Kees Huizing versie 2.2 Augustus 2009

NetBeans tutorial, Rik Eshuis, Kees Huizing versie 2.2 Augustus 2009 NetBeans tutorial, Rik Eshuis, Kees Huizing versie 2.2 Augustus 2009 NetBeans is een IDE voor (o.a.) Java, een programma waarmee je Javaprogramma's kunt schrijven en uitvoeren. Deze tutorial bevat informatie

Nadere informatie

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel.

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel. Excel Inleiding Het woord computer betekent zoiets als rekenmachine. Daarmee is is eigenlijk aangegeven wat een computer doet. Het is een ingewikkelde rekenmachine. Zelf voor tekstverwerken moet hij rekenen.

Nadere informatie

Trippeltrap Content Management System

Trippeltrap Content Management System Handleiding Trippeltrap Content Management System versie 2.4 Aanmelden Voordat u de tekst op uw webpagina kunt aanpassen, moet u zich eerst aanmelden. Bovenaan de pagina vindt u een link naar het intranet.

Nadere informatie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Semantiek (2IT40) Jos Baeten.  HG 7.19 tel.: Hoorcollege 3 (12 april 2007) Jos Baeten josb@wintuenl http://wwwwintuenl/~josb/ HG 719 tel: 040 247 5155 Hoorcollege 3 (12 april 2007) Voorbeeld [Bewijstechniek 2 niet altijd succesvol] Executie van commands is deterministisch: c

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.

Nadere informatie

6.8 Lijsten: oefeningen

6.8 Lijsten: oefeningen 6.8 Lijsten: oefeningen Opgaven 44.: Records zoeken Open het document "Autokosten". Klik in de lijst. Kies de opdracht 'Data - Formulier' [Data - Form]. Klik de knop 'Criteria' [Criteria]. Vul als zoekcriterium

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

Oplossingen oefeningen logica en eindige automaten 12 december Het bestand oplnoef12dec.zip bevat de.sen en.fa bestanden met de oplossingen.

Oplossingen oefeningen logica en eindige automaten 12 december Het bestand oplnoef12dec.zip bevat de.sen en.fa bestanden met de oplossingen. Oplossingen oefeningen logica en eindige automaten 12 december 2003 Het bestand oplnoef12dec.zip bevat de.sen en.fa bestanden met de oplossingen. Oefening 1 Deel 1: Logica Vertaal de volgende zinnen in

Nadere informatie

Eerste ronde Nederlandse Wiskunde Olympiade

Eerste ronde Nederlandse Wiskunde Olympiade Eerste ronde Nederlandse Wiskunde Olympiade 23 januari 2 februari 2017 Uitwerkingen A1. C) donderdag In de eerste vier weken van augustus komt elke dag van de week precies viermaal voor. De laatste 31

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

DomJudge-Practicum. Open Dag UU

DomJudge-Practicum. Open Dag UU 1 Introductie DomJudge-Practicum Open Dag UU Bij veel vakken die je volgt tijdens je studie informatica aan de UU, moet je programmeeropdrachten maken. Soms moet je die inleveren zodat ze door de docent

Nadere informatie

Microsoft Office Tekstdocument alle systemen

Microsoft Office Tekstdocument alle systemen Microsoft Office Tekstdocument alle systemen Inleiding In deze les wordt het maken van een tekst document met gebruikmaking van Microsoft Office Word behandeld. (Het gaat hier om één van de oudere versies).

Nadere informatie

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

Reguliere Expressies

Reguliere Expressies Reguliere Expressies Een reguliere expressie (regexp, regex, regxp) is een string (een woord) die, volgens bepaalde syntaxregels, een verzameling strings (een taal) beschrijft Reguliere expressies worden

Nadere informatie

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109 Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6

Nadere informatie

Bijlage bij Getting Started Guide International English Edition

Bijlage bij Getting Started Guide International English Edition Bijlage bij Getting Started Guide International English Edition Chapter 3: Aan de slag met Inspiration, een beginnersles Deze beginnersles is een goed startpunt voor het leren gebruiken van Inspiration.

Nadere informatie

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus Inhoud introductie Introductie tot de cursus 1 Functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Studeeraanwijzingen 9 3.1 Opbouw

Nadere informatie

Handleiding Pétanque Competitie Beheer. (versie 1.1) April 2014

Handleiding Pétanque Competitie Beheer. (versie 1.1) April 2014 Handleiding Pétanque Competitie Beheer (versie 1.1) April 2014 2 Algemeen Het programma Pétanque Competitie Beheer is gratis software voor de verwerking van halve en hele competities tot en met 99 speelrondes

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Deeltentamen Grammatica s en ontleden 22 december 2005

Deeltentamen Grammatica s en ontleden 22 december 2005 Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

Oneindige spelen. Dion Coumans. Begeleider: dr. W. Veldman

Oneindige spelen. Dion Coumans. Begeleider: dr. W. Veldman Oneindige spelen ion Coumans Begeleider: dr. W. Veldman Inhoudsopgave 1 Voorwoord 3 2 efinities 4 3 A is aftelbaar 6 4 Gale-Stewart-stelling 7 5 Stelling van Wolfe 11 2 1 Voorwoord Banach, Mazur en Ulam

Nadere informatie

13. Symbool-, Lijnstijlbibliotheek (Resource Editor)... 1

13. Symbool-, Lijnstijlbibliotheek (Resource Editor)... 1 13. Symbool-, Lijnstijlbibliotheek 13. Symbool-, Lijnstijlbibliotheek (Resource Editor)... 1 13.1. Inleiding...1 13.2. Icoonomschrijving...2 13.3. Menu Bestand...3 13.3.1. Nieuwe Bibliotheek maken... 3

Nadere informatie

Module Limieten van de berekenbaarheid : antwoorden

Module Limieten van de berekenbaarheid : antwoorden Module Limieten van de berekenbaarheid : antwoorden Gilles Coremans 2018 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Dit werk is gebaseerd

Nadere informatie

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Combinatorische Optimalisatie, 2013 Week 1 20-02-2013 Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Opgave 1.16 Bewijs dat elke graaf een even aantal punten

Nadere informatie

Inhoud leereenheid 1. Security en IT: inleiding. Introductie 15. Leerkern 15. Terugkoppeling 18. Uitwerking van de opgaven 18

Inhoud leereenheid 1. Security en IT: inleiding. Introductie 15. Leerkern 15. Terugkoppeling 18. Uitwerking van de opgaven 18 Inhoud leereenheid 1 Security en IT: inleiding Introductie 15 Leerkern 15 1.1 What Does Secure Mean? 15 1.2 Attacks 16 1.3 The Meaning of Computer Security 16 1.4 Computer Criminals 16 1.5 Methods of Defense

Nadere informatie

Tutorial 1, Delphi: Geldspraak

Tutorial 1, Delphi: Geldspraak Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,

Nadere informatie

2.4.4 LibreOffice Werkblad Mac

2.4.4 LibreOffice Werkblad Mac 2.4.4 LibreOffice Werkblad Mac Deze cursus bestaat uit 4 delen. 1. Werkblad gebruiken voor berekeningen 2. Werkblad gebruiken voor het maken van lijsten 3. Werkblad gebruiken voor een (eenvoudige) boekhouding

Nadere informatie