31.07.2013 Views

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.1. AUTOMATEN 65<br />

Figuur 3.3: De dikke lijn representeert het pad dat X aflegt. De originele string overbrugt<br />

dezelfde afstand maar met een extra lus met T als begin en einde.<br />

m 1 T<br />

Opdracht 3.4 Vijfvouden zijn nog makkelijker te herkennen dan drievouden. Teken de procesgraaf<br />

van een automaat met twee toestanden die vijfvouden herkent.<br />

Opdracht 3.5 Een automaat ontwerpen voor andere veelvouden kan iets lastiger zijn. Ze zijn<br />

echter altijd te maken. Teken de procesgraaf van een automaat voor viervoud-herkenning. Hint:<br />

Een viervoud van één cijfer moet een 0, een 4 of een 8 zijn. Een viervoud van minstens twee<br />

cijfers is altijd te herkennen aan de laatste twee cijfers: als het op een na laatste cijfer even is,<br />

dan moet het laatste cijfer een 0, een 4 of een 8 zijn. Als het op een na laatste cijfer oneven is,<br />

dan moet het laatste cijfer een 2 of een 6 zijn.<br />

Opdracht 3.6 De mooie eigenschap van drievouden uit Opdracht 3.3 is een toevalligheid van<br />

het tientallig stelsel. De onderliggende wetmatigheid is echter niet van het talstelsel afhankelijk.<br />

In het unaire stelsel, waar de enige bewerking ‘+1’ is, gedraagt elk getal zich zeer regelmatig.<br />

Teken een automaat die zevenvouden in het unaire stelsel herkent.<br />

3.1.3 Wat Kan een Keuze-automaat niet?<br />

Ondanks het feit dat het automaatje uit Figuur 3.2 maar drie toestanden heeft, kan het onbeperkte<br />

invoer aan. Voor een willekeurig lang getal kan het bepalen of het een drievoud is. Dat<br />

stemt hoopvol. De vraag is dan ook of we automaten ook andere dingen kunnen laten be<strong>rekenen</strong>,<br />

en dan liefst het soort saaie berekeningen die wij ook volledig ‘op de automatische piloot’<br />

uitvoeren. Dat blijkt helaas niet het geval te zijn. Een automaat is hiervoor te ‘vergeetachtig’.<br />

Het blijkt bijvoorbeeld niet mogelijk te zijn om een automaat te maken die een willekeurige<br />

correcte optelling kan herkennen.<br />

Stel dat er wel zo’n optelautomaat zou zijn die elke uitdrukking van de vorm getal1 + getal2<br />

= getal3 ‘nakijkt’. We voeren nu een correcte optelling van twee getallen in, n1 en n2, die zo<br />

groot zijn dat de lengtes van deze getallen samen groter is dan het aantal toestanden van de<br />

automaat. De verwerking van deze optelling zal meer toestandsovergangen vergen dan het aantal<br />

toestanden van de automaat, en zodoende moet er tenminste één toestand, zeg T , meerdere keren<br />

bezocht worden voordat de eindtoestand bereikt is. Laat m1 het aantal tekens zijn dat ingelezen<br />

is bij het eerste bezoek aan T en m2 het aantal ingelezen tekens bij de tweede keer. Laat nu X<br />

de rij symbolen zijn die we krijgen door uit de originele optelling het stuk van het m1 + 1-ste<br />

tot en met het m2-de teken weg te laten. Als we de invoer X aan dezelfde automaat geven, dan<br />

doorloopt deze dezelfde weg door de procesgraaf minus de T -lus. Daarmee wordt ook X door<br />

de automaat opgevat als een correcte optelling. Dat oordeel kan echter niet juist zijn. Als in het<br />

m 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!