Wissen Finden
auf Improve WiFi

Warum man sich in Studiengängen der Informatik mit endlichen deterministischen Automaten & Co herumschlagen muss ?

»The Analytical Engine has no pretensions whatever to originate anything. 

It can do whatever we know how to order it to perform.«


»Ada Lovelace, in »Notes of the Translator«, Taylor's Scientific Memoirs, 1843.

Formale Sprachen
Endliche Deterministische Automaten


Eine analytische Maschine hat keine Ambitionen, irgendetwas entstehen zu lassen. Sie kann Sachen tun, von denen wir wissen, wie wir sie der Maschine befehlen können, damit die Maschine diese ausführt.

Computer, zu Deutsch auch Rechner, können eine Sache gut: Sie können verdammt schnell und akkurat mathematische Operationen ausführen.

Um mit einem Computer Probleme lösen zu können, muss der Mensch also einen Weg finden, die Probleme, die er mit dem Computer lösen möchte, in eine für den Rechner verständliche Art zu übersetzen und alle Instruktionen, die der Computer ausführen soll, in eine für ihn verständliche Ausdrucksweise zu bringen. Diese Ausdrucksweise nennt sich auch Maschinencode, wo wir beim Thema dieses Beitrags angekommen wären. 

Denn mit Automaten sind nichts anderes als Maschinen gemeint und mit Maschinen nicht anderes als Computer. Der Maschinencode ist eine für den Computer lesbare Form von  Problemlösungsbeschreibungen, auch  Algorithmen   genannt. Da der Computer nur rechnen kann, muss der Mensch seine Probleme in Algorithmen transferieren, welche jedeglich mathematische und logische Operatoren enthalten. 

Schauen wir uns an, wie ein Computer funktioniert, dann bemerken wir, dass dieser alle durch Programme instruierte Berechnungen im dualem Zahlensystem ausführt. Der Computer kennt nur 0 und 1 bzw. An und Aus.

Sowohl Zahlenwerte als auch logische und arithmetische Operationen werden also nur durch eine Abfolge von 1 und 0 codiert.  

Alles, was wir mit einem heutigem Computer ausrechen, beschreiben und lösen, wird durch Einsen und Nullen modelliert. Damit der Mensch mit einem Computer nicht nur rechnen kann, sondern z.B einen Beitrag auf einer Website schreiben kann, gibt es eine kluge Sache, welche sich Code nennt.

Mithilfe eines Codes können Menschen ganz bequem  Buchstaben in einen Computer eintippen. Jeder Buchstabe ist durch eine gewisse Abfolge von Einsen und Nullen definiert. Gibt man mehrere Buchstaben hintereinander ein, so erhält man ein Wort, welches für den Menschen lesbar ist, sofern es der Grammatik, Syntax, Semantik einer menschlichen Sprache entspricht. 

Für den Computer ist das Wort durch die  codierung  als Einsen und Nullen das Ergebnis von der Konkatenation der in Nullen und Einsen codierten Buchstaben. 

Wie du siehst, lassen sich alle Tätigkeiten und Probleme, welche wir heute mit dem Computer erledigen, abstrahieren auf mathematische & logische  Operationen von Einsen und Nullen. Die Grenzen der Fähigkeit eines Computers und seine allgemeinen Möglichkeiten, lassen sich also mithilfe von mathematischen Modellen formalisieren.

Genau hier setzt die theoretische Informatik, insbesondere die formalen Sprachen und damit zusammenhängend die Automatentheorie mit dem in diesem Webseit-Segment  behandelten Deterministischen Endlichen Automaten (DFA) an.

Lästig und sehr mathematisch, aber irgendwie auch notwendig und elementar.

Feedback

Wie hat dir der Beitrag gefallen ?

  Sehr gut   Gut   Mittelmäßig   Schlecht