# 12 Turingmachines

Lees deze tekst over de achtergronden en de werking van Turingmachines.

Turing-machine.doc

Het gaat daarbij om zowel een korte beschrijving van het verband met de logica en de grondslagen van de wiskunde (waarover je in die tekst het nodige leest) als het beschrijven van de werking van een voorbeeld van een Turingmachine en het ontwerpen van een Turingmachine.

Opdracht

Schrijf een artikel over Turing-machines waarin:

- je kort iets vertelt over het hoe en waarom van Turing-machines;
- je de werking van de turmac "Laffe hyena" beschrijft;
- je de turmac "Kopieer" ontwerpt (zie bijlage 1);

Bijlage 1.doc

- je zelf minstens één andere Turing-machine (kies uit de gegeven mogelijk-heden in bijlage 1) ontwerpt;
- je beschrijft hoe je twee Turing-machines logisch kunt schakelen (kies uit parallel of in serie, zie bijlage 2).

Bijlage 2.doc

UITWERKING

Het ontwerp van een turmac bestaat uit meer dan alleen het programma zelf. Hieronder volgt puntsgewijs waar je bij de beschrijving van een turmac aan moet denken:

1. Geef zonodig een nadere specificatie van de taak van je turmac, inclusief de vorm waarin invoer geleverd wordt. Extra eisen aan de invoer gelden als kwaliteitsvermindering.
2. Schrijf het idee voor het programma in woorden.
3. Geef het alfabet van de turmac. Bij de opdrachten is het alfabet soms al vastgelegd. Zo niet, dan mag je het ook uitbreiden.
4. Geef de instructietabel.
5. Geef de procesgraaf.
6. Geef de instructietabel in kopieerbare vorm voor invoer in een applet.
7. Beschrijf de tests die je gedaan hebt (invoer, uitvoer), inclusief gevonden fouten en verbeteringen naar aanleiding van zo'n test.
8. Beschouwing over mogelijke verbeteringen van jullie programma.

De turmac's worden beoordeeld op:

- correctheid (doen ze wat vereist was);
- overzichtelijkheid (goede keuze en groepering van de diverse standen);
- beknoptheid (geen onnodige standen).