211 123 9MB
German Pages 157 [160] Year 1972
Schaltwerkund Automatentheorie I
Dr. Clemens Hackl
w DE
G Sammlung Göschen Band 6011
Walter de Gruyter Berlin • New York • 1972
Die Reihe "Informatik" Bände:
in der Sammlung Göschen umfaßt folgende
Einführung in Teilgebiete der Informatik. 2 Bände Digitale Rechenautomaten. Von R. Klar. Analog- und Hybridrechner. Von 0. Gensch. (In Vorb.) Datenübertragung und -fernverarbeitung. Von K. Oettl. (In Vorb.) Programmierung von Datenverarbeitungsanlagen. Von H. J. Schneider u. D. Jurlcsch. Datenstrukturen und höhere Programmiertechniken. Von H. Nollemeier. Betriebssysteme I. Grundlagen. Von E. J. Neuhold. (In Vorb.) Betriebssysteme II. Von P. Caspers. (In Vorb.) Theorie und Praxis des Ubersetzerentwurfs. Von H. J. Hoffmann. (In Vorb.) Schaltwerk- und Automatentheorie. Von C. Hackl. 2 Bände Graphentheorie für Informatiker. Von W. Dörfler u. J. Mühlbacher. Einführung in die mathematische Systemtheorie. Von F. Pichler. (In Vorb.) Formale Beschreibung von Programmiersprachen. Von K. Alber. (In Vorb.) Angewandte Informatik. Von P. Mertens. Information Retrieval. Von 0. Simmler. (In Vorb.) Programmiersprachen für die numerische Werkzeugmaschinensteuerung. Von U. Grupe. (In Vorb. )
© Copyright 1972 by Walterde Gruyter&Co. .vormals G. J . Göschen'sclieVerlags handlung — J . Guttentag, Verlagsbuchhandlung — Georg Reimer — Karl J . Trübner — Veit & Comp., Berlin 30. — Alle Rechte, einschl. der Rechte der Herstellung von Photokopien und Mikrofilmen vom Verlag vorbehalten. — Satz und Druck: Mereedes-Druek, Berlin 61 — Printed in Germany
ISBN 3 11003948 6
Inhalt 1. Einführung 1.1 Zur Entwicklung der Schaltwerk- und Automatentheorie 1.2 Zur Beschreibung komplexer Systeme 2. Modelle und Aufgaben der Automatentheorie 2.1 Grundbegriffe der Automatentheorie 2.2 Aufgaben der Automatentheorie 2.3 Beispiele von Automatenmodellen 3. Endliche Automaten 3.1 Aufgabenstellungen und Begriffsbildungen 3.2 Die Struktur endlicher Automaten 3.2.1 Das mathematische Grundmodell 3.2.2 Klassifikation von Zuständen 3.2.3 Matrizendarstellung als Hilfsmittel für Strukturuntersuchungen 3 . 2 . 4 Aufgaben zu Abschnitt 3.2 3.3 Das Verhalten endlicher Automaten 3.3.1 Zeichenfolgen 3.3.2 Die Äquivalenz von Zuständen 3.3.3 Die Minimalform eines vollständig definierten Automaten 3 . 3 . 4 Beispiel einer Anwendung des Verfahrens zur Zustandsreduzierung 3.3.5 Unvollständig definierte Automaten 3.3.6 Aufgaben zu Abschnitt 3.3 4. Schaltwerke 4.1 Schaltwerke als Grundmodelle endlicher Automaten . . 4.1.1 Grundlagen 4 . 1 . 2 Kombinatorische und sequentielle Schaltnetze . . 4 . 1 . 3 Die Normalform eines Schaltwerkes 4 . 1 . 4 Tabellarische und graphische Darstellung eines Schaltwerkes 4.2 Die Verwendung von Speicherelementen in Schaltwerken 4.2.1 Definition von Speicherelementen
1*
7 7 14 17 17 21 27 34 34 40 41 44 52 62 65 65 67 72 75 80 89 92 93 93 95 99 101 103 104
4
Inhalt
4.2.2 Die Anwendung von Speicherelementen 4.2.3 Anwendungsbeispiele von Speicherelementen in Rechenmaschinen 4.3 Endliche Automaten und Schaltwerke als Hilfsmittel zur Darstellung komplexer Einheiten 4.3.1 Zustandskodierung endlicher Automaten 4.3.2 Der Aufbau komplexer Einheiten 4.3.3 Aufgaben zu Abschnitt 4.1 Anhang 1 Mathematische Grundlagen 1. Grundelemente der Mengenlehre 2. Operationen mit Mengen 3. Abbildungen von Mengen 4. Zerlegungen und Relationen Anhang 2 Grundlagen der Schaltalgebra 1. Formale Systeme 2. Die Interpretation formaler Systeme 3. Boole'sche Funktionen Literaturhinweise Personen- und Sachregister
108 115 120 120 126 128 131 131 133 135 136 139 140 144 147 152 156
Vorwort Probleme der mathematischen Grundlagenforschung und Aufgabenstellungen aus der Entwicklung elektronischer Rechenmaschinen haben entscheidende Anstöße zum Entstehen einer Theorie der Automaten gegeben. In den Veröffentlichungen und Beschreibungen der Automatentheorie zeigt sich jedoch eine Überbetonung formaler und abstrakter Darstellungen, die insbesondere den Studierenden der technischen Fachbereiche den Zugang erschwert. Mit diesem Band wird daher versucht, grundlegende Überlegungen aus der Automatentheorie für Studierende der technischen Fachrichtungen und der Informatik zu vermitteln. Ziel der Darstellung ist es, diejenigen Begriffsbildungen, Methoden und Verfahren der Automatentheorie zu beschreiben, die sich als Bausteine einer hierarchischen Beschreibung komplexer Systeme verwenden lassen. Der gesamte Stoff wird in zwei Bänden dargestellt. Jeder Band umfaßt etwa den Inhalt einer 2stündigen einsemestrigen Vorlesung. Im vorliegenden Band stehen nach einer einführenden Darstellung der Entwicklung und der grundlegenden Aufgabenstellungen der Automatentheorie endliche Automaten und Schaltwerke im Vordergrund. Die Begriffe der Struktur, des Verhaltens, der Äquivalenz und der binären Beschreibung eines Automaten in der Form eines Schaltwerkes werden dargestellt. Es wird unterschieden zwischen der Beschreibung der Funktion oder des Verhaltens, der Beschreibung der Struktur und der Beschreibung des operativen Ablaufes in einem System. Schaltwerke finden vorwiegend zur Darstellung der Struktur und des operativen Ablaufes Verwendung. Sie ermöglichen die Beschreibung der Zusammenarbeit von Registern, der Speicherele-
6
Vorwort
mente und deren logische Verknüpfung in einer vollständigen binären Beschreibung. Das Modell des endlichen Automaten hingegen ist vorwiegend zur Darstellung des Verhaltens eines Systems durch die Angabe einer Zustandsbeschreibung geeignet. Zur Beschreibung komplexer Einheiten sind jedoch zusätzliche Methoden und Hilfsmittel erforderlich, die über das Modell des endlichen Automaten hinausgehen. Diese Aufgabenstellungen sind Gegenstand des zweiten Bandes. Vorgesehen sind die Darstellung des Verhaltens von Systemen in Zeitintervallen, die Verwendung asynchroner Teilkomplexe und ihre Zusammenfassung zu größeren synchronisierten Einheiten, die Verwendung spezieller Entwurfssprachen zur Beschreibung des Verhaltens und die Darstellung des Überganges zwischen den verschiedenen Beschreibungsebenen. Die Darstellung beruht auf Vorlesungen im Fachbereich „Nachrichtenvermittlung und Datenverarbeitung" an der Universität Stuttgart. Sie setzt keine speziellen mathematischen Kenntnisse voraus, erfordert jedoch ein gewisses Grundwissen der Schaltalgebra und der Datenverarbeitung. Sindelfingen, Juni 1972
C. Hackl
1. Einführung 1.1. Zur Entwicklung der Schaltwerk- und Automatentheorie Seit Anfang dieses Jahrhunderts entstanden in verschiedenen technischen und wissenschaftlichen Disziplinen Ideen, Modelle und Theorien, deren innere Zusammengehörigkeit erst in den letzten zwei Jahrzehnten erkannt wurde. Diese Einsicht führte zu einer interdisziplinären Betrachtungsweise, in der die Begriffe Information, Zeichen und Zustand im Mittelpunkt stehen und die Ansätze zu einer allgemeinen Systemtheorie erkennen läßt. Zu dieser Entwicklung haben in erster Linie beigetragen, die Informationstheorie, die Theorie der Regelsysteme, die Entwicklung programmgesteuerter elektronischer Rechenmaschinen und Grundlagenuntersuchungen der Mathematik über Algorithmen und Automaten. Einige Begriffsbildungen und Ergebnisse aus die$pn Gebieten werden im folgenden kurz dargestellt. 1. Informationstheorie [vgl. 1; 3; 9; 10]: Der naive Informationsbegriff ist jedem geläufig. Gedruckte Texte, Bilder, Gespräche enthalten und vermitteln Information, die in charakteristischer Weise an einen materiellen oder energetischen Informationsträger gebunden ist. So ist bei der Nachrichtenübertragung die Information zunächst als Text in Form von Zeichen und Symbolen materiell gespeichert, zur Übertragung wird sie in akustische und elektrische Signale umgesetzt und schließlich von einem Empfänger wieder aufgenommen und schriftlich festgehalten. Voraussetzung fur diese Nachrichtenübermittlung ist jedoch, daß Sender und Empfänger den verwendeten Zeichen und Symbolen die gleiche Bedeutung zuordnen. Dieser naive Informationsbegriff enthält eine Fülle von psychologischen, physiologischen, physikalischen und technischen Gegeben-
8
1. Einführung
heiten. Aus der Sicht einer allgemeinen Systemtheorie ist jedoch von diesen spezifischen Gegebenheiten soweit wie möglich abzusehen und nach Eigenschaften der Information zu fragen, losgelöst vom jeweiligen Informationsträger und unabhängig von einem speziellen Sender und Empfänger. In diesem Zusammenhang ist der Begriff des Zeichens außerordentlich bedeutsam. Jede Nachricht ist eine räumliche und zeitliche Folge von Zeichen. Diese Zeichen können von vielfältiger Natur sein, Buchstaben, Zahlen, Morsezeichen, Winkzeichen, Verkehrszeichen u.a.m. Allgemein sind Zeichen irgendwelche materiellen oder energetischen Konstellationen, die für Sender und Empfänger eine bestimmte gemeinsame Bedeutung haben. Durch Einführung des Begriffes „Zeichen" werden ganze Klassen physikalischer Vorgänge als gleichwertig betrachtet. Auf diese Weise wird es möglich eine große Zahl von Einzelerscheinungen unter einem höheren Ordnungsaspekt zu betrachten. Aufgabe der Informationstheorie ist es weiter die Begriffe Information und Nachricht nicht nur qualitativ zu betrachten, sondern sie auch quantitativ meßbar zu machen. Diese Untersuchungen haben zu grundlegenden Erkenntnissen in der Frage der Kodierung und der Nachrichtenübertragung geführt. Es hat sich aber auch gezeigt, daß die Frage nach der Bedeutung der Zeichen nicht ausgeklammert werden kann, da zwischen der Information und dem System, das diese Information erzeugt oder verarbeitet gegenseitige Wechselbeziehungen bestehen. Eine Informationstheorie muß daher letzten Endes eingebettet sein in eine umgreifende Systemtheorie. 2. Theorie der Regelsysteme [vgl. 9]: Eine weitere Theorie, die sich ausgehend von einer technischen Aufgabenstellung entwickelt hat, ist die Theorie der Regelsysteme. Das Charakteristikum aller Regelkreise ist die Rückkopplung. Ausgangssignale eines Systems werden wieder auf den Eingang zurückgeführt. Kennzeichnend für die mathematische Beschreibung der Vorgänge in einem Regelkreis ist die Verwendung von Infinitesimalkalkülen. Die zur Beschreibung
1.1 Zur Entwicklung der Schaltwerk- und Automatentheorie
9
eines Systems erforderlichen Differenzen- oder Differentialgleichungen sind allerdings bei zusammengesetzten Systemen und bei Berücksichtigung von Nichtlinearitäten und Störgliedern sehr komplex und kaum lösbar. Die Vorgänge in Regelkreisen sind im allgemeinen nur durch die Angabe von Näherungslösungen zu beschreiben. Eine wichtige Anwendung der Theorie der stetigen Regelsysteme führte jedoch zur Entwicklung von Analogrechnern. Ein Analogrechner ermöglicht es, ein analoges Bild von Systemen herzustellen. Durch geeignete Kombination einer Anzahl von Grundschaltungen ist es möglich beliebige Regelsysteme nachzubilden. Darunter sind nicht nur Regelsysteme der Technik zu verstehen, auch biologische und volkswirtschaftliche Regelungsvorgänge können nachgebildet und untersucht werden. Die Genauigkeit der analogen Abbildung wird jedoch immer kleiner, je größer und Umfangreicher das zu simulierende System wird. Die Verwendung von Analogrechnern ist daher auf spezielle Anwendungen beschränkt und wird in zunehmendem Maße abgelöst durch den Einsatz von programmgesteuerten digitalen Rechenanlagen. 3. Digitalrechner [vgl. 8; 11; 17; 26; 57]: Das Erscheinen programmgesteuerter elektronischer Rechenmaschinen gab weitere Anstöße zur Entwicklung und Anwendung theoretischer Modelle für technische und wissenschaftliche Probleme. Etwa im Jahre 1938 erfolgte die erste Anwendung der Boole'schen Algebra auf Probleme der Analyse und Synthese von Relaisschaltungen. Im Mittelpunkt dieser Schaltalgebra standen idealisierte kombinatorische Schaltnetze, die keine zeitliche Verzögerung zwischen den Eingabe- und den Ausgabesignalen voraussetzten. Da jedoch alle Bauelemente zeitliche Verzögerungen der Signale verursachen, entstand sehr bald das Bedürfnis auch zeitliche Abhängigkeiten in Schaltnetzen zu erfassen. Es entstand das Modell eines sequentiellen Schaltnetzes oder eines Schaltwerkes, in dem neben zeitunabhängigen logischen Schaltgjiedern auch zeitabhängige Laufzeitglieder Verwendung finden. Dieses Modell wurde etwa seit 1953 entwickelt und ermöglichte es Bau-
10
1. Einführung
gruppen aus digitalen Rechenmaschinen als binäre diskrete Systeme zu beschreiben und zu untersuchen. Neben diesen von der Technologie der Rechenmaschinen bedingten Anstößen zur Entwicklung theoretischer Modelle führten die Probleme der Programmierung von Rechenmaschinen zur Entwicklung der höheren Programmiersprachen und darüber hinaus zu einer allgemeinen Theorie formaler Sprachen. Bei diesen Untersuchungen zeigten sich Anknüpfungspunkte sowohl zu Untersuchungen der mathematischen Grundlagenforschung im Gebiet allgemeiner formaler Zeichensysteme als auch zu den Untersuchungen auf dem mehr technisch orientierten Gebiet der Schaltwerktheorie. 4. Mathematische Grundlagenforschung [4; 5; 6; 7; 8]: Seit Beginn dieses Jahrhunderts haben in der mathematischen Grundlagenforschung eine Anzahl von Aufgabenstellungen wie das Verhältnis von Mathematik und Logik, die Frage nach der Begründung der Zahlensysteme, die Herleitung von Algebra und Analysis, Untersuchungen zur Berechenbarkeit von Funktionen die Notwendigkeit erkennen lassen, die Begriffe Automat und Algorithmus streng zu definieren. Diese Untersuchungen haben in den letzten Jahrzehnten zu zwei fundamentalen Resultaten geführt. Einmal wurde die Existenz algorithmisch nicht lösbarer mathematischer Probleme nachgewiesen. Verstehen wir unter einem Algorithmus ein schrittweises Verfahren zur Lösung einer Aufgabe, das nach endlich vielen Schritten entweder zu einer Lösung führt, oder nachweist, daß es keine Lösung gibt, so lassen sich Aufgabenstellungen definieren, die in diesem Sinne nicht lösbar sind. Ein Beispiel einer derartigen Aufgabenstellung ist, in einem Graphen festzustellen, ob zwei beliebig vorgegebene Knotenpunkte durch einen Weg verknüpft sind oder nicht. Diese Aufgabe ist zwar fur alle endlichen Graphen und auch für spezielle unendliche Graphen algorithmisch lösbar. Es ist jedoch nicht möglich fur beliebige unendliche Graphen ein allgemeines Verfahren anzugeben, das die vorgelegte Aufgabe nach endlich vielen Schritten löst.
1.1 Zur Entwicklung der Schaltwerk-und Automatentheorie
11
Die Ursache für die Existenz algorithmisch nicht lösbarer Probleme muß wohl in dem Bestreben der Mathematik gesehen werden, eine spezielle Aufgabenstellung immer weiter zu verallgemeinern und gleichzeitig nach immer leistungsfähigeren allgemeinen Lösungsverfahren zu suchen. Bei diesem Prozeß der Erweiterung und Verallgemeinerung eines Problems können Fragestellungen auftreten, die mit endlichen Mitteln nicht mehr lösbar oder entscheidbar sind. Ein zweites fundamentales Resultat der mathematischen Grundlagenforschung ist der Nachweis der Existenz universaler Algorithmen und Maschinen. Um den Begriff des Algorithmus streng zu definieren, hatte der englische Mathematiker Turing [vgl. 8; 37] im Jahre 1936 ein Modell einer Maschine vorgeschlagen, das Rechenprozesse auf die denkbar elementarsten Vorgänge zurückfuhrt. Unter Verwendung eines minimalen Instruktionsvorrates von elementaren Operationen wird jeder Algorithmus durch eine Art von Maschinenprogramm als eine Folge von Instruktionen dargestellt. Zu jedem Verfahren, das als Algorithmus bezeichnet werden kann, ist es möglich ein elementares Maschinenmodell, — eine spezielle Turing Maschine —, anzugeben, das zumindest im Prinzip eine automatische Ausfuhrung dieses Algorithmus ermöglicht. Werden diese den verschiedenen Algorithmen entsprechenden speziellen Maschinenmodelle in einer zeichenweisen Beschreibung kodiert, so kann ein universaler Algorithmus definiert werden, der diese verschlüsselten Beschreibungen von speziellen Algorithmen liest, dekodiert und ausfuhrt. In diesem Sinne gibt es universale Maschinenmodelle, die als allgemeine Simulationsalgorithmen aufzufassen sind und jeden vorgelegten speziellen Algorithmus ausfuhren können. Diese Untersuchungen, die von Turing im Jahre 1936 veröffentlicht wurden, enthalten grundlegende Prinzipien, wie die Begriffe des gespeicherten Programmes und der bedingten Verzweigung, die sinngemäß bei der Entwicklung programmgesteuerter Rechenmaschinen eine Anwendung gefunden haben.
12
1. Einführung
Einer großen Zahl von Aufgabenstellungen aus diesen Disziplinen kann ein allgemeines Modell eines Automaten zu Grunde gelegt werden, das durch die Angabe von Eingabegrößen, von Ausgabegroßen und internen Zuständen bestimmt wird. Die Eingabegrößen werden als Erregungsvariable, die Ausgabegrößen als Reaktionsvariable aufgefaßt. Diese Größen beschreiben das beobachtbare Verhalten eines Systems, erlauben jedoch keine unmittelbare Aussage über den internen Aufbau und die Struktur des Systems. Zur Beschreibung des internen Aufbaus eines Systems werden Zustandsvariable verwendet. Der Begriff des Zustandes wurde erstmalig eingeführt durch Turing in seinen grundlegenden Untersuchungen zur Berechenbarkeit von Funktionen. In seinem Automatenmodell bedeutet der Zustand des Automaten eine bestimmte interne Konfiguration des Systems, die durch die Werte der Zustandsvariablen definiert wird. Der Begriff des Zustandes als abstrakte, nicht beobachtbare Größe eines Systems kann in allgemeinster Form nur beschrieben werden durch die Festlegung der Beziehungen zu den Eingabe- und Ausgabegrößen. Als grundlegende Annahmen gelten: 1. die Ausgabegrößen eines Systems zu einem bestimmten Zeitpunkt sind gegeben durch die am Eingang anliegende Eingabegröße und durch den gegenwärtigen Zustand des Systems. 2. Der nächste Zustand des Systems ist bestimmt durch das anliegende Eingabezeichen und durch den gegenwärtigen Zustand des Systems. Aus diesen Festlegungen folgt, daß der Zustand eines Systems zu einem bestimmten Zeitpunkt, diejenige Variable ist, die in Verbindung mit dem Eingabezeichen eine Vorhersage über das Verhalten des Systems für den nächsten Zeitpunkt erlaubt. Die Einfuhrung der Zustandsgrößen zur abstrakten Beschreibung der internen Struktur einer Vorrichtung hat sich als außerordentlich fruchtbar erwiesen. Sie hat in vielen Gebieten, wie beispielsweise in der Informationstheorie, in der Schaltwerktheorie und bei der Untersuchung von Rechenmaschinen Anwendung gefunden.
1.1 Zur Entwicklung der Schaltwerk-und Automatentheorie
13
Aufbauend auf dieser grundlegenden Definition eines Automaten lassen sich in der Entwicklung der Automatentheorie zwei Hauptrichtungen unterscheiden. In der abstrakten Automatentheorie [vgl. 11; 12; 16; 17; 21 ] stehen die grundlegenden Struktureigenschaften dieses Modelles im Vordergrund. Das Automatenmodell wird als eine algebraische Struktur verstanden. Im Vordergrund der Untersuchungen stehen Fragestellungen aus der Grundlagenforschung, wie der Zusammenhang zwischen der Algorithmen- und der Automatentheorie, der Berechenbarkeit von Funktionen, der Komplexität von Algorithmen und Automaten, der rekursiven Funktionen, der mathematischen Logik u.a.m. Neben dieser an den Grundlagen orientierten abstrakten Automatentheorie tritt in der Anwendung dieses Grundmodells auf bestimmte Aufgabenstellungen eine angewandte Automatentheorie. Für diese Richtung kann die Schaltwerktheorie als ein representatives Beispiel angesehen werden. Ein Grundmodell der Automatentheorie, das auf den Begriffen des Zeichens und einer endlichen Anzahl von Zuständen beruht, wird umgesetzt in das Modell eines rückgekoppelten Schaltnetzes. Die Eingabezeichen, die Ausgabezeichen und die internen Zustände werden binär kodiert. Diese Kodierung ist der Ausgangspunkt einer technischen Realisierung durch physikalische Größen in der Form von Signalen und Impulsen. Die Anwendung eines Grundmodelles der Automatentheorie in der Form des endlichen Automaten auf das Modell eines rückgekoppelten Schaltnetzes kann weiter als ein Beispiel für die Darstellung einer Aufgabenstellung auf verschiedenen Beschreibungsebenen angesehen werden. Von einer Zustandsbeschreibung eines Problems ausgehend erfolgt der Übergang zu einer binär kodierten Beschreibung, die zu einer nachfolgenden technischen Realisierung führt. Das Ziel einer umfassenden Systemtheorie muß letzten Endes darin bestehen, eine Hierarchie von Beschreibungsebenen anzugeben, die ausgehend von einer verbalen Darstellung einer Aufgabe über verschiedene Stufen der Formalisierung hinführt zu einer technischen
14
1. Einführung
Realisierung. Die Festlegung geeigneter Beschreibungsebenen und die Definition der Übergänge zwischen diesen Beschreibungsebenen stellt die vordringlichste Aufgabe einer allgemeinen Systemtheorie dar. 1.2
Zur Beschreibung komplexer Systeme
Moderne technische Systeme nehmen an Komplexität ständig zu. Sie erfordern in zunehmendem Maße ein nach hierarchischen Prinzipien ausgerichtetes systematisches Vorgehen bei Planung, Entwurf und technischem Aufbau, wobei jede Phase der Entwicklung besondere Beschreibungsmittel und Darstellungsformen erfordert. Der Ablauf beim Entwurf eines komplexen Systems kann in einer ersten Darstellung etwa wie folgt beschrieben werden. 1. Systemspezifikation: Aufbau und Zielsetzung des Systems werden verbal in Form einer Verhaltensbeschreibung gegeben. Diese verbale Beschreibung der Systemspezifikation gibt eine Darstellung der Eingabe-Ausgabevorgänge, der Operationsabläufe, definiert die Einflußgrößen des Systems und skizziert den technischen Aufbau. 2. Verhaltensbeschreibung: Die verbale Beschreibung der Systemspezifikation kann Mehrdeutigkeiten enthalten. Es sind daher zusätzliche formale Beschreibungsmittel erforderlich, wie beispielsweise die Erstellung von Ablaufdiagrammen, die Anwendung von Simulationsmodellen unter Benutzung spezieller Anwendungssprachen oder höherer Programmiersprachen. Das Ergebnis in dieser Phase des Entwurfes ist meist eine Kombination von formalen und informellen Systemspezifikationen in der Form einer Blockdiagrammstruktur. 3. Strukturbeschreibung: In dieser Phase vollzieht sich der Übergang von einer Beschreibung des Verhaltens zur Festlegung der Struktur des Systems. Die bereits vorhandene Blockstruktur wird weiter verfeinert durch die Definition von Teilsystemen, der Auswahl von Baugruppen und Bauelementen, sowie ihre Verknüpfung zur Reali-
1.2 Zur Beschreibung komplexer Systeme
15
sierung der Teilsysteme. Diese Phase der Entwicklung wird bei Rechnersystemen meist als logischer Entwurf bezeichnet. 4. Operative Beschreibung: Zur technischen Realisierung des Systementwurfes ist es erforderlich, alle Einflußgrößen in binärer Darstellung zu beschreiben. Die Eingabe- und die Ausgabedaten und die internen Größen des Systems werden binär kodiert. Die sich daraus ergebenden zeitlichen und logischen Abhängigkeiten in der Form von Zeitdiagrammen und logischen Funktionen stellen den Ausgangspunkt für die technische Realisierung und Beschreibung dar. 5. Technische Beschreibung: Anschließend erfolgt die Beschreibung des technischen Aufbaues des Systems. Sie bezieht sich auf die Darstellung der verwendeten Baugruppen, ihrer räumlichen Anordnung in Rahmen und Gestellen und auf die Angabe der zwischen den Baugruppen erforderlichen Verbindungen. Fertigungsunterlagen, Systembeschreibungen, Programmierbeschreibungen und Wartungsunterlagen ermöglichen die Fertigung und die Anwendung des neu entwickelten Systems. Aufgabe theoretischer Untersuchungen ist es, für die verschiedenen Phasen des Entwurfes und für die unterschiedlichen Beschreibungsebenen die geeigneten Ausdrucksmittel und theoretischen Modelle bereitzustellen, sowie eine sorgfältige Definition der Übergange zwischen den verschiedenen Beschreibungsebenen zu definieren. Einen ersten Überblick über die zum gegenwärtigen Zeitpunkt verfügbaren Ausdrucksmittel und Modelle gibt Abb. 1—1. Die Systemspezifikation erfolgt weitgehend unter Verwendung der natürlichen Sprache. Theoretische Modelle sind nur in Ansätzen vorhanden, wobei die Verwendung der Prädikatenlogik zunehmend an Bedeutung gewinnt. Zu Beschreibung des Verhaltens eines Systems finden Programmiersprachen zur Definition und Simulation von Modellen zunehmend Verwendung. Sowohl höhere Programmiersprachen wie FORTRAN, PL/1 u. a. werden eingesetzt als auch spezielle Anwendungsprachen
16
1. Einführung
Beschreibungsebene
Ausdrucksmittel
Modelle
Systemspezifikation
natürliche Sprache Ablaufdiagramme, Blockstruktur
Prädikatenlogik
Beschreibung des Systemverhaltens
Höhere Programmiersprachen Spezielle Anwendungssprachen
Satz-Struktur Systeme
Maschinensprachen
Turing Maschinen
Mikroprogrammiersprachen
Register Modelle
Zustandsbeschreibung
Endliche Automaten
Operative Systembeschreibung
vollständige binäre Darstellung
Schaltwerke
Technische Beschreibung
formale und verbale Beschreibung
Beschreibung der System struktur
Abb. 1 - 1 Ausdrucksmittel und Modelle fur Systembeschreibungen
für bestimmte Fachgebiete sind in Verwendung. A n theoretischen Modellen zur Beschreibung des Verhaltens stehen zur Zeit im wesentlichen Satz-Struktur-Systeme u n d verwandte S y s t e m e zur Verfugung. Allerdings sind diese Modelle auf Grund ihres elementaren Charakters in erster Linie für Grundlagenuntersuchungen v o n Interesse.
2.1 Grundbegriffe der Automatentheorie
17
Zur Darstellung der Systemstruktur, der Teilsysteme und ihrer Verknüpfung werden Zustandsdiagramme und Mikroprogramme verwendet. Die zu Grunde liegenden theoretischen Modelle des endlichen Automaten und der Registermodelle sind von allen Automatenmodellen am weitesten untersucht und verstanden. Betrachten wir den Grad der Formalisierung der Ausdrucksmittel auf den verschiedenen Ebenen, so besteht kein Zweifel, daß auf der Ebene der operativen Beschreibung die Verwendung formaler Methoden und Darstellungen bisher am weitesten entwickelt und angewendet wurde. Dem steht jedoch gegenüber, daß sowohl für den Entwurfsprozeß ausgehend von der Systemspezifikation als auch im Bereich der Fertigung und der Anwendung in hohem Maße verbale Beschreibungen Verwendung finden. Es ist eine vordringliche Aufgabe, auch in diesen Bereichen neue und anwendbare formale Methoden zu entwickeln und einzusetzen.
2. Aufgaben und Modelle der Automatentheorie Dieses Kapitel beschreibt allgemeine Begriffsbildungen, die die Grundlagen der Automatentheorie bestimmen. Das Grundmodell eines Automaten wird dargestellt. Gesichtspunkte zur Klassifikation von Automaten, grundlegende Aufgabenstellungen und Beispiele von Automatenmodellen werden beschrieben. 2.1
Grundbegriffe der Automatentheorie
Unter einem Automaten im weitesten Sinn verstehen wir eine Vorrichtung, die nach dem Anlegen bestimmter Eingabegrößen Reaktionen zeigt, die als Ausgabegrößen aufgefaßt werden. Zur allgemeinen Beschreibung eines Automatenmodelles sind drei Arten von Bestimmungsgrößen erforderlich: Erregungs- oder Eingabevariable beschreiben die Eingangsgrößen oder die Eingabedaten eines Automaten, Reaktions- oder Ausgabevariable stellen die Reaktion des Automaten auf die anliegenden Eingabedaten dar,
18
2. Aufgaben und Modelle der Automatentheorie
interne Zustandsvariable dienen zur Darstellung der Abhängigkeiten zwischen Eingabedaten, die zu verschiedenen Zeitpunkten angeliefert werden. Die internen Variablen kennzeichnen die Speicherfähigkeit eines Automaten. Ein allgemeines Blockdiagramm dieses Automatenmodelles zeigt Abb. 2—1.
Ausgangsgröilen
Eingangsgröden
Zustandsgröflen
Abb. 2 - 1 Grundmodell eines Automaten
Dieses allgemeinste Grundmodell besagt nur, daß die Ausgabedaten eines Automaten in einer nicht näher festgelegten Weise von den Eingabedaten und von den internen Zuständen des Automaten abhängen. Aus dieser allgemeinen Vorstellung lassen sich durch weitere Spezifikation verschiedene Modelle ableiten [vgl. 34], Diese Spezifikation kann sich beziehen auf 1. die Einführung einer diskreten oder kontinuierlich veränderlichen Zeitvariablen, 2. auf den Wertevorrat, der für die Erregungs-, für die Reaktions-, und für die Zustandsvariablen zur Verfügung steht, 3. auf Abbildungen oder Funktionen zwischen den Variablen. 1. Die Zeitvariable'. Betrachten wir die Eingabe-Ausgabegrößen eines Systems nur zu bestimmten Zeitpunkten, so ist die Zeitvariable eine diskrete Größe, die im allgemeinen abzählbar unendlich viele Werte t = 0, 1, 2, 3 . . . annimmt. Die Zeitvariable kann als eine Art von Grundtakt aufgefaßt werden. Alle Vorgänge sind synchron zu diesem Grundtakt. Die Vorgänge innerhalb der Zeitintervalle werden nicht untersucht und sind im allgemeinen auch nicht definiert (Abb. 2-2).
2.1 Grundbegriffe der Automatentheorie
19
x?
to
ti
t,
t3
t,
Abb. 2 - 2 Diskretes Verhalten von Zeit und Eingabevariablen
Werden jedoch Ereignisse innerhalb und außerhalb des Automaten zu beliebigen Zeitpunkten zugelassen, beispielsweise Veränderungen der Eingabegrößen, so ist die Zeitvariable eine kontinuierlich veränderliche Größe. Es existiert kein Grundtakt, der alle Abläufe steuert. Wir sprechen von einem asynchronen System (Abb. 2—3). 2. Der Wertevorrat: Auch die Eingabe- und die Ausgabegrößen, sowie die Zustandsgrößen können diskret oder kontinuierlich veränderlich sein. Im diskreten Fall stehen endliche Mengen von Eingabezeichen, von Ausgabezeichen und von internen Zuständen zur Verfugung. Sind jedoch für alle Größen beliebige Zwischenwerte zugelassen, so steht als Wertevorrat ein Kontinuum zur Verfugung. In Verbindung mit der Zeitvariablen bestimmen diese Annahmen den grundlegenden Charakter des Systems. x A x
Abb. 2 - 3 Kontinuierliches Verhalten von Zeit und Eingabevariablen
2»
20
2. Aufgaben und Modelle dei Automatentheorie
So werden in der Theorie der Regelsysteme die Eingabe- und die Ausgabegrößen durch stetige und differenzierbare Funktionen beschrieben. Dem entsprechend erfolgt die mathematische Behandlung des Systems durch Infinitesimalkalküle in der Form von Differenzen und Differentialgleichungen. Im Gegensatz dazu sind die Automatenmodelle, die in Verbindung mit der Entwicklung programmgesteuerter Rechenmaschinen entstanden sind von diskreter Natur. Die Eingabe- und die Ausgabevariablen, sowie die Zustands- und die Zeitvariable sind diskret veränderliche Größen. Die Beziehungen zwischen diesen Größen werden durch Abbildungen beschrieben. Es sind jedoch auch Modelle denkbar, die eine Kombination von diskreten und kontinuierlichen Größen verwenden. So verwendet das Modell eines asynchronen Schaltwerkes eine kontinuierliche Zeitvariable, während die übrigen Größen diskret veränderliche Größen sind. 3. Abbildungen und Funktionen: Die Abhängigkeiten zwischen den Eingabe- und den Ausgabevariablen und den Zustandsgrößen werden durch die grundlegende Annahme bestimmt, daß der gegenwärtige Zustand des Automaten und das anliegende Eingabezeichen bestimmend sind für den nächsten Zustand des Automaten und für das Ausgabezeichen. Diese Annahme legt die Arbeitsweise eines Automaten in allgemeinster Form fest. Eine dataillierte Beschreibung der Abläufe in einem Automaten wird schließlich ermöglicht durch die Definition einer Ausgabe- und einer Zustandsfunktion. Stehen im diskreten Fall ein Eingabezeichenvorrat X = {x! . . . x k } eine Zustandsmenge S = {s! . . . s n } und ein Ausgabezeichenvorrat Z = {z t . . . z m } zur Verfügung, so definiert die Ausgabefunktion f , : X x S ^ Z das Ausgabezeichen z und die Zustandsfunktion f s : X x S -*• S den nächsten Zustand s' des Automaten. Jedem Wertepaar (x, s) bestehend aus dem Eingabezeichen x und dem gegenwärtigen Zustand s wird das Wertepaar (z, s') zugeordnet. Es bestimmt das Ausgabezeichen z und den nächsten Zustand s'.
2.2 Aufgaben der Automatentheorie
21
Entspricht jedem Wertepaar (x, s) ein eindeutig zugeordnetes Wertepaar (z, s'), so ist die Zuordnung zwischen den Argumentwerten und den Funktionswerten eindeutig und determiniert. Entsprechen jedoch gewissen Wertepaaren (x, s) mehrere Wertepaare (zj, sj) so besteht keine eindeutige Zuordnung. Der nächste Zustand s'und/ oder das Ausgabezeichen z sind indeterminiert. Eine weitere Modifikation kann sich durch die mögliche Veränderung der inneren Struktur des Automaten im zeitlichen Ablauf ergeben. Verändern sich die Ausgabe- und Zustandsfunktion im zeitlichen Ablauf nicht, so ist die Struktur des Automaten gleichbleibend. Treten jedoch Veränderungen auf, beispielsweise durch die Einfuhrung neuer Zustände oder durch Veränderungen in der Zuordnung zwischen den Eingabe- und Ausgabegrößen so wird der Automat als veränderlich bezeichnet. Zusammenfassend kann gesagt werden, daß aus dem Grundmodell durch Spezifizierung der Bestimmungsgrößen verschiedene Automatenmodelle ableitbar sind. Die folgenden Eigenschaftspaare sind insbesondere zur Spezifikation der Variablen und der Funktion in einem System von Bedeutung: diskret-kontinuierlich, synchronasynchron, determiniert-indeterminiert, gleichbleibend-veränderlich. Je nach der Kombination dieser Eigenschaften ergeben sich verschiedene Typen von Automatenmodellen, von denen einige in einer ersten Darstellung in den folgenden Abschnitten beschrieben werden. 2.2
Aufgaben der Automatentheorie
Aufgabe der Automatentheorie ist es abstrakte Automatenmodelle und verallgemeinerte Fragestellungen zu entwickeln, die in den verschiedensten technischen und wissenschaftlichen Disziplinen anwendbar sind. Um dieses Ziel zu erreichen sind abstrakte Ausdrucksmittel erforderlich, die sich nicht auf die spezifischen Gegebenheiten eines Fachgebietes oder auf die technische Realisierung eines Automaten beziehen. Diese Abstraktion der Ausdrucksmittel wird er-
22
2. Aufgaben und Modelle der Automatentheorie
reicht durch die Einfuhrung der Begriffe des Zeichens, des Zustandes und der Information. Diese von der konkreten Anwendung oder Realisierung eines Automaten losgelöste Betrachtungsweise hat den Vorteil, daß Klassen von Automaten definiert werden können, die unabhängig von den spezifischen Gegebenheiten gewisse gemeinsame Eigenschaften haben. Dadurch wird eine tiefere Einsicht in die Zusammenhänge zwischen den Parametern des Systems und seiner Gesamtfunktion ermöglicht. Bei der Charakterisierung der Aufgabenstellungen ist weiter zu unterscheiden zwischen dem Verhalten und der Struktur eines Automaten. Während sich das Verhalten des Automaten auf seine Funktion als Ganzes bezieht, stehen bei Untersuchungen über die Struktur von Automaten Fragen der Analyse und der Synthese meist unter Verwendung vorgegebener funktioneller Baugruppen im Vordergrund. Kennzeichnend für die*Untersuchungen der Automatentheorie sind die folgenden verallgemeinerten Aufgabenstellungen: 1. Der Automat als Umwandler Werden nur die Abhängigkeiten zwischen einer Anzahl von Eingabezeichenfolgen und den zugeordneten Ausgabezeichenfolgen untersucht, so kann der Automat als ein Umwandler [vgl. 11; 12] betrachtet werden. Diese Fragestellung ist außerordentlich allgemein. Sie schließt meist in einem zweiten Schritt Fragen der Analyse und der Synthese mit ein. Sei es, daß die Konstruktion eines Automaten erwünscht ist, der ein vorgegebenes Eingabe-Ausgabeverhalten zeigt,
Umwandler
Abb. 2 - 4 Der Automat als Umwandler
2.2 Aufgaben der Automatentheorie
23
oder daß ein unbekannter vorgegebener Automat angenommen wird und aus den beobachtbaren Eingabe-Ausgabefolgen auf seinen internen Aufbau geschlossen werden soll (Abb. 2—4). Die Zuordnung zwischen den anliegenden Eingabe- und den zugeordneten Ausgabezeichen kann nach den verschiedensten Gesichtspunkten erfolgen. Im einfachsten Fall bestimmt das anliegende Eingabezeichen allein das Ausgabezeichen. Es liegt keine Abhängigkeit von einem internen Zustand des Automaten vor. In diesem Fall sprechen wir von einem trivialen Automaten, der die Funktion einer Kode Umwandlung ausfuhrt. Im allgemeinen wird jedoch das Ausgabezeichen nicht nur von dem anliegenden Eingabezeichen abhängen, sondern auch von den Eingabezeichen mitbestimmt sein, die zu einem früheren Zeitpunkt eingegeben wurden. Diese Abhängigkeiten werden erfaßt durch die Einführung interner Zustände. Ist das Ausgabezeichen nur von einer endlichen Anzahl von Eingabezeichen abhängig so sprechen wir von einem endlichen Automaten. Es genügt eine endliche Anzahl von internen Zuständen um die Abhängigkeiten zwischen den Eingabe- und den Ausgabezeichenfolgen zu beschreiben. Es gibt jedoch Aufgabenstellungen, in denen das Ausgabezeichen prinzipiell von einer beliebig großen Anzahl von Eingabezeichen abhängig sein kann. In diesen Fällen reicht eine endliche Zustandsmenge nicht aus um die Abhängigkeiten zwischen den Eingabe- und den Ausgabezeichenfolgen zu erfassen. Das Modell des endlichen Automaten muß erweitert werden. Diese Erweiterung kann beispielsweise erfolgen durch die Einführung eines Speicherbandes, das die Zwischenspeicherung von Eingabezeichen oder von Teilresultaten ermöglicht. In diesem Fall sprechen wir von einem Speicherautomaten. Die Leistungsfähigkeit dieses Modelles geht über den endlichen Automaten hinaus, schließt jedoch den endlichen Fall mit ein. Alle Aufgabenstellungen, die mit einem endlichen Automaten ausführbar sind, können auch durch einen Speicherautomaten gelöst werden, aber nicht umgekehrt. Der allgemeinste Fall einer Zuordnung zwischen einer Folge von Eingabezeichen und einer Folge von Ausgabezeichen fuhrt schließ-
24
2. Aufgaben und Modelle der Automatentheorie
lieh auf das universale Modell der Turing Maschine, das alle denkbaren diskreten Automatenmodelle einschließt. 2. Der Automat als Akzeptor Verwenden wir einen Umwandler um gewisse Aussagen über Eingabezeichenfolgen als Ganzes zu machen, beispielsweise um festzustellen ob eine vorgegebene Zeichenfolge syntaktisch korrekt aufgebaut ist, so bezeichnen wir diese Klasse von Automaten als Akzeptoren [vgl. 11; 12]. Wir erhalten nach dem Einlesen der vorgelegten Zeichenfolge lediglich eine Aussage Ja" oder ,/iein", entsprechend der Feststellung des Automaten, daß die Zeichenfolge die gestellten Bedingungen erfüllt oder nicht erfüllt (Abb. 2—5).
Akzeptor
Abb. 2—5 Der Automat als Akzeptor
So kann beispielsweise durch das Modell eines endlichen Automaten geprüft werden, ob eine Zeichenfolge bestehend aus einer Anzahl von Operanden a, b, c, . . . und einer Anzahl von Operationen +, —, X, . . . syntaktisch korrekt aufgebaut ist, also einen algebraischen Ausdruck darstellt. Fehlerhafte Zeichenfolgen etwa die Folge „a + + b" werden zurückgewiesen. Ist jedoch über den rein syntaktischen Aufbau hinaus auch die eindeutige Zuordnung der Operanden zu den Operationszeichen zu untersuchen, so ist im allgemeinen die Behandlung von Klammerausdrücken erforderlich. Die Zeichenfolge „a + b x c" beispielsweise kann verstanden werden entweder als Folge „a + (b x c)" oder als Folge „(a + b) x c". Zur Untersuchung dieser inneren Struktur einer Zeichenfolge reicht das Modell des endlichen Automaten im allgemeinen nicht aus. Es ist die Verwendung eines Speicherautomaten erforderlich.
25
2.2 Aufgaben der Au tornateti theorìe
3. Der Automat als Generator Interessiert bei einer Aufgabenstellung nur die Ausgabezeichenfolge eines Automaten, da die Eingabezeichenfolge entweder unterdrückt wird oder nicht bekannt ist, so bezeichnen wir in diesem Fall den Automaten als Generator. Er erzeugt gewisse Zeichenfolgen in Abhängigkeit von seinem inneren Aufbau (Abb. 2—6).
Generator
®i e2
e
Abb. 2 - 6 Der Automat als Generator
Bei dieser Aufgabenstellung ist insbesondere der Zusammenhang zwischen den inneren Zuständen des Generators und der ausgesandten Zeichenfolge von Interesse. Der Generator wird im allgemeinen über eine Anzahl von internen Zuständen verfügen und das Ausgabezeichen beim Übergang zwischen zwei Zuständen erzeugen. Beobachten wir nun in der erzeugten Ausgabefolge gewisse Gesetzmäßigkeiten oder Wahrscheinlichkeiten für das Erscheinen einzelner Ausgabezeichen oder für Folgen von Ausgabezeichen, so können daraus Rückschlüsse über den internen Aufbau des Generators gezogen werden. Diese Aufgabenstellung spielt insbesondere in der Informationstheorie eine gewisse Rolle bei Untersuchungen zur Übertragung und Kodierung von Nachrichten. 4. Analyse und Synthese von Automaten Die Einteilung von Automaten in Umwandler, Akzeptoren oder Generatoren orientiert sich am Verhalten eines Automaten als Ganzes. Sie berücksichtigt nicht die Struktur, den inneren Aufbau des Automaten. Um den inneren Aufbau eines Automaten zu analysieren oder einen Automaten mit vorgegebenem Verhalten.zu konstruieren ist es erforderlich
26
2. Aufgaben und Modelle der Automatentheorie
1. ein analytisches mathematisches Modell zu erstellen, 2. auf der Basis dieses Modelles geeignete Baugruppen und Bauelemente festzulegen und 3. diese Bauelemente und Baugruppen in geeigneter Weise zusammenzufügen, so daß der konstruierte Automat den Anforderungen entspricht und das vorgegebene Verhalten zeigt. Die in Verbindung mit dieser Aufgabenstellung erforderlichen Verfahren und Schritte werden in den folgenden Kapiteln eingehend dargestellt. 5. Grundlagenforschung Zusätzlich zu diesen Aufgabenstellungen in Bezug auf das Verhalten und die Struktur von Automaten treten noch Fragestellungen aus der Grundlagenforschung [vgl. 6; 8]. In der mathematischen Grundlagenforschung stehen Fragen des Zusammenhangs von Algorithmenund Automatentheorie, der Berechenbarkeit von Funktionen, der Komplexität von Algorithmen und Automaten, der rekursiven Funktionen, der mathematischen Logik u.a.m. im Vordergrund. Ziel dieser Grundlagenforschung ist eine vertiefte Einsicht in die Fundamente der einzelnen Teilgebiete und in ihre gegenseitigen Abhängigkeiten. Dieser Teil der Automatentheorie wird als reine oder abstrakte Automatentheorie bezeichnet. Er kann als ein Teilgebiet der Mathematik angesehen werden. Ein weiterer Zweig der Grundlagenforschung, die Sprachtheorie, hat insbesondere durch die Entwicklung der Programmiersprachen entscheidende Impulse erhalten. In der Sprachtheorie ist es üblich, drei Ebenen zu unterscheiden: 1. die Syntax'. Sie bezieht sich auf die Beziehungen zwischen den Zeichen unabhängig von der den Zeichen zugrunde liegenden Bedeutung. 2. die Semantik: Sie untersucht die Beziehungen zwischen den Zeichen und der von den Zeichen beschriebenen Objektwelt.
2.3 Beispiele von Automatenmodellen
27
3. die Pragmatik: Sie umfaßt die Beziehungen der Zeichen über die Semantik hinaus, indem sie beispielsweise die Bedeutung der Zeichen für den Benutzer miteinbezieht. Die einfachste Beschreibungsebene ist die syntaktische. Im wesentlichen werden die Regeln der Grammatik studiert, die Korrektheit des Aufbaues der Zeichenfolge, die Zerlegung der Folge in syntaktische Komponenten u.a.m. Dieser Zweig der Sprachtheorie ist bisher am weitesten erforscht und verstanden. Die Untersuchungen der Semantik und der Pragmatik hingegen sind nicht nur ein Sprachproblem. Die Semantik, die die Bedeutung der Zeichen zu erfassen hat, hat mit" der Objektwelt zu tun, mit den Dingen, über die die Sprache spricht. In der Anwendung auf Programmiersprachen kann die Bedeutung eines Zeichens, einer Instruktion oder eines Kodewortes beispielsweise verstanden werden durch die Reaktionen, die in einer Maschine ausgelöst werden. So stellt die Prüfung eines Programmes auf Fehlerfreiheit ein semantisches Problem dar. Die Semantik ist auch eine Frage der Verifizierung. Die Pragmatik schließlich ist der übrig bleibende Teil der Sprachtheorie, der bisher kaum erforscht ist. Diese Fragestellungen führen jedoch über das Gebiet der Automatentheorie hinaus. Sie stellen eine wesentliche Aufgabe für eine allgemeine Systemtheorie dar. 2.3
Beispiele von Automatenmodellen
Neben der abstrakten Beschreibung von Automatenmodellen durch Zeichen- und Zustandsmengen und der Beschreibung der zwischen diesen Größen bestehenden Abhängigkeiten durch Abbildungen oder Funktionen ist es nützlich anschaulichere Modellvorstellungen zu definieren, die insbesondere auch die zeitlichen Abläufe erkennen lassen. Im folgenden werden daher in einer ersten Beschreibung die Automatenmodelle für endliche Automaten, Speicherautomaten und Turing Maschinen eingeführt.
28
2. Aufgaben und Modelle der Automatentheorie
1. Endliche Automaten Ein anschauliches Modell eines endlichen Automaten besteht aus einem Eingabeband mit einer Lesevorrichtung, einem Ausgabeband mit einer Schreibvorrichtung und einer Steuereinheit. Das Eingabeband und das Ausgabeband sind in Zellen eingeteilt. Jede Zelle kann ein Zeichen aus dem endlichen Eingabezeichenvorrat X = { x j . . .x n } bzw. dem endlichen Ausgabezeichenvorrat Z = {zj . . ,z m } aufnehmen. Die Steuereinheit verfugt über eine endliche Anzahl von internen Zuständen S = {sx . . . s k } , sie stellen die Zustandsmenge des Automaten dar. Die Arbeitsweise der Steuereinheit ist bestimmt durch die Festlegung, daß das vom Eingabeband gelesene Zeichen x und der gegenwärtige Zustand s des Automaten, bestimmend sind für den nächsten Zustand s' und für das Ausgabezeichen z. Aus dem Eingabezeichenvorrat X werden Eingabefolgen I = Ol . . . i n ) gebildet, die in aufeinanderfolgenden Zellen des Eingabebandes gespeichert sind. Es wird weiter angenommen, daß der Automat im Start-Stop Verfahren arbeitet. Zu Beginn eines Lesevorganges befindet sich diejenige Zelle des Eingabebandes unter der Lesevorrichtung, die das erste Zeichen i t der Eingabefolge I enthält. Der Automat selbst befindet sich in einem Anfangszustand q 0 aus der Zustandsmenge S. Das Ausgabeband sei gelöscht. Die Zellen des Ausgabebandes enthalten ein Leerzeichen. Nach dem Start des Lesevorganges veranlaßt die Steuereinheit in Abhängigkeit vom gegenwärtigen Zustand q 0 und dem anliegenden Eingabezeichen i 1 ; die Bereitstellung des zugehörigen Ausgabezeichens e! aus dem Ausgabezeichenvorrat Z und die Bestimmung des nächsten Zustandes qj,. Das Ausgabezeichen et wird in die unter der Schreibvorrichtung anliegende Zelle des Ausgabebandes abgespeichert. Anschließend werden das Eingabe- und das Ausgabeband um eine Zelle weiter bewegt. Der bereitgestellte nächste Zustand qö wird im nächsten Zeitintervall (t + 1) als gegenwärtiger Zustand qi verwendet. Das Verfahren wiederholt sich bis die ge-
2.3 Beispiele von Automatenmodellen
29
samte Eingabefolge I eingelesen wurde oder der Automat gestoppt wird (Abb. 2 - 7 ) . Eingabeband
Ausgabeband
Eingabefolge I
Ausgabefolge E
Abb. 2 - 7 Grundmodell des endlichen Automaten
Auf Grund dieser Festlegungen durchläuft der Automat bei Eingabe der Zeichenfolge I = (ij . . . i n ) eine Folge interner Zustände Q = (q 0 . . . cjj,) und stellt eine Folge von Ausgabezeichen E = (e t . . . e n ) bereit. Das zeitliche Verhalten des Automaten ist synchron zu einem Grundtakt. Die Ausgabe- und die Zustandsfunktion sind eindeutig bestimmt und bleiben zeitlich unverändert. Ein endlicher Automat ist daher ein diskreter, endlicher, synchroner, determinierter und zeitlich unveränderlicher Automat. Formal kann ein endlicher Automat durch die Bestimmungsgrößen A = ( X , Z, S, f s , f z } beschrieben werden. Dabei bedeuten: X = { x j . . . x n } ist der Eingabezeichenvorrat, Z = {zi . . . z m j der Ausgabezeichenvorrat, S = {sj . . . s k } die Zustandsmenge, f s : X x S -*• S ist die Zustandsfunktion zur Bestimmung des nächsten Zustandes, f z : X x S -*• Z ist die Ausgabefunktion zur Bestimmung des Ausgabezeichens. Die Beschränkung dieses Automatenmodelles liegt darin, daß nur endliche Mengen zugelassen sind und die auf dem Eingabeband gespeicherte Zeichenfolge nur einmal gelesen wird. Während dieses einmaligen Lesevorganges wird Zeichen fiir Zeichen der entsprechen-
30
2. Aufgaben und Modelle der Automatentheorie
den Ausgabefolge bereitgestellt. Es besteht keine Möglichkeit Zwischenresultate abzuspeichern und sie zu einem späteren Zeitpunkt wieder abzurufen. 2. Speicherautomaten Die wesentliche Beschränkung des endlichen Automaten liegt darin, daß keine Möglichkeit besteht, Zwischenresultate abzuspeichern. Auf Grund dieser Einschränkung gibt es Aufgabenstellungen, die mit Hilfe endlicher Automaten nicht gelöst werden können. So ist es beispielsweise nicht möglich ein Multiplikationsverfahren mit beliebig großen Operanden unter Verwendung eines endlichen Automaten auszufuhren, oder gewisse Struktureigenschaften in beliebigen Zeichenfolgen durch ein einmaliges Lesen der Zeichenfolge festzustellen. Das Modell des endlichen Automaten muß daher erweitert werden. Diese Erweiterung kann beispielsweise dadurch geschehen, daß zusätzlich zu dem Eingabe- und dem Ausgabeband ein Speicherband eingeführt wird, das nach beiden Seiten unbegrenzt ist und vorwärts und rückwärts gelesen und beschrieben werden kann. Dadurch wird es möglich, Eingabezeichen oder Zeichenfolgen zwischenzuspeichern und die Beschränkung des endlichen Automaten auf ein einmaliges Lesen der Eingabezeichenfolge zu beseitigen. Eine anschauliche Modellvorstellung eines Speicherautomaten zeigt Abb. 2—8. Für eine detaillierte Beschreibung dieses Modelles werden zusätzlich zum Eingabezeichenvorrat X, dem Ausgabezeichenvorrat Z und der Zustandsmenge S ein Speicheralphabet Y eingeführt, das alle Zeichen umfaßt, die auf das Speicherband geschrieben und gelesen werden können. Zur Steuerung der Bewegung des Speicherbandes wird ein Kontrollalphabet C = { R, L, N} eingeführt. Das Symbol „R" bedeutet „bewege die Lese/Schreibvorrichtung zur rechten Nachbarzelle", das Symbol „L" bedeutet „Bewege die LSVorrichtung zur linken Nachbarzelle", das Symbol „N" bedeutet „keine Bewegung", die unter der LS-Vorrichtung anliegende Zelle wird mehrfach gelesen oder beschrieben.
2.3 Beispiele von Automatenmodellen
31
Lese/Schreibvorrichtung
Eingabeband
Ausgabeband
Abb. 2—8 Modell eines Speicherautomaten
Die Arbeitsweise eines Speicherautomaten ist so zu verstehen, daß dem Wertetripel (x, y, s) bestehend aus dem Eingabezeichen x, dem vom Speicherband gelesenen Zeichen y und dem gegenwärtigen Zustand s die Größen (z, y', s', C) zugeordnet werden. Das Zeichen z bestimmt das Ausgabezeichen, das Zeichen y' bestimmt das auf dem Speicherband abzuspeichernde Zeichen, der nächste Zustand ist bestimmt durch s', das Zeichen C legt die Bewegung des Speicherbandes nach rechts (R), nach links (L) oder keine Bewegung (N) fest. Formal bedeutet dieses Vorgehen, daß die folgenden Funktionen definiert werden: die Ausgabefunktion f z : X x Y x S ^ Z zur Bereitstellung des Ausgabezeichens, die Zustandsfunktion f s : X x Y x S S zur Bestimmung des nächsten Zustandes, die Speicherfunktion f y : X x Y x S - > Y zur Bestimjnung des abzuspeichernden Zeichens, und die Kontrollfunktion f c : X x Y x S - * C zur Steuerung der Bewegung des Speicherbandes. Ein Speicherautomat ist daher definiert durch das 9-tupel A = {X, Y, Z, S, C, f s , f z , f y , f c } ? das alle Bestimmungsgrößen dieses Modelles festlegt. Die Beschränkung des Speicherautomaten liegt im Bereich des Eingabebandes. Es kann nur in einer Richtung gelesen werden. Es ist nicht möglich die Zeichen der Eingabefolge zu überschreiben
32
2. Aufgaben und Modelle der Automatentheorie
und zu einem späteren Zeitpunkt wieder einzulesen. Diese Einschränkung wird aufgehoben im allgemeinsten Automatenmodell. Es ist das Modell der Turing Maschine, das von dem englischen Mathematiker Turing im Jahre 1936 im Zusammenhang mit Untersuchungen über Grundlagenprobleme der Mathematik eingeführt wurde. 3. Das Modell der Turing Maschine Das Modell der Turing Maschine kann in dieser Übersichtsdarstellung als eine weitere Verallgemeinerung des Modelles des Speicherautomaten verstanden werden. Gleichzeitig kann die Turing Maschine aber auch als ein Grundmodell aufgefaßt werden, aus dem sich alle Automatenmodelle durch entsprechende Einschränkungen oder Modifikationen ableiten lassen. Im wesentlichen werden im Modell der Turing Maschine die Funktionen des Eingabe-, des Ausgabeund des Speicherbandes in einem einzigen Band vereinigt, das unter der Kontrolle durch eine Steuereinheit gelesen und beschrieben wird, sowie in beiden Richtungen bewegt werden kann (Abb. 2—9). Für eine detaillierte Beschreibung werden verwendet: ein Eingabezeichenvorrat X, ein Ausgabezeichenvorrat Z, eine Zustandsmenge S, sowie ein Kontrollalphabet C zur Steuerung des Eingabe-Ausgabebandes. Das Verhalten einer Turing Maschine ist bestimmt durch die Vorschrift, daß dem Wertepaar (x, s), bestehend aus dem Eingabezeichen x und dem gegenwärtigen Zustand s, das Wertetripel Steuereinheit fz:X«S—-2 fs: X«S—»S
f c : X * S —"C
K ì
I I I I I I I
>
N i f
Lese - Schreibvorrichtung
Abb. 2 - 9 Modell der Turing Maschine
Eingabeband Ausgabeband Speicherband
2.3 Beispiele von Automatenmodellen
33
(z, s', c) zugeordnet wird. Es bestimmt das Ausgabezeichen z, den nächsten Zustand s' und die Bewegung des Bandes. Formal wird das Verhalten einer Turing Maschine festgelegt durch die Funktionen: die Ausgabefunktion f z : X x S -> Z zur Bestimmung des Ausgabezeichens, die Zustandsfunktion f s : X x S S zur Bestimmung des nächsten Zustands und die Kontrollfunktion f c : X x S ->• C zur Steuerung des Bandes. Eine Turing Maschine ist demnach ein 7 Tupel A = {X, Z, S, C, f z , f s , f c } , das alle Bestimmungsgrößen dieses Modelles festlegt. Die Turing Maschine stellt das allgemeinste Automatenmodell dar, das zur Darstellung jeder algorithmisch berechenbarer Funktion Verwendung finden kann. Jeder Algorithmus kann durch eine spezielle Turing Maschine dargestellt werden. Werden die Anfangsdaten eines Problems auf dem Eingabeband in geeigneter Kodierung gespeichert, so wird unter Kontrolle der Steuereinheit der Bandinhalt gelesen, überschrieben oder neubeschrieben, bis schließlich der Automat nach endlich vielen Schritten zu einem Halt kommt. Der Inhalt des Bandes nach dem Stop der Maschine stellt das Resultat der Berechnung dar oder gibt die Mitteilung, daß keine Lösung existiert. Zur Durchführung dieser „Berechnung" ist es notwendig, den auszuführenden Algorithmus durch die Festlegung geeigneter Zeichenund Zustandsmengen und der erforderlichen Zustandsübergänge (x, s) ->• (z, s', C) zu beschreiben. Mit dieser Beschreibung ist die Steuereinheit unseres anschaulichen Modelles festgelegt, so daß in diesem Sinne von einer speziellen Turing Maschine gesprochen werden kann, die dem vorgelegten Algorithmus entspricht. Diese Darstellung eines Algorithmus hat jedoch einen außerordentlich elementaren Charakter, da die zur Verfugung stehenden Operationen im wesentlichen nur aus Lese- und Schreibvorgängen bestehen. Einfachste arithmetische Operationen wie beispielsweise die Addition oder Subtraktion ganzer Zahlen erfordern bereits eine große Zahl von Einzelschritten. Die Bedeutung dieses Modelles ist daher vorwiegend auf die Grundlagenforschung beschränkt.
3 Hackl, Automatentheorie I
34
3. Endliche Automaten
3. Endliche Automaten Endliche Automaten sind eine spezielle Klasse von Automaten. Sie repräsentieren endliche diskrete Systeme. In diesem Kapitel wird das mathematische Grundmodell endlicher Automaten beschrieben. Drei Begriffsbildungen werden eingeführt, die Struktur, das Verhalten und die Äquivalenz von Automaten. Diese Begriffe führen zur Zustandsbeschreibung von Automaten. Sie sind insbesondere nützlich bei Untersuchungen zur Analyse und Synthese von Automaten. 3.1
Aufgabenstellungen und Begriffsbildungen
Zur Illustration der Aufgabenstellungen und der Begriffsbildungen werden zunächst zwei Beispiele beschrieben. In einem ersten Beispiel ist eine Vorrichtung zu entwerfen, die bei zeichenweiser Eingabe von Texten feststellt, wieviele Wörter in dem gelesenen Text enthalten sind, die mit der Buchstabenkombination „un" beginnen und mit dem Buchstaben „d" enden. Als Zeichen sind zugelassen die 26 Buchstaben des Alphabets {a . . . z} und ein Zwischenraumzeichen, das durch das Symbol „0" gekennzeichnet ist (Abb. 3-1). Bei dieser Aufgabenstellung ist das Verhalten der Vorrichtung als Ganzes beschrieben. Es werden keine Aussagen über den inneren Aufbau gemacht. Aus dem vorgegebenen Verhalten des Automaten muß auf die innere Struktur geschlossen werden. Zur Lösung dieser Aufgabe ist in einem ersten Schritt der EingabeAusgabezeichenvorrat festzulegen. Als Eingabezeichen sind erforderlich die Buchstaben „u", „n", „d" und ein Zwischenraumzeichen „0". Alle übrigen Buchstaben sind für diese Aufgabenstellung nicht wesentlich und sollen.durch das Symbol a = {a, b, c, e, . . . z} dargestellt werden. Wir erhalten daher als Eingabezeichenvorrat X = {u, n, d, a, 0}. Als Ausgabezeichenvorrat wählen wir Z = {0, 1} , wobei z = 1 bedeutet, das gelesene Wort hat die gesuchte Eigenschaft und soll gezählt werden. Das Ausgabezeichen z = 0 bedeutet, die gesuchte Eigenschaft ist nicht erfüllt.
35
3.1 Aufgabenstellungen und Begriffsbildungen
-0unaad0-
-0000010-
Abb. 3 - 1 Vorrichtung zur Textanalyse
Zur Bestimmung der inneren Struktur des Automaten ist die Festlegung der inneren Zustände erforderlich. Die Auswahl einer Zustandsmenge ist im allgemeinen nicht eindeutig. Sie ist eng verknüpft mit der Einsicht in die Aufgabenstellung. Für dieses Beispiel kann die folgende Zustandsmenge gewählt werden: s 0 ein neues Wort soll gelesen werden, Si der erste gelesene Buchstabe eines Wortes ist „u", s 2 die ersten beiden Buchstaben eines Wortes sind „un", s 3 es liegt ein Wort mit der Buchstabenfolge „un a d" vor, s 4 das eingelesene Wort erfüllt die geforderten Bedingungen nicht. Für diese Zustandsmenge S = { s 0 , s 1 ; s 2 , s 3 , s 4 } werden in Abhängigkeit von den Eingabezeichen X = { u, n, d, a, 0 } die Zustandsübergänge vom „gegenwärtigen" zum „nächsten" Zustand festgelegt. Die sich ergebenden Übergänge sind in Abb. 3—2 beschrieben. Die erste Zeile dieser Tabelle bedeutet: Wird ein neues Wort eingelesen, und ist der erste Buchstabe ein „u", so ist der nächste Zustand Sj, ist der erste Buchstabe jedoch „n", „d" oder „a", so ist die geforderte Eigenschaft nicht erfüllt, der nächste Zustand ist der Nächster Zustand s t + I x =u x =d x = n
Gegenw. Zustand st „Neues Wort" „u" „un" „unoad" „Warten"
X = (
s4
s4
S2
s4
s4 s4
So
Sl S2
S2
S2
S3
S2
So
S3 S4
S2 S4
S2 S4
S3 S4
S2
So
so
Sl
S4
Abb. 3 - 2 Zustandsübergänge für Beispiel 1
3*
x=a
s4
So
So
36
3. Endliche Automaten
Zustand s 4 . Dieser Zustand bestimmt den Lesevorgang bis zum Erscheinen des nächsten Wortes. Ist das gelesene Zeichen ein Zwischenraumzeichen, so verbleibt der Automat im Zustand s 0 bis das erste Zeichen des nächsten Wortes erscheint. In analoger Weise sind die übrigen Zeilen dieser Tabelle zu verstehen. Neben der Bestimmung des nächsten Zustandes ist die Festlegung des Ausgabezeichens erforderlich. Sie kann ebenfalls in tabellarischer Form erfolgen wie in Abb. 3—3 gezeigt ist.
Ausgabezeichen z' x=u x=n x=d
Gegenw. Zustand s4 „Neues Wort" „u" „un" „unaad" „Waiten"
so Sl S3 s4
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
x=a
x=
0 0 0 0 0
0 0 0 1 0
Abb. 3 - 3 Festlegung des Ausgabezeichens für Beispiel 1
Falls der Automat sich im Zustand s 3 befindet d. h. ein Wort „unaad" gelesen wurde und das anliegende Eingabezeichen ein Leerzeichen „0" ist, erfolgt die Ausgabe eines Zählimpulses. In allen anderen Fällen wird kein Zählimpuls ausgegeben. Die tabellarischen Darstellungen der Zuständsübergänge und des Ausgabezeichens können in einem Graphen dargestellt werden. Die Zustände werden als die Knotenpunkte eines Graphen verstanden, während die Übergänge zwischen den Zuständen durch Streben mit Angabe der jeweiligen Eingabe/Ausgabezeichen gekennzeichnet sind. Den Zustandsgraphen für dieses Beispiel zeigt Abb. 3—4. Damit ist der interne Aufbau des Automaten festgelegt. Es ist eine interne Struktur von Zuständen und Zustandsübergängen beschrieben, die das geforderte Verhalten zeigt.
3.1 Aufgabenstellungen und Begriffsbildungen
37
u/O n/O d/O
a/O
d/0
Abb. 3 - 4 Zustandsgraph für Beispiel 1
In einem zweiten Beispiel soll gezeigt werden, wie aus einer vorgegebenen Struktur eines Automaten oder einer Vorrichtung, auf das Verhalten geschlossen werden kann. Es sei das in Abb. 3—5 gezeigte Netzwerk gegeben. Eine Eingangsleitung I liefert Impulse synchron zu einem Grundtakt an. Die Impulse werden durch die Symbole „0" und „1" dargestellt. Die Elemente L 1 ; L 2 , L 3 stellen Verzögerungsglieder dar, die die Signale um eine Zeiteinheit verzögern. Das Element M sei ein Mehrheitselement. Es erhält Eingangssignale auf drei Leitungen. Falls auf mehr als zwei Leitungen das Signal „1" erscheint, sei das Ausgabesignal „1", anderenfalls „0". Die Ausgangsleitung ist wieder zurückgeführt zum Verzögerungselement L 2 . Die Aufgabenstellung besteht darin, aus dieser Struktur das Verhalten des Netzwerkes in geeigneter Form darzustellen. Als Eingabe- und Ausgabezeichenvorrat wählen wir X = {0,1} bzw. Z = {0,1} Die Verzögerungselemente L t , L 2 , L 3 stellen eine interne Speicherkapazität dar, die durch die internen Variablen y i , y 2 , y 3 beschrieben werden kann. Für die zeitlichen Abhängigkeiten gelten die folgenden Beziehungen: y t (t + 1) = x (t), y 2 (t + 1) = z (t) und y 3 (t + 1) = y 2 (t) = z (t — 1)
38
3. Endliche Automaten
Die internen Variablen y j , y 2 , y 3 bestimmen den internen Zustand des Netzwerkes. Die Zustandsübergänge in Abhängigkeit von Eingabezeichen sind wieder in tabellarischer Form darstellbar wie in Abb. 3—6 gezeigt. Dabei ist zu beachten, daß das Mehrheitselement M die Signale der Eingänge x 4 , y j und y | verarbeitet.
yj
y\
y3
Nächster Zustand t+1 t+1 t+1 yi y2 y3 x» = 0 x4 = 1
0 0 0 0 1 1 I I
0 0 1 1 0 0 l l
0 l 0 1 0 1 0 1
0 0 0 0 0 0 0 0
Gegenw. Zustand
0 0 0 0 0 1 0 1
0 0 1 1 0 0 1 1
1 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1
0 0 1 1 0 0 1 1
Ausgabe z4 x4 = 0 x4 = 1 0 0 0 0 0 1 0 1
0 1 0 1 1 1 1 1
Abb. 3-6 Beschreibung des Verhaltens des Netzwerkes Kennzeichnen wir die acht Wertekombinationen yi, y 2 , y3 durch die Buchstaben a, b, c . . . h so erhalten wir Abb. 3—7. Diese Darstellung beschreibt unabhängig von den speziellen Komponenten das Verhalten des Netzwerkes in Abhängigkeit von den Eingabezeichen und den internen Zuständen. Diese Beschreibung kann nun weiter untersucht werden. So ergibt sich beispielsweise
39
3.1 Aufgabenstellungen und Begriffsbildungen
Gegenw. Zustand »* a b c d e f g h
Nächster Zustand xt=0 x« = 1
Ausgabe x< = 0
x«= 1
a a b b a c b d
0 0 0 0 0 1 0 1
0 1 0 1 1 1 1 1
e g f h g g h h
Abb. 3 - 7 Zustands- und Ausgabetabelle für Beispiel 2
wie später in diesem Kapitel eingehend gezeigt wird, daß die Zustände (b, e) und die Zustände (d, g) äquivalent sind. Die Zustände b und e, sowie d und g weisen identische Eintragungen für die nächsten Zustände und für die Ausgabezeichen aus. Die Zustände e und g können daher aus der Zustandstabelle eliminiert werden, bzw. durch die Zustände b und d ersetzt werden. Wir erhalten auf diese Weise einen reduzierten Automaten, der äquivalentes Verhalten zeigt (Abb. 3 - 8 ) . Gegenw. Zustand s4 a b c d f h
Nächster Zustand x = 0 x*= 1
Ausgabe x* = 0 x*= 1
a a b b c d
0 0 0 0 1 1
b d f h d h
0 1 0 1 1 1
Abb. 3 - 8 Reduzierter Automat für Beispiel 2
Der dazugehörige Zustandsgraph ist in Abb. 3—9 gezeigt. Er gibt eine Darstellung des Verhaltens des Netzwerkes in der Form einer Zustandsbeschieibung wieder (Abb. 3—9).
40
3. Endliche Automaten
0/0
Abb. 3 - 9 Zustandsgraph für reduzierten Automat
Diese beiden Aufgabenstellungen beziehen sich auf die grundlegenden Begriffsbildungen des „Verhaltens" und der Struktur" eines Automaten. Während in dem ersten Beispiel das Verhalten eines Automaten vorgegeben ist und eine dazugehörige Struktur gesucht wird, ist in der zweiten Aufgabenstellung ein Automat durch eine Struktur beschrieben, aus der sein Verhalten in der Form einer Zustandsbeschreibung abzuleiten ist. Die weitere Untersuchung dieser Zustandsbeschreibung ermöglicht schließlich die Angabe eines äquivalenten Automaten, der in seinem Verhalten identisch ist mit dem Verhalten des Ausgangsautomaten, sich jedoch in Bezug auf seinen strukturellen Aufbau unterscheidet. Fragestellungen, die mit diesen Begriffsbildungen und Aufgabenstellungen im Zusammenhang stehen, werden in den folgenden Abschnitten besprochen. 3.2
Die Struktur endlicher Automaten
Unter der Struktur eines Automaten werden alle diejenigen Eigenschaften verstanden, die sich aus den Beziehungen und Abhängigkeiten zwischen den Elementen des Grundmodelles endlicher Automaten herleiten lassen. Dies betrifft insbesondere die Kennzeichnung und die Eigenschaften der internen Zustände. Eine Klassifikation der internen Zustände, die Zerlegung eines Automaten in Teilautomaten, die Bestimmung von Wegen und Zyklen zwischen den Zuständen, sowie die Einfuhrung einer Ordnungsrelation zwischen den Zuständen werden dargestellt.
3.2 Die Struktur endlicher Automaten
41
3.2.1 Das mathematische Grundmodell des endlichen Automaten Unabhängig von allen speziellen Aufgabenstellungen und den möglichen technischen Realisierungen gelten für das Modell des endlichen Automaten die folgenden allgemeingültigen Eigenschaften: 1. Es gibt eine endliche Zahl von Eingabezeichen { Xj, . . . x p } , die als Eingabezeichenvorrat X = { x ( . . . x p } aufgefaßt werden. Aus diesem Zeichenvorrat werden Eingabezeichenfolgen gebildet, die zeichenweise in den Automaten eingegeben werden. 2. Es gibt eine endliche Zahl von Ausgabezeichen { z l . . . z q } , die als Ausgabezeichenvorrat Z = { . . . z q } aufgefaßt werden. Aus diesem Zeichenvorrat werden Ausgabezeichenfolgen gebildet, die die Reaktion des Automaten auf Eingabezeichenfolgen darstellen. Der endliche Automat stellt die Zuordnung oder eine Abbildung ven Eingabezeichenfolgen auf Ausgabezeichenfolgen her. Dabei ist ein Ausgabezeichen im allgemeinen nicht nur abhängig vom anliegenden Eingabezeichen, sondern auch von den vorher eingegebenen Zeichen. 3. Zur Darstellung der Abhängigkeiten in den Eingabezeichenfolgen steht eine endliche Zahl von internen Zuständen { Sj . . . s n } zur Verfügung, die als Zustandsmenge S = { s t . . . s n } bezeichnet wird. 4. Der gegenwärtige Zustand s des Automaten und das zu diesem Zeitpunkt anliegende Eingabezeichen x bestimmen den nächsten Zustand s' des Automaten. Diese Abhängigkeit kann als eine Abbildung X x S - » S zwischen der Menge der Eingabezeichen und der Zustandsmenge aufgefaßt werden. Diese Abbildung wird auch als Zustandsfunktion f s (x, s) bezeichnet. 5. In analoger Weise ist die Bildung des Ausgabezeichens bestimmt durch eine Abbildung X x S -»• Z. Die Menge der Eingabezeichen und die Zustandsmenge werden auf die Menge der Ausgabezeichen abgebildet. Diese Abbildung bestimmt die Ausgabefanktion f z (x, s).
42
3. Endliche Automaten
Auf dieser Grundlage läßt sich das folgende Automatenmodell definieren: Definition: Ein endlicher Automat ist ein Fünftupel A = { X, Z, S, f s , f z } , wobei X eine endliche nichtleere Menge von Eingabezeichen bedeutet, Z eine endliche nichtleere Menge von Ausgabezeichen, S eine endliche nichtleere Menge von Zuständen f s : X x S -»• S ist die Zustandsfunktion, f z : X x S -*• Z ist die Ausgabefunktion. Wir unterscheiden ferner zwischen vollständig definierten, unvollständig definierten und trivialen Automaten. Sind die Zustandsfunktion f s (x, s) und die Ausgabefunktion f z (x, s) für alle Wertepaare (x, s) definiert, so sprechen wir von vollständig definierten Automaten. Ist hingegen für gewisse Wertepaare (x, s) entweder kein nächster Zustand oder kein Ausgabezeichen festgelegt, so sprechen wir von unvollständig definierten Automaten. Ist die Ausgabefunktion nur vom Eingabezeichen abhängig z = f z (x),so sprechen wir von einem trivialen Automaten. Die Zustandsmenge ist ohne Einfluß auf das Ausgabeverhalten des Automaten. Eine weitere Fallunterscheidung kann hinsichtlich der Ausgabefunktion getroffen werden. Ist die Ausgabefunktion abhängig von der Zustandsmenge und den Eingabezeichen f z : X x S -* Z, so sprechen wir von einem Mealy Automaten [vgl. 52]. Ist die Ausgabefunktion nur abhängig von der Zustandsmenge f z : S -*• Z, so sprechen wir von einem Moore Automaten. Dieses Modell kann als ein Sonderfall eines Mealy Automaten aufgefaßt werden. Die beiden Modelle sind im wesentlichen gleichberechtigt. Unterschiede ergeben sich jedoch hinsichtlich der Definition der Zustandsmenge und bei der zeitlichen Betrachtung des Ausgabezeichens. Im Falle eines Moore Automaten ist das Ausgabezeichen nur abhängig vom gegenwärtigen
3.2 Die Struktur endlicher Automaten
43
Zustand des Automaten. In einem Mealy Automaten wird das Ausgabezeichen jedoch beim Übergang vom gegenwärtigen zum nächsten Zustand in Abhängigkeit vom Eingabezeichen bereitgestellt. Zur anschaulichen Darstellung der Funktionen f s und f z stehen uns tabellarische Darstellungen und die Abbildung durch Zustandsgraphen zur Verfugung. In einer tabellarischen Darstellung wird zu jedem Wertepaar bestehend aus dem Eingabezeichen x und dem gegenwärtigen Zustand s der zugeordnete nächste Zustand s' und das Ausgabezeichen aufgelistet. Der Zustandsgraph besteht aus Knoten und orientierten Verzweigungen. Die Knoten beschreiben die internen Zustände. Die Verzweigungen stellen in Abhängigkeit vom anliegenden Eingabezeichen die Übergänge zwischen dem gegenwärtigen und dem nächsten Zustand her. Der Zustandsgraph eines Automaten spielt eine ähnliche Rolle wie das Schaltkreisdiagramm in der Theorie endlicher Netzwerke. Ein abstraktes Modell wird in ein anschauliches Bild transformiert. Dadurch werden gewisse strukturelle Zusammenhänge sichtbar gemacht [vgl. 45; 55], Der Zustandsgraph eines Automaten wird gelegentlich mit dem Automaten selbst identifiziert. Es muß aber beachtet werden, daß er nur ein Hilfsmittel der Beschreibung darstellt (Abb. 3-10). Eingabe/Ausgabezeichen
_
*j'z1
__
Mealy Automat
x;
Eingabezeichen
Moore Automat Ausgabezeichen
Abb. 3 - 1 0 Zustandsgraph für Mealy und Moore Automaten
44
3. Endliche Automaten
3.2.2 Klassifikation von Zuständen Ein Hilfsmittel zur Darstellung struktureller Eigenschaften in Automaten ist die Zerlegung oder Aufteilung der Zustandsmenge in Teilmengen. Alle diejenigen Zustände, die gewisse Eigenschaften gemeinsam haben, werden zusammengefaßt und bilden Teilmengen der Zustandsmenge. Die Anschaulichkeit des Zustandsgraphen legt zunächst bei Betrachtung einzelner Zustände eine Klassifikation der Zustände in Abhängigkeit von konvergierenden zum Zustand hinfuhrenden und divergierenden vom Zustand wegführenden Verzweigungen nahe. Gibt es zu einem Zustand keine konvergierenden, jedoch mindestens eine divergierende Verzweigung, so sprechen wir von einem transienten Zustand. Der Zustand kann durch Verzweigungen verlassen werden, die zu anderen Zuständen fuhren. Der Ausgangszustand kann jedoch nicht mehr erreicht werden, sobald er einmal verlassen ist. Gibt es zu einem Zustand keine divergierenden, jedoch mindestens eine konvergierende Verzweigung, so sprechen wir von einem persisten Zustand. Der Zustand kann erreicht, aber nicht mehr verlassen werden. Gibt es zu einem Zustand weder konvergierende noch divergierende Verzweigungen, so sprechen wir von einem isolierten Zustand. Der Zustand hat keine Verbindung mit anderen Zuständen der Zustandsmenge. Gibt es für einen Zustand mindestens eine konvergierende und eine divergierende Verzweigung so sprechen wir von einem normalen Zustand. Der Zustand kann erreicht und verlassen werden. Wenden wir diese Definitionen auf die Zustandsmenge eines Automaten an, so erhalten wir eine Zerlegung der Zustandsmenge in vier
Abb. 3 - 1 1 Klassifikation der Zustände
45
3.2 Die Struktur endlicher Automaten
Teilmengen, die Menge der normalen Zustände S n , der transienten Zustände S fr der persistenten Zustände S p r und der isolierten Zustände S i s . Ein Beispiel zeigt die Anwendung dieser Begriffsbildungen auf den Automaten A 1 in Abb. 3—12. In der tabellarischen Darstellung der Zustandsfunktion sind zur Kennzeichnung der Zustände Sj lediglich die Indizes i verwendet. Gegenw. Zustand s» 1 2 3 4 5 6
st+1 x=a
x=b
z4 x=a
x=b
2 2 2 5 5 6
3 2 4 4 5 6
1 0 0 1 1 0
0 0 1 0 1 0
Abb. 3 - 1 2 Zustands- und Ausgabefunktion für Automa 4 A 1
Den Zustandsgraphen für Automat A 1 zeigt Abb. 3—13. b/0
a/1 b/1
Q/0 b/0
Abb. 3 - 1 3 Zustandsgraph für Automat A 1
Die Zustandsmenge S = { s t . . . s 6 } zerfällt in die Teilmengen s n = { s3> s 4 } » Str = { Si } , Spr = { S 2 , S s },Sis = { s 6 } . Diese Begriffsbildungen beziehen sich zunächst auf Einzelzustände. Sie sind jedoch auch anwendbar auf Teilmengen der Zustandsmenge, die als Teilautomaten aufgefaßt werden.
3. Endliche Automaten
46
Es gibt demnach: 1. Transiente Teilautomaten, sie führen durch Verzweigungen zu anderen Teilautomaten, sind jedoch nicht mehr erreichbar, sobald sie einmal verlassen sind. 2. Persistente Teilautomaten, die erreicht aber nicht mehr verlassen werden können. 3. Isolierte Teilautomaten, die weder erreicht noch verlassen werden können und 4. Normale Teilautomaten, sie können erreicht und verlassen werden. Ein Beispiel zeigt die Zerlegung des Automaten A 2 (Abb. 3—14). Der Automat A 2 zerfällt in vier Teilautomaten, die durch die Zustandsmengen I = { s 1 ; s 2 } , II = { s 3 , s 4 , s s } , IV = { s 8 , s 9 , s 1 0 } gegeben sind. Gegenw. Zustand s4 1 2 3 4 5 6 7 8 9 10
st+1 x=a 1 2 1 3 2 1 7 10 10 10
x=b 2 1 5 5 6 7 6 9 9 10
x=a
x=b
0 1 0 1 0 1 0 0 1 0
1 0 1 1 1 0 1 0 1 0
Abb. 3 - 1 4 Zustands- und Ausgabefunktion für A 2
Den Zustandsgraphen für Automat A 2 zeigt Abb. 3—15. Betrachten wir jeden Teilautomaten als einen Makrozustand des Automaten so zeigt Abb. 3—16 das Zustandsdiagramm für die Übergänge zwischen diesen Makrozuständen, die den Teilautomaten entsprechen.
3.2 Die Struktur endlicher Automaten
47
Abb. 3 - 1 5 Zustandsgraph für Automat A 2
Abb. 3 - 1 6 Zustandsübergänge zwischen Teilautomaten
Durch die Einfuhrung eines erweiterten Alphabets, das alle möglichen Eingabe-Ausgabefolgen innerhalb des vereinfachten Automaten umfaßt, können die Übergänge zwischen den Teilautomaten spezifiziert werden. Die Klassifikation der Zustände nach dem Vorhandensein von konvergierenden und divergierenden Verzweigungen war ein erstes Beispiel für die Zerlegung einer Zustandsmenge nach gewissen Eigenschaften der Zustände. Weitere Begriffsbildungen, die zu einer Zerlegung der Zustandsmenge verwendbar sind, ergeben sich aus der Betrachtung von Zustandspaaren (si; sj). Gibt es in dem Zustandsgraphen Übergänge, die von Zustand s ; entweder direkt oder über mehrere Zwischenzustände zu dem Zustand sj fuhren, so sagen wir: der Zustand Sj ist vom Zustand Sj ausgehend erreichbar. Verzichten wir auf die Orientierung und beschränken wir uns auf die Feststellung, ob es überhaupt Zustandsübergänge zwischen den Zuständen
48
3. Endliche Automaten
Sj und Sj gibt, gleichgültig in welcher Richtung, so sagen wir: die Zustände Sj und Sj sind verknüpft. Diese Begriffsbildungen der Erreichbarkeit und der Verknüpftheit von Zuständen sind nützlich bei Untersuchungen über die zwischen den Zuständen eines Automaten möglichen Verbindungen [vgl. 15; 16; 56], Im folgenden werden zwei Verfahren angegeben, die es gestatten, zu einer vorgegebenen Teilmenge von Zuständen alle diejenigen Zustände zu bestimmen, die von dieser Teilmenge ausgehend entweder erreichbar oder mit ihr verknüpft sind. 1. Bestimmung der erreichbaren Zustände'. Den unmittelbaren Übergang von Zustand s4 zum Zustand sj bezeichnen wir als eine Verzweigung vy. Eine Folge von k Verzweigungen, die von einem Zustand S; über mehrere Zwischenzustände zu einem Zustand Sj fuhren bezeichnen wir als einen Weg der Länge k, der durch den Ausdruck = v ^ • V j ^ . . . Vjkj gekennzeichnet ist.
o-®^® Vi j
V:
'Jl
:
J1J2
V:
:
©
Jk J
Abb. 3 - 1 7 Verzweigungen und Wege zwischen Zuständen
Betrachten wir als Beispiel eine Teilmenge S x = { s t , s 5 } der Zustandsmenge S des Automaten A 2 und fragen, welche Zustände ausgehend von den Zuständen in durch Wege der Länge k erreichbar sind, so finden wir durch wiederholte Inspektion der Zustandstabelle: Weglänge k 0 1 2 3
Ausgangszustände
Erreichbare Zustände
1, 1, 1, 1,
1, 5, 2, 6 1, 2, 5, 6, 7 1, 2, 5, 6, 7
5 5 5, 2, 6 2, 5, 6, 7
Abb. 3 - 1 8 Erreichbare Zustände für Si
3.2 Die Struktur endlicher Automaten
Das Verfahren besteht wird als bestehend aus genden Weg der Länge daher die erreichbaren
49
darin, daß die Weglänge k + 1 aufgefaßt einem Weg der Länge k und einem nachfol1, also einer einfachen Verzweigung. Sind Zustände für Wege der Länge k bekannt,
kann eine einfache Inspektion der Zustandstabelle alle die Zustände ermitteln, die durch Wege der Länge k + 1 erreichbar sind. Da die Zahl der Zustände aber endlich ist, muß für eine bestimmte Weglänge, im Beispiel für k = 3, ein Ende erreicht werden. Die Menge aller Zustände, die ausgehend von den Zuständen der gewählten Teilmenge Si erreichbar sind, ist gefunden. Diese Aufgabenstellung kann allgemein formuliert und durch ein rekursives Verfahren dargestellt werden. Gegeben sei ein Automat A = { X, Z, S, f s , f z } und eine Untermenge S; = { q j . . . c^ } mit q j e s , der Zustandsmenge S. Mit G k (S;) sei die Menge aller Zustände bezeichnet, die von einem beliebigen Zustand qjBSj ausgehend durch Wege der Länge k erreichbar sind. Unter diesen Voraussetzungen gilt: Für Wege der Länge k = 0:
G 0 (SO = Sj
Für Wege der Länge k = 1 ergibt sich G j (S,) durch die Vereinigungsmenge aus Si und aller nächsten Zustände f s (xj, qj) aus Sj d. h. G i (SO = { Si + f s ( X j , qj) |
Xj
eX,
qj e Sj }
Allgemein gilt sicherlich für k > 1 unter der Annahme, daß G k _ i (Si) bekannt ist: Gk(Si) = G1(Gk_1(Si)) Da aber die Zahl der Zustände endlich ist, muß von einem gewissen k an gelten G k (Si) = G k _ ! (Si)
4 Hackl, Automatentheorie I
50
3. Endliche Automaten
und schließlich für ein beliebiges u Gk+u
= G
k - i (Si)
G k (Sj) bestimmt diejenige Teilmenge der Zustandsmenge S, die alle Zustände enthält, die durch Wege beliebiger Länge, ausgehend von Zuständen aus der Teilmenge Sj erreicht werden können. Diese Teilmenge sei mit G (Sj) bezeichnet. Enthält die Teilmenge Sj nur einen einzelnen Zustand Sj = Sj auS der Zustandsmenge S, so ist unmittelbar zu sehen, daß gelten muß G(Sj) = G„_! (sj) d.h. die Menge aller Zustände, die vom Zustand Sj ausgehend erreicht werden können, ist durch Folgen der Länge (n — 1) oder weniger erreichbar. Aus diesem Ergebnis läßt sich der Satz formulieren: Satz: Sj und Sj sind zwei Zustände aus der Zustandsmenge S = { Sj . . . s n } des Automaten A = { X, Z, S, f s , f z }. Falls der Zustand Sj von Zustand Sj aus erreicht werden kann, so kann er durch eine Folge der Länge k = n — 1 oder weniger erreicht werden. Der Beweis folgt unmittelbar aus dem angegebenen Verfahren. 2. Bestimmung der verknüpften Zustände: Die Menge G k (Sj) beschreibt die Menge aller Zustände, die durch Wege der Länge k, ausgehend von den Zuständen der Teilmenge Sj erreichbar sind. Verzichten wir auf die Orientierung der Wege, so kann die Menge H k (Sj) definiert werden. Sie bestimmt zur gegebenen Teilmenge Sj alle diejenigen Zustände des Automaten, die durch Wege der Länge k verknüpft sind, unabhängig von der Orientierung der Wege. Betrachten wir wieder zunächst als Beispiel die Teilmenge S = { s x , s s } des Automaten A 2, so finden wir durch mehrfache Inspektion der Zustandstabelle:
3.2 Die Struktur endlicher Automaten
Weglänge k 0 1 2 3
Ausgangszustand
verknüpfte Zustände
1, 1, 1, 1,
1, 1, 1, 1,
5 5 2, 3, 4, 5, 6 2, 3, 4, 5, 6, 7
51
5 2, 6, 3, 4, 5 2, 5, 3, 4, 6, 7 2, 3, 4, 5, 6, 7
Abb. 3 - 1 9 Verknüpfte Zustände für S,
Das Verfahren besteht wieder darin, daß die erreichbaren Zustände gebildet werden und zusätzlich alle diejenigen gegenwärtigen Zustände mit aufgenommen werden, die zu einem nächsten Zustand fuhren, der in der Teilmenge Sj liegt. In einer Verallgemeinerung und formalen Darstellung gilt wieder: für Wege der Länge k = 0: H 0 (SO = Si für Wege der Länge k = 1 ergibt sich H, (Sj) als Vereinigungsmenge bestehend aus: 1. allen Zuständen der Menge Sj 2. allen nächsten Zuständen bestimmt durch f s (xj, qj) mit xj £ X und qj £ Sj. 3. allen gegenwärtigen Zuständen s k für die gilt f s ( x j , s k ) e Sj Daraus folgt wieder durch eine fekursive Definition, wobei vorausgesetzt wird, daß H k _ ! (Sj) bekannt ist H k (S i ) = H , ( H k _ 1 ( S i ) ) Da die Zahl der Zustände aber endlich ist, muß von einem gewissen k an wieder gelten: H k (SO = H k _ , (Si) = H (SO H (Si) enthält daher alle Zustände, die mit den Zuständen der Teilmenge Si durch Wege beliebiger Länge verknüpft sind.
52
3. Endliche Automaten
3.2.3. Matrizendarstellung als Hilfsmittel zu Strukturuntersuchungen Zur Untersuchung der strukturellen Zusammenhänge in Automaten ist es nützlich eine Darstellung der Zustands- und der Ausgabefunktion unter Verwendung von Matrizen zu benutzen [vgl. 15; 56]Die Übergänge zwischen den Zuständen eines Automaten werden durch eine Übergangsmatrix dargestellt. Sie ermöglicht eine einfache Klassifizierung der Zustände, die Bestimmung von Wegen und Zyklen zwischen den Zuständen, die Ermittlung gewisser Prioritäten in der Aufeinanderfolge von Zustandsübergängen u.a.m. 1. Definition der Übergangsmatrix: Ist S = { sx . . . s n } die Zustandsmenge und f s (x, s) und f z (x, s) die Zustands- und die Ausgabefunktion eines Automaten, so kann die in Abb. 3—20 gezeigte Übergangsmatrix definiert werden. Die Zustände S = { Sj . . . s n } werden als Zeilen und Spalten einer Matrix eingetragen. Für den Eingang (i, j) werden alle Zustandsübergänge des Automaten, die vom Zustand Sj nach dem Zustand Sj führen durch Angabe der möglichen Eingabe-Ausgabepaare (x i( Zj) eingetragen, wobei das Zeichen „+" als eine Oderverknüpfung zu verstehen ist. Die Gesamtheit aller Zustandsübergänge zwischen den Zuständen S£ und Sj wird mit vy bezeichnet. Existiert kein Zustandsübergang von S; nach Sj, so liegt eine Leerstelle der Matrix vor, die durch die Eintragung vy = 0 oder abkürzend durch das Zeichen „—" gekennzeichnet sein soll. Für den Automaten A 1 erhalten wir auf diese Weise, die in Abb. 3—20 gezeigte Darstellung. Aus dieser Darstellung sind konvergierende und divergierende Verzweigungen unmittelbar zu erkennen. Alle Eintragungen in den Spalten eines Zustandes Sj stellen konvergierende, zum Zustand Sj hinführende Verzweigungen dar. So ist der Zustand s 2 beispielsweise durch konvergierende Verzweigungen ausgehend von den Zuständen Sj, s 2 , s 3 erreichbar.
3.2 Die Struktur endlicher Automaten
53
Alle Eintragungen in den Zeilen für einen Zustand S; stellen divergierende vom Zustand S; wegführende Verzweigungen dar. So gehen beispielsweise vom Zustand s 3 divergierende Verzweigungen aus, die zu den Zuständen s 2 und s 4 führen. Spalte sj
Si S? s
4 Ss s 6
»1
=¡2
s
-
-
(a/1) (a/0)+ (b/0) (a/0)
(b/0)
-
-
-
-
-
-
—
—
3
s4
S5
s
_
_
_
-
-
-
6
-
(b/1) (b/0) (a/1) (a/1)+(b/1)
-
—
—
(a/0) + (b/0)
-
—
-
-
Abb. 3 - 2 0 Übergangsmatrix A 1 für Automat A
Auf dieser Grundlage gilt für die Klassifikation von Zuständen: Der Zustand s k ist ein transienter Zustand, falls alle Eintragungen außerhalb der Hauptdiagonale in der Spalte s k leer sind. Es gibt keine konvergierenden Verzweigungen nach s k . Der Zustand s k ist ein persistenter Zustand, falls alle Eintragungen außerhalb der Hauptdiagonale in der Zeile s k leer sind. Es gibt keine divergierenden Verzweigungen ausgehend von Zustand s k . Der Zustand s k ist ein isolierter Zustand, falls es für den Zustand s k nur Eintragungen in der Hauptdiagonale gibt. 2. Ermittlung von Teilautomaten: Die in dem vorhergehenden Abschnitt definierten Zustandsmengen Gx (Sj) und Hx (Sj) sind unmittelbar aus der Ubergangsmatrix ablesbar. Ist S, = {qj . . . qr) als Teilmenge der Zustandsmenge S gegeben, so bestimmt Gx (S,) die Menge aller Zustände, die, ausgehend von Zuständen aus Sj durch konvergierende Verzweigungen, das sind Wege der Länge k = 1, erreichbar sind. Konvergierende Verzweigungen sind aber unmittelbar aus den Eintragungen in die Spalten
3. Endliche Automaten
54
der Ubergangsmatrix erkennbar. G! (Sj) ist daher die Vereinigungsmenge bestehend aus S, und allen denjenigen Spaltenzuständen die in den Zeilen q | . . . q r nicht leere Eintragungen aufweisen. In analoger Weise ist die Menge H j (Sj) die Menge aller Zustände, die mit den Zuständen aus Sj durch Wege der Länge k = 1 unabhängig von der Orientierung verknüpft sind. Diese Menge ergibt sich aus der Betrachtung aller divergierender und aller konvergierender Verzweigungen der Länge k = 1. Aus der Übergangsmatrix ergibt sich H x (Sj) als die Vereinigungsmenge aus der Zustandsmenge Sj mit allen Spältenzuständen, die in den Zeilen q 1 . . . q r nicht leere Eintragungen aufweisen und allen Zeilenzuständen, die in den Spalten q j . . . q j nicht leere Eintragungen besitzen. Als Beispiel zeigen wir die Zerlegung des Automaten A 2 in Teilautomaten unter Verwendung einer reduzierten Übergangsmatrix, die in Abb. 3 - 2 1 gezeigt ist. In dieser Darstellung beschränken wir uns auf die Eintragung Vy = 1 falls eine Verzweigung vom Zustand Sj nach dem Zustand Sj existiert, anderenfalls ist Vy = 0 angedeutet durch das Zeichen „ - " . Diese Form der Darstellung wird als reduzierte Übergangsmatrix oder als Strukturmatrix bezeichnet.
S
1 2 3 4 S 6 7 8 9 10
H
2
1 1 1
1 1
-
1
3
4
5
-
1
1
-
1 1
—
—
—
-
-
—
7
8
9
10
_ -
-
6
-
-
—
—
-
-
-
-
-
-
-
-
-
—
—
—
-
-
-
1
1 1 1
1
-
1
1 1
1
Abb. 3 - 2 1 Strukturmatrix für Automat A 2
-
3.2 Die Struktur endlicher Automaten
55
Für die Zustandsmenge S x = {s 1 , s 5 } ergibt sich: G t (SO = {1,5} +{2,6} = { 1 , 5 , 2 , 6 } H, (SO = {1,5}+ {2,6}+ {l, 2, 3, 6, 3, 4} = {l, 2, 3, 4, 5, 6} Zur Feststellung, ob die Teilmenge S; = {qj . . . q ^ e i n transienter, persistenter oder isolierter Teilautomat ist, genügt es die Zeilen und Spalten der Übergangsmatrix so umzuordnen, daß die Zeilen und Spalten q t . . . q,. in aufeinanderfolgenden, benachbarten Positionen erscheinen (Abb. 3-22). qi • • • q r Ii A N
A
A2I
A22
1 2
Q sind, während die Größen R, S als abhängige Variable aufgefaßt werden. Das Verfahren besteht darin, daß die möglichen Wertekombinationen der unabhängigen Variablen in einer Tabelle zusammengefaßt werden. Die Anwendungsgleichung Q t + 1 = (g1 • Q + g 2 • Q)' bestimmt den Wert von Q zur Zeit t + 1. Die Werte für Q t + 1 müssen aber identisch sein mit den Werten, die sich aus der charakteristischen Gleichung Q t + 1 = (S + R • Q)1 ergeben. Vergleichen wir die Werte von Q zur Zeit t mit den aus der Anwendungsgleichung bestimmten Werte zur Zeit t + 1, so erlauben diese Werte Rückschlüsse auf die Werteverteilung der Variablen R und S zur Zeit t.
Zeile 0 1 2 3 4 5 6 7
Qt+1 abhängige
unabhängige Variable gl 82
Q*
0 0 0 0 1 1 1
0 1 0 1 0 1 0
1
0 0 1 1 0 0 1
1
1
Variable R s 0 0 1 0 0 1
1 1
a
0 1 0 1 a 4 0
0 0
0 0 1 0 0 a 5
1 7
a
Abb. 4 - 1 9 Tabellenvergleich zur Bestimmung der Eingangsgleichung
Beim Vergleich der Werte für Q* und Q t + 1 finden wir: 1. In den Zeilen 0, 1, 3, 4 ist Q t + 1 = 0, es muß daher auf alle Fälle S4 = 0 sein. 2. In den Zeilen 1, 3 ist Q t + 1 = 0 und Q* = 1, es muß daher R 1 = 1 sein.
4. Schaltwerke
112
3. In den Zeilen 0, 4 ist Q t + 1 = Q1 = 0 die Variable R* ist daher nicht bestimmt. Wir fuhren daher die Koeffizienten a 0 , a 4 ein, die sowohl den Wert 0 als auch den Wert 1 annehmen können. 4. In den Zeilen 2, 6 ist Q t + 1 = 1, Q1 = 0. Es muß daher S' = 1 und R* = 0 sein. 5. In den Zeilen 5, 7 ist Q* = Q t + 1 = 1. Daraus folgt R* = 0 während die Variable S* unbestimmt ist. Wir fuhren daher die Koeffizienten a 5 und a 7 ein. Damit sind allé Eingänge in den Spalten fur R* und S* bestimmt, wobei die Werte der Koeffizienten a 0 , a 4 , a 5 , a 7 beliebig wählbar sind. Eine Darstellung der Funktionen fur R 4 und S* in Tafelform zeigt Abb. 4—20 woraus die folgenden Boole'schen Funktionen folgen:
gl = 0
g2Q 00 a 0
gl = 1
a4
01 1 0
R* = a o
11 1 0 Ii
10 0 0
g002Q gi gi
= =
0 1
0 0
01 0
11 0
a
a7
s
10 1 1
g2 • c + a 4 • gl • h • Q + gl • Q
S* = a 5 " gl • h • C! + a 7 • gl
•
g2 • Q + g2 • Q
Abb. 4 - 2 0 Allgemeine Lösung der Eingangsgleichungen für R-S Elemente
Je nach Wahl der Parameter a 0 , a 4 , a s , a 7 ergeben sich verschiedene Lösungen. Zwei Möglichkeiten sind besonders zweckmäßig: 1. Unter der Annahme a 0 = a 4 = a s = a 7 = 0 finden wir für die allgemeine Lösung der Eingangsgleichungen R< = Ii • Q* S* = g2 • Q*
4.2 Die Verwendung von Speichexelementen in Schaltwerken
113
2. Unter der Annahme, daß a 0 = a 7 = 1 und a 4 = a 5 = 0 wird R* = ( g i ' & + Ii • g2 ' Q)1 S4 = (gi • g 2 + gi • g2 • Q)4 Nehmen wir weiter an, daß auch die Bedingung g t • g2 = 0 erfüllt ist, so erhalten wir unter Benutzung dieser Annahme: R* = Ii • & + gi • g2 = Ii S' = gi • ga + gi • g2 = gz Falls also aus der Kenntnis der Anwendungsgleichung gewährleistet ist, daß die Bedingung gj • gj = 0 erfüllt ist erhalten wir als allgemeine Lösung der Eingangsgleichung Rt
= Ii
S* = g2 mit gj • gz = 0 Die Anwendung dieser Lösungsmethode auf das Zählerbeispiel ergibt für die Eingangsgleichungen der Speicherelemente A, B, C die in Abb. 4—21 dargestellte Lösung.
Anwendungsgleichung
Eingangsgleichung
A t+1 = (B+ Q • A + B • C • Ä gl * g2 = 0 RA = gl = B ' f il = B+C S A = g2 = B • C g2 = B • C t+1 B =Ä • B +C • B gl' S2 j 0 R gl = Ä B = gl " B = A • B S B =g 2 B=C B 62 «C C t+1 = A B C + (B + A) C gl' g2 J 0 _ gj = A • B Rc = gl • C = (A+ B) • C g2 = f + A Sc = g2 • C = (A + B) • C Abb. 4 - 2 1 Bestimmung der Eingangsgleichungen für das Zählerbeispiel
4. Schaltwerke
114
Die Eingangsgleichungen bestimmen die Lösch- und Setzvorgänge für die Speicherelemente A, B, C. Eine tabellarische Darstellungidieser Vorgänge zeigt Abb. 4—22.
0 3 2 6 5 4 7 1
Zählerstand Eingangssignale zur Zeit t zur Zeit t A B c RA SA r B
SB
Rc
Sc
Zählerstand zur Zeit t+1 A B C
0 0 0 1 1 1 1 0
1 0 0 0 0 1 0 0
0 1 0 0 1 0 0 1
1 0 0 1 0 1 0 0
0 0 1 1 1 1 0 0
0 1 1 1 0 0 1 0
0 1 0 0 1 0 1 1
0 1 0 0 0 0 1 0
0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0
1 1 1 0 0 1 0 0
1 0 0 1 0 1 1 0
Abb. 4-22 Eingangssignale für Zählerbeispiel Eine graphische Darstellung in der Form eines Impulsdiagrammes zeigt Abb. 4—23. Dabei ist zu beachten, daß sich das Übergangsverhalten der Speicherelemente zwischen zwei aufeinanderfolgenden Taktzeiten abspielt.
Abb. 4-23 Impulsdiagramm für das Zählerbeispiel
4.2 Die Verwendung von Speicherelementen in Schaltwerken
115
Die Setz- und Löschsignale werden jeweils zur Zeit t durch Koinzidenz mit dem Taktimpuls bereitgestellt und bestimmen den Zustand der Speicherelemente zur Zeit t+1. Eine Darstellung des Schaltbildes zeigt Abb. 4 - 2 4 .
T
Abb. 4 - 2 4 Schaltbild für das Zählerbeispiel
D Takt
4.2.3 Anwendungsbeispiele von Speicherelementen in Rechenmaschinen Speicherelemente sind von grundlegender Bedeutung für den Operationsablauf in Rechenmaschinen. Es ist ein allgemein verwendetes Prinzip aller bisher gebauter Rechenmaschinen, daß Informationen, wie Instruktionen und Daten in Speicherelementen gespeichert, zu bestimmten Zeiten ausgelesen, in logischen Schaltnetzen verarbeitet und die Resultate wieder in Speicherelementen abgespeichert werden [vgl. 23; 24; 25; 26; 29], Wir unterscheiden zwischen zwei grundlegenden Arten der Verarbeitung. Bei einer Parallelverarbeitung sind die Informationseinheiten in Speicherelementen parallel gespeichert und stehen daher jederzeit für Verarbeitungsvorgänge zur Verfügung. Dem Vorteil der großen Schnelligkeit und des unmittelbaren Zugriffes steht jedoch der Nachteil eines größeren technischen Aufwandes gegenüber.
116
4. Schaltwerke
Im Gegensatz zu einer Parallelverarbeitung der Information stehen bei einer Serienverarbeitung die Informationseinheiten nur zu bestimmten Zeiten und an bestimmten Stellen zur Verfugung. Die Informationen werden in Umlauf- oder Schieberegistern gespeichert, deren grundsätzlicher Aufbau in Abb. 4—25 gezeigt ist. Das Schieberegister besteht aus den Speicherelementen X w , Qi . . . Q„, X R . Wird eine Informationsstelle zur Zeit t 0 in das Schreibregister X w eingegeben, so durchläuft sie während der Zeiten t j . . . t n + 1 die verschiedenen Stufen des Schieberegisters Ch . . . Q n und ist während dieser Zeiten im allgemeinen nicht verfügbar. Zur Zeit t n + 2 ist die Information am Ausgang des Leseregisters X R für eventuelle Verarbeitungsvorgänge zur Verfügung. Anschließend beginnt mit der Rückführung der Information zum Eingang des Schieberegisters in das Speicherelement X w der nächste Zyklus.
Abb. 4 - 2 5 Prinzipieller Aufbau eines Schieberegisters
Nehmen wir an, daß die einzelnen Stufen des Schieberegisters Q t . . . Q n als R-S Elemente ausgebildet sind, so müssen folgende Beziehungen gelten: Q'+i 1 = Q{ für i = 1. . . n -
1
Der Inhalt des Speicherelementes Qj + 1 zur Zeit t + 1 ist gleich dem Inhalt des Speicherelementes Q ; zur Zeit t. Dadurch ist die Anwendungsgleichung der Speicherelemente Qj bestimmt. In der festgelegten Normalform erhalten wir: Qj+11 = (Qi • Qi+1 + Qi • Qi+i) 1 m i t g, = g 2 = Qi
4.2 Die Verwendung von Speicherelementen in Schaltwerken
117
Da aber gx • g2 = 0 erfüllt ist erhalten wir für die Eingangsgleichungen R
Q i + 1 = Ii = Qi
SQ|+1=&=Q|
Das Schaltbild für eine Schieberegisterstufe zeigt Abb. 4—26.
Abb. 4 - 2 6 Prinzipschaltbild einer R-S Schieberegisterstufe
Schieberegister werden häufig verwendet um komplexere Verarbeitungseinheiten aufzubauen. In Abb. 4—27 ist der Aufbau eines Additionswerkes in Serienschaltung gezeigt, wobei die folgenden Annahmen gemacht werden. Die n-stelligen Operanden X und Y sind in den Speicherstellen x t . . . x n und yi . . . y n gespeichert, wobei x 0 eine Leerstelle und x n + 1 eine Uberlaufstelle bedeuten. Es wird angenommen, daß die Operanden zur Zeit t t . . . t n an den Eingängen des Addierwerkes anliegen. Das Resultat . . . zn x,. . x„ X
1
Schieberegister
*1
X
t,
1
t.
ADDier-
werk
X
y
n
z.
z„
t,
t„
Speicherregister Y
ADD
t,
t„
Abb. 4 - 2 7 Aufbau eines Additionswerkes in Serienverarbeitung
118
4. Schaltwerke
erscheint ohne Verzögerung am Ausgang des Addierwerkes. Es wird unmittelbar in das Schieberegister X, das als Akkumulator aufzufassen ist, abgespeichert. Weiter ist ein Speicherelement ADD zur Steuerung vorhanden. Falls für die Zeiten t t . . . t n das Speicherelement ADD gesetzt ist (ADD = 1), wird die Additionsoperation ausgeführt. Ist ADD gelöscht (ADD = 0), so bleibt der Inhalt des Schieberegisters X unverändert. Die in der Konfiguration enthaltenen Schieberegisterstufen und Speicherelemente sind wie oben skizziert beschreibbar. Das Verhalten des Addierwerkes zeigt Abb. 4 - 2 8 , wobei X 4 , Y4 die Werte der Operanden und Ü4 den Übertrag zur Zeit t darstellen. Diese Größen bestimmen die Summe Z4 und den Übertrag Ü t + 1 , der zur Zeit t bereit gestellt wird und in der Zeiteinheit t+1 wirksam wird. Zur Speicherung des Übertrags für eine Zeiteinheit wird daher ein weiteres Speicherelement benötigt. X4
Y4
Ü4
z4
ü*1
0 0 0 0 1 1 1 1
0 0 1 1 0 1 1 0
0 1 0 1 0 0 1 1
0 1 1 0 1 0 1 0
0 0 0 1 0 1 1 1
Abb. 4 - 2 8 Verhalten des Addierwerkes
Für die Herleitung der Anwendungsgleichung in der festgelegten Normalform finden wir aus der Abb. 4—28: Ü t + 1 = [(X + Y) • Ü + X • Y • Ü]4 mit gi = (X + Y) und g2 = X • Y D a g i = X + Y = X • Y wird gi • g2 = 0 und wir finden für die
4.2 Die Verwendung von Speicherelementen in Schaltwerken
119
Eingangsgleichung des Übertrag Speicherelementes Ü: So = 82 = X • Y
Rü = g, = X • Y
Ein Übertrag muß also bereitgestellt werden, falls X = 1 und Y = 1. Er veranlaßt das Setzen des Speicherelementes Ü zur Zeit t. Das Speicherelement wird gelöscht sobald X = 0 und Y = 0. Für die Bildung der Summe erhalten wir aus Abb. 4—28: 1} - [(X • Y + X • Y) • Ü + (X • Y + X • Y) • D"]1 Führen wir als Hilfgrößen für die Halbsumme ein: H4 = (X • Y + X • Y)1 mit H* = (X • Y + X • Y)* die symbolisch durch das in Abb. 4—29 dargestellte Symbol dargestellt wird so wird: Z l = (H • Ü + H • D)* und wir erhalten das in Abb. 4 - 3 0 gezeigte logische Schaltbild des Addierwerkes
HA
Abb. 4 - 2 9 Schaltbild für Halbsumme
Hl
1
\ HA Ü
V
SÜL t •—L/Rcf Abb. 4 - 3 0 Schaltbild eines Volladdierwerkes
Damit ist die Konfiguration des Volladdierwerkes in allen Einzelheiten beschreibbar.
120
4. Schaltwerke
4.3 Endliche Automaten und Schaltwerke als Hilfsmittel der Beschreibung komplexer Einheiten 4.3.1 Zustandskodierung endlicher Automaten Schaltwerke können als binäre Beschreibung endlicher Automaten verstanden werden, wobei der Übergang zwischen diesen Modellen durch die Wahl der Zustandskodierung erfolgt. Jedem Zustand Si aus der Zustandsmenge S ={s! . . . s,.} wird ein binäres Kodewort (Yi • • • Ys) zugeordnet. Die Einführung dieser Kodierung in die Zustands- und Ausgabefunktion des Automaten ergibt die zugeordneten Boole'schen Funktionen y/ = y/(xi . . . x n , yx . . . ys) für i = 1 . . . s als binäre Darstellung der Zustandsfunktion f s (x, s) und die Funktionen zj = z^Xj . . . x n , yj . . . ys) für i = 1 . . . m als binäre Darstellung der Ausgabefunktion f z ( x , s). Für die Wahl einer Kodierung von r Zuständen {s! . . . s r } steht eine extrem große Anzahl verschiedener Kodierungen zur Verfügung sobald die Zahl der Zustände größer wird (r > 8). Es ist daher notwendig bei der Wahl einer Kodierung Ubergeordnete Gesichtspunkte zu berücksichtigen. Von wesentlicher Bedeutung sind 1. die Minimisierung des technischen Aufwandes, die Zahl der erforderlichen Schaltglieder zur Realisierung der binären Zustandsund Ausgabefunktionen soll minimal sein. Diese Forderung bedeutet im allgemeinen, daß in möglichst vielen Boole'schen Funktionen die Zahl der unabhängigen Variablen (xj . . . x n , y t . . . ys) so klein als möglich sein soll. In diesem Fall liegt eine Zustandskodierung mit reduzierter Abhängigkeit vor, die eine geringere Anzahl von Schaltgliedern erwarten läßt [vgl. 18; 28 vol. II; 49], 2. die Berücksichtigung der internen Struktur des Automaten von Bedeutung. Durch geeignete Wahl der Zustandskodierung ist es möglich die innere Struktur des Automaten darzustellen, beispielsweise durch die Aufteilung des Automaten in parallele oder in Serie arbeitende Teilautomaten. Eine systematische Behandlung
4.3 Endliche Automaten und Schaltwerke
121
dieser Problemstellung ist im Rahmen dieses Bandes nicht möglich. Sie ist für einen Folgeband vorgesehen. Die folgenden allgemeinen Regeln haben sich jedoch für die Auswahl einer Zustandskodierung als nützlich erwiesen [vgl. 30]: Regel 1: Zwei oder mehrere Zustände, die für ein beliebiges Eingabezeichen zum gleichen nächsten Zustand führen, sollten benachbarte Kodierungen haben d. h. die Bitkombinationen der binären Variablen unterscheiden sich nur in einer Position. Regel 2: Zwei oder mehrere Zustände, die die nächsten Zustände eines Zustandes sind, sollten benachbarte Kodierungen erhalten. Eine anschauliche Darstellung dieser Regeln gibt Abb. 4—31.
Abb. 4 - 3 1 Allgemeine Regeln zur Zustandskodierung
Im allgemeinen ist die Erfüllung beider Regeln bei der Wahl einer Zustandskodierung nicht möglich. Erfahrungsgemäß gilt, daß die Regel 1 von größerer Bedeutung ist als die Regel 2. Die Erfüllung der ersten Regel sollte daher mit Vorrang beachtet werden.
Zustand s® SA so s i s 00 S 01 s 100 s 001
a b c d e f g
s*
x = 0 x = 1 x = 0 X=1
a b c d e f g
b d e f g a a
c e d g f a a
_
_
-
-
-
-
-
-
-
-
1 ü
0 1
Abb. 4 - 3 2 Zustands- und Ausgabefunktion für Prüfbitgenerator
122
4. Schaltwerke
Als Beispiel einer Zustandskodierung soll der im Abschnitt 3.2.4 beschriebene Prüfbitgenerator behandelt werden. Als Zustands- und Ausgabefunktion ergab sich für den reduzierten Automaten, die in Abb. 4—32 gezeigten Funktionen, wobei eine vereinfachte Schreibweise der Zustände { s A , s 0 . . . s 0 0 i } verwendet wird. Die Anwendung der Regel 1 auf die Zustandsfunktion ergibt diejenigen Zustände, die zum gleichen nächsten Zustand führen (Abb. 4—33). sl
st+1
f,g a a b, c b, c d, e d, e
a b c d e f g
Abb. 4-33 Anwendung der Regel 1 auf Zustandsfunktion
Auf Grund des Ergebnisses in Abb. 4—33 zerlegen wir die Zustandsmenge S = { a , b, c, d, e, f, g } in die Teilmengen S x = {a}, S 2 = {b, c } , S 3 = {d, e} , S 4 = { f , g} und ordnen den Zuständen
Block bl b2 b3 b4
Kodierung s* Yi Y2 V3
y\
yi
Y3
x=0 yi yi
y3
x= 1 yi yi
a 0 0 c 0 d 1 e 1 f 1 g 1
0 0 0 l l l l
0 l l l l 0 0
0 0 1 1 0 0 1
0 l l l l 0 0
0 l 0 0 l 0 0
0 l l l l 0 0
b
0 1 1 1 1 0 0
0 0 1 1 0 0 1
l I l 0 0 0 0
Abb. 4-34 Kodierte Zustandsfunktion
l l l 0 0 0 0
y3 l 0 l l 0 0 0
123
4.3 Endliche Automaten und Schaltwerke
innerhalb einer Teilmenge, die wir auch als Block bezeichnen, eine Kodierung zu, so daß sich Zustände innerhalb eines Blockes nur in einer Bitposition unterscheiden. Diese Zuordnung kann in der Weise geschehen, daß die binären Variablen y x , y 2 zur Kennzeichnung der Teilmengen verwendet werden. Die Variable y 3 dient zur Unterscheidung der Zustände innerhalb eines Blockes. Führen wir diese Kodierung in die Zustandsfunktion ein so erhalten wir die in Abb. 4—34 gezeigte Abhängigkeit. Aus Abb. 4—34 finden wir für die kodierte Zustandsfunktion die Boole'schen Funktionen: yl = yyij
y 2 =
'
Ys =
X
• yj• y2 + x • y2 • y 3 + x • y2 • y 3 = y 3 (x, y„, y 2 , y 3 )
Es liegt eine reduzierte Abhängigkeit für die Variablen y\ und y2 vor. Die Variable y 3 hingegen ist von allen binären Variablen X, yi, y 2 , y 3 abhängig. Ersetzen wir die binären Variablen yi, y 2 , y 3 durch die R-S Speicherelemente A, B, C und wenden wir das oben beschriebene Verfahren zur Ermittlung der Eingangsgleichungen an, so erhalten wir die in Abb. 4—35 dargestellten Ergebnisse. Speicherelement Löscheingang A B C
Setzeingang
Ra = B Rb = A Rc = B • A + X •C
SA = B SB = Ä Sc=X
Ä
B+ X
Abb. 4 - 3 5 Eingangsgleichungen für Speicherelemente
Für die Bereitstellung des Prüfbits ergibt sich schließlich: A
B C+X A
B C
Prüfbit „1"
q =X A
p=X
B C+X A
B C
Prüfbit „0"
B-C
4. Schaltwerke
124
Durch die Wahl der Speicherelemente und durch die Bestimmung der Eingangsgleichungen ist das Schaltbild des Prüfbitgenerators festgelegt. Aus dem Schaltbild in Abb. 4—36 ist ersichtlich, daß die Speicherelemente A, B nicht abhängig sind von Speicherelement C. Sie stellen einen unabhängigen Teilkomplex der Schaltung dar, der durch die reduzierte Abhängigkeit der Variablen y[, in der kodierten Zustandsfunktion bestimmt ist. Zeit t
)
\
B
)\
50
-p
Prüfbit "1"
q
Prüfbit " 0 "
0 B
Takt
Abb. 4 - 3 6 Schaltbild für Prüfbitgenerator
Das Vorhandensein zweier Teilschaltungen kann so interpretiert werden, daß das Gesamtschaltwerk in zwei Teilschaltwerke oder Teilautomaten A, und A2 zerlegbar ist.
125
4.3 Endliche Automaten und Schaltwerke
Bezeichnen wir die vier Teilmengen mit b t , b 2 , b 3 , b 4 und setzen für y = 0 das Zeichen „ g " und für y = 1 das Zeichen „ u " so kann die Zustandsfunktion f s auch dargestellt werden durch die in Abb. 4—37 gezeigte Kodierung.
a b c d e r g
Abb. 4 - 3 7 Zustandsfunktion dargestellt durch Blockkodierung
s«
x = 0 X=1
big b2g b2u b3u b3g b4g b4u
b2g b3u b3g b4g b4u big big
•b 2 u b3g b3u b4u b4g big big
Aus dieser Darstellung ist jedoch ersichtlich, daß die Teilautomaten Aj und A 2 wie in Abb. 4—38 gezeigt, spezifiziert sein müssen.
g u
bl b2 b3 b4
obi g
lb,
-
-
x=0 b2
X=1 b2 b3 b4 bl
b4 bl
u
ob2 u g
lb2 g u
ob 3 g u
lb 3
u g
ob4 g g
lb4 g g
Abb. 4 - 3 8 Serienschaltung zweier Automaten
Diese Zerlegung kann so interpretiert werden, daß der Automat A, als Zähler aufgefaßt wird, der die Taktimpulse ti, t 2 , t 3 , t 4 abzählt,
126
4. Schaltwerke
während der Automat A 2 in Abhängigkeit von der Zustandsinformation des Automaten Aj auf „gerade" und „ungerade" zählt und das Ausgabezeichen bereitstellt. Die gewählte Kodierung läßt daher eine Grundstruktur der Aufgabenstellung erkennen. Die Bereitstellung des Prüfbits war ja unabhängig von dem Vorhandensein des Zeitsignals t 4 und von der Geradzahligkeit der „1" im eingelesenen Kodewort. Auf Grund dieses Beispiels erhebt sich die Frage, inwiefern diese Eigenschaft der Zerlegbarkeit eines Automaten in parallel oder in Serie arbeitenden Teilautomaten unmittelbar aus der Untersuchung der Zustandsfunktion erkannt werden kann. Zu dieser Fragestellung wurden in den Jahren seit 1960 von J. Hartmanis [vgl. 18; 42; 49] Untersuchungen durchgeführt, die zur Entwicklung einer Zerlegungstheorie für Automaten gefuhrt haben. Die Behandlung dieser Theorie muß jedoch einem Folgeband vorbehalten bleiben
4.3.2 Der Aufbau komplexer Einheiten Das Grundmodell des endlichen Automaten ist von einfachem Aufbau, von geringer Redundanz und auf Grund seiner Allgemeinheit in vielen Bereichen anwendbar. Sein Nachteil ist jedoch, daß komplexe Einheiten mit einer größeren Zahl von Zuständen praktisch nicht mehr beschreibbar sind. Wie bereits in dem Abschnitt 1.2 dargestellt wurde, ist es auf Grund der Komplexität moderner Rechenautomaten notwendig, 1. größere Einheiten in Teilkomplexe zu zerlegen, die überschaubar sind, wie beispielsweise die Zerlegung eines Rechenautomaten in Speichereinheiten, Rechen- und Steuerwerk, Ein- und Ausgabeeinheiten, 2. zusätzlich zu dieser Zerlegung sind besondere Beschreibungsmittel für Planung, Entwurf und technischem Aufbau bereitzustellen.
4.3 Endliche Automaten und Schaltwerke
127
Dabei unterscheiden wir zwischen der Beschreibung der Funktion oder des Verhaltens, der Beschreibung der Struktur und der Beschreibung des operativen Ablaufes in einem System. Aus der bisherigen Darstellung endlicher Automaten und der Schaltwerke ist ersichtlich, daß Schaltwerke vorwiegend zur Beschreibung der Struktur und des operativen Ablaufes Verwendung finden. Sie ermöglichen die Beschreibung der Zusammenarbeit von Registern, Speicherelementen und deren logische Verknüpfung in einer vollständigen binären Beschreibung. Das Modell des endlichen Automaten hingegen ist vorwiegend zur Beschreibung des Verhaltens eines Systems durch die Angabe einer Zustandsbeschreibung geeignet. Es muß jedoch festgestellt werden, daß das Modell des endlichen Automaten zur Beschreibung des Verhaltens komplexer Systeme nicht ausreicht, sowohl auf Grund seiner Begrenzungen aus theoretischer Sicht als auch auf Grund seines letztlich zu elementaren Charakters. Zur Darstellung komplexer Einheiten sind daher zusätzliche Hilfsmittel erforderlich. Von wesentlicher Bedeutung sind 1. die Darstellung des Verhaltens von Einheiten über Zeitintervalle hinweg, 2. die Verwendung von asynchronen Teilkomplexen, die zu größeren Einheiten zusammengeschaltet werden und synchron zu einem Grundtakt arbeiten, 3. die Verwendung von speziellen Entwurfssprachen zur Beschreibung des Verhaltens komplexer Einheiten in algorithmischer Form, 4. die eindeutige Definition des Übergangs zwischen den verschiedenen Beschreibungsebenen, so stellt die Zustandskodierung den Übergang her zwischen einer verhaltensorientierten Zustandsbeschreibung und einer strukturorientierten vollständigen binären Beschreibung, die wiederum die Voraussetzung ist für eine nachfolgende technische Realisierung, und schließlich
4. Schaltwerke
128
5. der Einsatz von maschinellen Hilfsmitteln zu einer automatisierten Entwurfsverarbeitung. Die Beschreibung dieser Aufgabenstellungen muß jedoch einem Folgeband vorbehalten bleiben. 4.3.4 Aufgaben zu Abschnitt 4.1 A 1/1: Bestimme die allgemeine Lösung der Eingangsgleichungen für J-K Elemente, Triggerelemente, D-Elemente und R-S-T Elemente durch einen Tabellenvergleich der Anwendungsgleichungen und der charakteristischen Gleichungen. A 4/2: Bestimme die Eingangsgleichungen für a) einen oktalen Zähler mit der Zählfolge 0, 1, 5, 4, 6, 7, 3, 2, 0 usw. b) einen oktalen Zähler mit der Zählfolge 0, 3, 6, 5, 2, 0 usw. Die Zählerstellungen 1, 4, 7 treten nicht auf. Dadurch ist eine Vereinfachung der Boole'schen Funktionen möglich. c) einen hexadecimalen Zähler mit der Zählfolge: 0, 1, 2, 4, 8, 9, 10, 12, 13, 14, 15, 11, 7, 3, 6, 5, 0 usw. unter Verwendung beliebiger Speicherelemente. Vergleiche die Lösungen fiir verschiedene Speicherelemente. A 4/3: Bestimme die charakteristischen Gleichungen folgender Speicherelemente Ii
4
Qi+1 Q42+1 Q?
qT
0 0 1 1
0 1 0 1
Qi Q4, 0 1
0 o B heißt Abbildung von A auf B, falls jedem Element von B mindestens ein Element von A entspricht.
Eine Abbildung f: A -»• B heißt eineindeutig, falls auch jedem Element von B nur ein Element von A entspricht.
Ist die Abbildung f: A -*• B eineindeutig, so gibt es eine inverse Abbildung f: B -»• A. Der Begriff der Abbildung kann erweitert werden. Sind R, S, T drei nicht notwendig verschiedene Mengen und sind die Abbildungen f: R
S und g: S
T
gegeben, so findet auch eine Abbildung von R -* T statt, die als
136
Anhang 1: Mathematische Grundlagen
Produkt der Abbildungen von f und g aufgefaßt werden kann g • f: R
f
S
g
T
Beispiel: R ={a, b, c} S ={p, q, r, s} T ={u, v} Sind die Abbildungen f und g definiert durch: f : f ( a ) = q, g:g(p)=u,
f(b) = r, g(q) = v,
f(c)=p g(r)=v,
g(s) = u
dann ist das Produkt der Abbildungen gegeben durch g(f(a)) = v, g(f(b)) = v,
g(f(c» = u
In einer tabellarischen Darstellung ergibt sich: f:R->S a q b r c p
g: S -» T p u q v r v s u
f • g: R -» S -» T a v b v c u
Keine dieser Abbildungen ist eineindeutig. Zu keiner dieser Abbildungen gibt es eine inverse Abbildung. 4. Zerlegungen und Relationen In der bisherigen Darstellung standen die Eigenschaften einer Menge als Ganzes im Vordergrund, während die Elemente der Menge selbst kaum betrachtet wurden. In diesem Abschnitt werden die Eigenschaften der Elemente einer Menge betrachtet. Insbesondere sind diejenigen Eigenschaften der Elemente von Interesse, die zur Bildung von Untermengen verwendet werden können. Legen wir eine Menge S zu Grunde, so definiert jede charakteristisch« Eigenschaft P, die von bestimmten Elementen aus S erfüllt wird,
4. Zerlegungen und Relationen
137
eine Untermenge T von S für alle die Elemente, die diese Eigenschaft aufweisen. Ist insbesondere p = { A j , A 2 . . . A k } eine Anzahl von Untermengen von S in der Weise, daß für sie gilt: 1. A t v A 2 v . . . A k = S 2. Aj v Aj = 0 für i f j so erscheint jedes Element von S in einer und nur einer der Untermengen A j . . . A k . Eine derartige Aufteilung der Menge S in Teilmengen A t . . . A k wird als eine Zerlegung der Menge S bezeichnet. Jede der Untermengen Aj wird als ein Block der Zerlegung betrachtet. Werden zusätzliche Elementeigenschaften verwendet, so kann eine weitere Zerlegung gebildet werden, die eine größere Anzahl von Blöcken enthält. Sind p t ={ W, X, Y . . .} und pj ={ A, B, C . . .} zwei Zerlegungen der Menge S so ist die Zerlegung p 2 eine Verfeinerung der Zerlegung p t , falls jeder Block von p 2 eine Untermenge zu einem der Blöcke in pj darstellt. Beispiel: Gegeben eine Menge S ={a, b, c, d, e, f } mit den Abbildungen o
ß
a 0 b 0 c 1 d l e 2 f 2 g 2
a b c d e f
0 1 1 2 1 2 g l
Diese Abbildungen können zur Definition von Untermengen verwendet werden, wobei die abkürzende Schreibweise X ={s I s a = f(s)} bedeutet: Es ist diejenige Untermenge X von S zu bilden, deren Elemente bei Anwendung der Abbildung a den Funktionswert f (s) ergeben.
Anhang 1: Mathematische Grundlagen
138
Folgende Untermengen seien definiert: A = {s l s a = 0 } B ={s!sa =1} C = { s l s a = 2} Daraus ergibt sich die Zerlegung der Menge S = {a, b, c, d, e, f die Blöcke A=fa,b}
B ={c, d}
in}
C = { e , f, g}
oder falls die Elemente eines Blockes durch Überstreichung gekennzeichnet werden: p t ={ä~b, c~d, e f g ] In analoger Weise ergeben die Definitionen E ={sls0= 0} ={a} F ={s\sß=
1 } = { b , c, e, g }
G ={slsj3= 2} ={d, f} oder p 2 ={ a, b c e g, d f } Bei Verwendung kombinierter Eigenschaften erhalten wir: M ={slsa
= OAS0
N O P Q R
= = = = =
= {slsa = {slsa ={slsa ={slsa ={slsa
lAsß 1AS0 lAsj3 2Asß 2Asß
= 0} ={a}
= = = = =
1} 1} 2} 1} 2}
={b} ={c} ={ d } ={e, g} ={f}
oder p 3 = { i , b, c, d , T g . T } Der Vergleich der Zerlegungen P 1 . P 2 . P 3 zeigt, daß p 3 eine verfeinerte Zerlegung sowohl von p j als auch von p 2 ist, die Zerlegung Pi und p 2 hingegen nicht vergleichbar sind. Relationen Die bekannten mathematischen Begriffe der Gleichheit u n d der Ungleichheit wie a = b , a > b , a < b drücken Beziehungen zwischen
4. Zerlegungen und Relationen
139
den Symbolen a und b aus. Diese Begriffe können auch für Mengen definiert werden. Eine Relation R ist definiert für eine Menge W, falls für jedes Paar von Elementen (a, b) £ W x W die Aussage „a steht in der Relation zu b" oder „a R b" entweder wahr oder falsch ist entsprechend dem gewählten Paar von Elementen aus W x W. Es gibt drei wichtige Eigenschaften, die eine Relation besitzen kann oder nicht. Es sei R eine gegebene Relation und a, b, c irgendwelche Elemente aus W, dann betrachten wir die folgenden Eigenschaften: 1. R ist reflexiv es gilt: a R a 2. R ist symmetrisch es gilt: Falls a R b gilt, dann gilt auch b R a 3. R ist transitiv es gilt: Falls a R b und b R c gelten, dann gilt auch a R c Eine beliebige Relation R wird im allgemeinen diese Forderungen nicht erfüllen. Die Relation „kleiner als" beispielsweise ist zwar transitiv aber nicht reflexiv, a < a und nicht symmetrisch, da falls a < b dann ist b > a. Eine Relation die symmetrisch, reflexiv und transitiv ist, ist eine Äquivalenz oder Gleichheitsrelation. Äquivalenzrelationen spielen eine wichtige Rolle in der Automatentheorie.
Anhang 2: Grundlagen der Schaltalgebra Bei der Realisierung von Automatenmodellen finden die Begriffsbildungen der Schaltalgebra Verwendung. Die Schaltalgebra kann als ein Beispiel eines formalen Systems betrachtet werden [ vgl. 12; 21; 29; 36], Der Aufbau eines formalen Systems erfolgt in drei Schritten. 1. Durch die Bereitstellung der Grundelemente in der Form einer nicht näher definierten Zeichenmenge.
140
Anhang 2: Grundlagen der Schaltalgebra
2. durch die Festlegung von Postulaten in Hinblick auf die Verknüpfung der Grundelemente. Diese Regeln sind im Prinzip beliebig wählbar, müssen jedoch die folgenden Bedingungen erfüllen: a) "die Regeln müssen widerspruchsfrei sein. Es darf nicht möglich sein aus, den festgelegten Regeln eine Aussage und ihre Negation abzuleiten. b) Die Regeln müssen einfach sein. Das bedeutet die gewählten Postulate sind nicht zerlegbar in Teilpostulate. c) Die Postulate müssen unabhängig sein. Es ist nicht möglich die festgelegten Postulate aus einander abzuleiten. 3. Ableitung von Theoremen. Durch Anwendung logischer Schlußfolgerungen und festgelegter Ableitungsregeln werden aus den Postulaten allgemein gültige Aussagen abgeleitet, die als Arbeitsregeln des Systems betrachtet werden. 1. Die Boolesche Algebra als formales System Für die Herleitung der Schaltalgebra seien diese Schritte kurz skizziert. Schritt 1: Festlegen der Grundelemente Als Grundelemente sind zugelassen a) ein Zeichenvorrat bestehend aus großen lateinischen Buchstaben Q = { A , B, C . . .} b) Operationszeichen für Gleichheit „=" und zwei Grundoperationen die gekennzeichnet sind durch die Symbole „+" und „•". c) Spezielle Zeichen wie beispielsweise die Einheitselemente „0" und „1", ferner Klammerausdrücke „ ( " , „ ) " u. a. m. Schritt 2: Festlegen der Postulate Die Postulate bestimmen die Verknüpfungsregeln, die für die Grundelemente gelten. Die folgenden Postulate der Boole'schen Algebra wurden von E. V. Huntington (1908) angegeben.
1. Die Boole'sche Algebra als formales System
141
P 1: Regeln der Verknüpfung: (la) Sind X, Y Elemente in K, dann ergibt die Operation (X + Y) ein Element aus K. (lb) Sind X, Y Elemente aus K, dann ergibt die Operation (X • Y) ein Element aus K. P 2: Existenz von Einheitselementen (2a) Es gibt ein Element 0 derart, daß für jedes Element X aus K güt: (X + 0) = X (2b) Es gibt ein Element 1 derart, daß für jedes Element X aus K güt: (X • 1) = X P 3: Gültigkeit des kommutativen
Gesetzes
Für beliebige Elemente X, Y aus K gilt (3a)
(X + Y) = (Y + X)
(3b)
(X • Y) = (Y • X)
P 4: Gültigkeit des distributiven Gesetzes Für beliebige Elemente X, Y, Z aus K gilt (4a)
X + (Y • Z) = (X + Y) • (X + Z)
(4b)
X • (Y + Z) = (X • Y) + (X • Z)
P 5: Existenz inverser Elemente Für jedes Element X aus K gibt es ein Element X aus K derart, daß güt: (5a) (5b)
(X + X) = 1 (X • X) = 0
P 6: Es gibt mindestens zwei Elemente in K derart daß X f Y. Diese Postulate beschreiben eine algebraische Struktur, bestehend aus einer Menge K, zwei Operationszeichen (+) und (.), zwei Ein-
142
Anhang 2: Grundlagen der Schaltalgebra
heitselementen (0) und (1), wobei das kommutative und das distributive Gesetz Gültigkeit haben. Die Postulate sind in Bezug auf die Operationszeichen (+) und (.) symmetrisch aufgebaut. Die Vertauschung der Operationszeichen ergibt die zugehörigen dualen Postulate. Schritt 3: Ableitung von Theoremen Aus den Postulaten eines formalen Systems sind durch Anwendung logischer Schlußfolgerungen und festgelegter Ableitungsregeln weitere allgemein gültige Aussagen, die als Theoreme bezeichnet werden, ableitbar. Sie können als eine Art von Arbeitsregeln des Systems aufgefaßt werden. Im folgenden werden einige dieser Theoreme, die fur die Anwendung der Schaltalgebra wichtig sind, kurz beschrieben. Negationstheoreme: Th 1: Zu jedem X in K gibt es nur ein einziges Element X in K Beweis: Angenommen es gibt zu X zwei inverse Elemente Xj und X2 dann muß nach den Postulaten gelten: (5a) X + X, = X + X2 = 1 (5b) X • X! = X • X2 = 0 Nun wird bewiesen, daß X t = X 2 durch wiederholte Anwendung der Postulate. X•2 X; 2 -= 1 • A.2 = (X +_x,) l X 2 _ — X * X2 "i" X j * X j = 0 + X1-X2 — XJ • X + XJ * X^ = X, • (X + X 2 ) =x r 1 = xt X2 = X t w • z • b • w
(2b) (5a) (4b) (5b) (5b) (4b) (5a) (2b)
Th 2: Wiederholte Negation _ X = X Die Negation eines Komplementes X ergibt das Element x.
1. Die Boole'sche Algebra als formales System
143
Beweis: Zunächst ist das Komplement zu X bestimmt aus Postulat 5 durch: X+X= 1 X• X=0
(5a) (5b)
X ist daher das Komplement zu X. Da aber nach Th 1, es zu jedem Element aus K nur ein einziges Komplement gibt, muß gelten: (X) = (X) = x Th 3: De Morgans Theorem Für die Komplementbildung Boole'scher Ausdrücke sind die folgenden Theoreme von Bedeutung Th 3a: ( X T Y ) = X • Y Th 3b: (X • Y) = X + Y Aus diesen Theoremen folgt die allgemeine Vorschrift für die Bildung von Komplementen: 1. Ersetzen der Operationszeichen „+" durch das Operationszeichen ii
2. Ersetzen des Operationszeichens „ • " durch das Operationszeichen „+" 3. Ersetze jedes Element X innerhalb eines Ausdruckes durch das Komplement X. Absorptionstheoreme Weiter sind die folgenden Theoreme für die Reduzierung Boole'scher Ausdrücke von Bedeutung: Th 4a: X + X • Y Th 4b: X • (X + Y)
=X =X
Th 5: X + X - Y Th 5b: X • (X + Y)
=X + Y =X • Y
Th 6a: (X + Y) -JX + Z) = X • Z + Y • X _ Th 6b: X • Y + X • Z = (X + Z) • (Y + X)
144
Anhang 2: Grundlagen der Schaltalgebra
Theorem 6a und sein duales Theorem 6b sind identisch bis auf eine Vertauschung der Variablen Y und Z. 2. Die Interpretation formaler Systeme Formale System sind abstrakte mathematische Strukturen, die keine unmittelbare Bedeutung haben. Sie sind Systeme von Regeln zur Manipulation von Zeichen. Diesen Zeichensystemen können die verschiedensten Interpretationen zugeordnet werden. Für das System der Boole'schen Algebra sind zwei Interpretationen von Bedeutung, die Interpretation durch Punktmengen und die Interpretation durch Schaltkreise . Bei der Interpretation der Boole'schen Algebra durch Punktmengen werden die Menge R = { A , B , C . . .} einfach zusammenhängende Punktmengen zugeordnet, die innerhalb eines Quadrates K liegen. Das Element (X + Y) wird als die Vereinigungsmenge, das Element (X • Y) als die Durchschnittsmenge der Punktmengen X und Y definiert. Das inverse Element X ist die Komplementärmenge zu X in K. Diese Interpretation wird geometrisch dargestellt durch die sogenannten Venn Diagramme. Abb. 5—1.
Abb. 5 - 1 Venn Diagramme
Prüfen wir die Postulate aus der Sicht dieser Interpretation, so ist unmittelbar zu sehen, daß die Postulate P la, P lb, P 3b und P 6 erfüllt sind. Interpretieren wir weiter das Element „ 0 " als die leere Menge und das Element „ 1 " als die Menge aller Punkte in K, dann sind auch die Postulate P 2a und P 2b erfüllt. Die Gültigkeit der Postulate P 4a und P 4b ist aus der Darstellung in Abb. 5—2 ersichtlich.
2. Die Interpretation formaler Systeme
145
Abb. 5 - 2 Darstellung des Postulates P 4
Die Gültigkeit des Postulates P 5 schließlich kann aus der in Abb. 5—3 gezeigten Interpretation eingesehen werden.
Ä Abb. 5 - 3 Darstellung des Postulates P 5
Interpretieren wir hingegen die Postulate durch Schaltkreise, so wird die Menge K = { A, B, C . . . } aufgefaßt als Eingangs- urid Ausgangsleitungen in Schaltgliedern, die zweiwertige Signale, beispielsweise mit den Werten „P" positiv und „N" negativ aufweisen können. Das Element (A + B) stellt dann ein Schaltglied mit den zwei Eingangsleitungen A und B dar, das eine ODER Verknüpfung der auf den Eingangsleitungen angelieferten Werten bildet und auf einer Ausgangsleitung C ausgibt. In analoger Weise stellt das Element (A • B) ein UND Schaltglied dar. Das inverse Element X ist interpretiert als ein Schaltglied das die Negation der Werte auf der Eingangsleitung ausgibt. Die symbolische Darstellung und die Funktion dieser Schaltglieder ist in Abb. 5—4 zusammenfassend dargestellt.
Anhang 2: Grundlagen
146
Schaltalgebra
A ¡^CiA-B
|
Symbol A N N P P P
Funktion
B N P
C= A B N N
N P
N P
^—"OA+B A N N P P
C= A + B N P P P
B N P N P
M
Symbol
c=a
A N P
Funktion
P N
Abb. 5 - 4 Darstellung der Postulate durch Schaltglieder
Aus dieser Definition ist die Gültigkeit der Postulate P la, P lb, P 3a, P 3b und P 6 unmittelbar einzusehen. Die Postulate P 2a und P 2b sind erfüllt, falls das Zeichen „0" mit dem Eingangswert „N" und das Zeichen „1" mit dem Eingangswert „P" interpretiert wird, wie in Abb. 5—5 zeigt.
X
1
X •1=X
X
0
X+0 =X
N P
P P
N P
N P
N N
N P
Abb. 5 - 5 Gültigkeit des Postulates P 2
Die Gültigkeit der Postulate P 4a und P 4b kann ebenfalls durch den Wertevergleich für die entsprechenden Schaltglieder gezeigt werden, wie in Abb. 5 - 6 dargestellt ist.
147
3. Boole'sche Funktionen
X+Y' Z
• (X-YI (X+Z) Symbol
X Y Z (X * Y) • (X + Z) N N N N P P P P
N N P P N N P P
N P N P N P N P
X Y Z X + Y •Z N N N N P P P P
N N N P P P P P
N N P P N N P P
N P N P N P N P
N N N P P P P P
Funktion
Abb. 5 - 6 Gültigkeit des Postulates P 4
Schließlich ist die Gültigkeit des Postulates P 5 erfüllt, falls X interpretiert wird als Komplementärwert zu X wie in Abb. 5—7 gezeigt. X
X
x +
N P P N
p p
x
X
X
N p P N
x x N N
Abb. 5 - 7 Gültigkeit des Postulates P 5
3. Boole'sche Funktionen Der nächste Schritt in der Herleitung der Schaltalgebra besteht in der Einfuhrung von Funktionen binärer Variabler. Eine binäre Variable ist ein Element aus dem Zeichenvorrat K = {A, B, C . . .} das einen der beiden Werte {0, 1} annehmen kann. Eine Boole'sche Funktion Z = f (A, B, C . . .) ist eine binäre Variable Z, deren Wert abhängig ist von den Werten einer oder mehrerer Variabler (A, B, C . . .).{A, B, C . . .}sind unabhängige
148
Anhang 2: Grundlagen dei Schaltalgebra
Variable, falls ihr Wert beliebig wählbar ist. Z ist eine abhängige Variable, deren Wert bestimmt ist durch die Werte der unabhängigen Variablen A, B, C . . . . 1. Disjunktive Normalform Eine Boole'sche Funktion Z = f(A, B, C . . .) ist in Form einer Wertetabelle darstellbar. Die Wertetabelle gibt zu jeder Wertekombination der unabhängigen Variablen den zugeordneten Funktionswert wieder. Ist beispielsweise die in Abb. 5—8 dargestellte Boole'sche Funktion Z = f(A, B) gegeben, so besagt die Wertetabelle: X Y
z
0 1 0 1
0 1 1 1
0 0 1 1
Abb. 5 - 8 Boole'sche Funktion Z = X + Y
Z = 1 falls falls falls
X = 0 und Y = 1 oder X = 1 und Y = 0 oder X = 1 und Y = 1
Diese Bedingungen können aber auch geschrieben werden in der Form Z = 1 falls X = 1 falls X = 1 falls X = 1
und Y = 1 oder und Y = 1 oder und Y = 1.
Übersetzen wir diese Aussage in eine formale Darstellung so erhalten wir: Z=X Y +X Y + X Y Der Funktionswert der abhängigen Variablen Z wird dargestellt durch die Produktglieder X • Y, X • Y und X • Y, die durch eine Oder Verknüpfung zusammengefaßt werden.
149
3. Boole'sche Funktionen
Diese Darstellung kann verallgemeinert werden. Bei zwei Variablen X, Y können insgesamt vier verschiedene Produktglieder gebildet werden: P0 = X • Y,
P,=X
Y,
P 2 = X • Y,
P3 = X • Y
Jede Boole'sche Funktion in zwei Variablen X, Y ist dann durch einen Ausdruck in der Form darstellbar: Z = a 0 • P 0 + a j • P t + a 2 • P2 + a 3 • P 3 wobei die Koeffizienten aj die Werte 0 oder 1 annehmen können. Das in Abb. 5—8 gegebene Beispiel wird in dieser Darstellung: Z = 0 • P 0 + 1 • P t + 1 • P2 + 1 • P 3
Diese Darstellung läßt sich weiter verallgemeinern. Für n Variable Xj, x 2 . . . x n können 2 n Produktglieder gebildet werden. Es gilt dann der wichtigste Satz: Satz: Jede Boole'sche Funktion von n Variablen ist in einer und nur einer Form als Summe von Produktgliedern darstellbar. Z = f ( X l . . . x „ ) = a„ • P 0 + . . .
+ a2n-i • P2n-i =
2
S o a j - Pä
Dieser Satz ermöglicht die Darstellung einer Boole'sehen Funktion in der sogenannten disjunktiven Normalform. Die Darstellung Boole'scher Funktionen in der disjunktiven Normalform ist zwar eindeutig. Sie kann jedoch im allgemeinen durch die Anwendung von Theoremen in andere gleichwertige Formen gebracht werden, wobei Vereinfachungen in der Zahl der auftretenden Variablen oder die Elimination von Negationsgliedern, oder die Reduzierung in der Zahl der logischen Verknüpfungen u. a. möglich ist. So ergibt sich beispielsweise durch die Anwendung von Absorptionstheoremen die in Tab. 5.8 dargestellte Funktion als eine einfache Oder Verknüpfung. Z = X + Y. 2. Vereinfachung Boole'scher Funktionen
durch Karnough
Tafeln
Zur Vereinfachung Boole'scher Funktionen lassen sich vorteilhaft geometrische Interpretationen der Boole'schen Variablen und ihrer
150
Anhang 2: Grundlagen der Schaltalgebra
Produktglieder verwenden. Dabei werden den Produktgliedern Flächen zugeordnet, derart daß benachbarte Felder sich nur in einer Variablen unterscheiden. Die Zuordnung der Produktglieder für zwei Variable zeigt Abb. 5 - 9 . Y = 0
Y = 1
Y = 0
Y = 1
X• Y
X- Y
a
0
a
l
X = 0
0
1
X- 7
X • Y
a
2
a
3
X = 1
1
1
Abb. 5 - 9 Karnough Tafeln für zwei Variable
Zur Darstellung einer Funktion Z = a 0 • P 0 + . . . + a 3 • P 3 werden die Koeffizienten a; in das dem Produktglied P; entsprechende Feld eingetragen. Für das Beispiel zeigt sich die in Abb. 5 - 9 gezeigte Tafel. In dieser geometrischen Interpretation ist die Boole'sche Funktion gegeben durch die Vereinigung aller derjenigen Felder, die den Koeffizienten aj = 1 enthalten. Da sich jedoch benachbarte Felder nur in einer Variablen unterscheiden, ist die Anwendung der Absorptionstheoreme möglich. Unterscheiden sich die Felder nur in einer Variablen so gilt: XXXXXY + XXXXXY = XXXXX die Variable Y kann daher eliminiert werden. Die Vereinigung der Felder a 2 mit a 3 bedeutet daher X • Y + X • Y = X. Sie stellt die Variable X dar. In analoger Weise ergibt die Vereinigung der Felder a j mit a 3 die Variable Y. Die Vereinigung der Felder a j , a 2 und a 3 , die eine geometrische Darstellung der gegebenen Boole'schen Funktion bedeuten, ergibt daher Z = X + Y. In analoger Weise erfogt die Erweiterung auf drei Variable, wie in Abb. 5 - 1 0 gezeigt.
151
3. Boolesche Funktionen YZ 00
01
11
10
YZ 00
01
11
10
X= 0
XYZ XYZ XYZ XYZ
ao
a
a3
a2
X= 1
XYZ XYZ XYZ XYZ
M
as
a
a«
i
7
Abb. 5 - 1 0 Kainough Tafel für drei Variable
Die Vereinigung benachbarter Felder und die Anwendung der Absorptionstheoreme ergibt wieder vereinfachte Darstellungen gegebener Funktionen. So ergibt die Vereinigung der Felder a, + a 3 = XYZ + XYZ = XZ a5 + a 7 = XYZ + XYZ = XZ ai + a 3 + a s + a 7 = XZ + XZ = Z Für vier Variable W, X, Y, Z schließlich erhalten wir die in Abb. 5 - 1 1 gezeigte Darstellung
wx
YZ 00
01
11
10
00
wxyz
wxyz
wxyz
wxyz
01
wxyz
wxyz
wxyz
wxyz
11
wxyz
wxyz
wxyz
wxyz
wxyz
wxyz
wxyz
wxyz
10
ao M
a 12 a 8
ai as »13 a9
a
3 7 a is an
a
a2 36 aw
a io
Abb. 5 - 1 1 Kainough Tafel für vier Variable
Das allgemeine Verfahren zur Vereinfachung von Boole'schen Funktionen für vier Variable unter Verwendung von Karnough Tafeln kann daher wie folgt beschrieben werden:
Literatur
152
1. Erstelle eine Tafel aus der vorgegebenen Wertetabelle oder aus der vorgegebenen Boole'schen Funktion 2. Felder, deren Koeffizienten ai = 1 und die nicht mit benachbarten Feldern vereinigt werden können, ergeben viergliedrige Ausdrücke 3. Felder, die mit einem benachbarten Feld vereinigt werden können, ergeben dreigliedrige Ausdrücke. 4. Felder, die mit drei benachbarten Feldern zu einer Vierergruppe zusammengefaßt werden können, ergeben einen zweigliedrigen Ausdruck. 5. Felder, die zu einer Achtergruppe zusammengefaßt werden können, ergeben eingliedrige Ausdrücke. 6. Die Vereinigung aller Felder mit den Koeffizienten a; = 1 ergibt eine Darstellung der Boole'schen Funktion. Jedes Feld muß mindestens einmal erfaßt sein. Eine ausführliche Darstellung der Schaltalgebra ist zu finden in [22; 24; 26; 28; 29; 30; 31; 38],
Literatur Die folgenden Literaturhinweise sind geordnet nach Buchpublikationen und Veröffentlichungen in Zeitschriften. Es sind lediglich einige Titel aufgeführt, die in einem sachlichen Zusammenhang mit Themenstellungen dieses Buches stehen. Buchpublikationen 1. Grundlagen [1] [2] [3]
Abramson, N.: Information Theory and Coding, New York 1963. Bauer, F. L., J. Heinhold, K. Samelson und R. Sauer: Moderne Rechenanlagen, Stuttgart 1964. Bauer, F. L. und G. Goos: Informatik, Erster und zweiter Teil. Berlin, Heidelberg, New York 1971.
Literatur [4] [5] [6] [7] [8] [9] [10]
153
Berge, C.: The theory of graphs and its applications. New York Birkhoff, G.: A survey of Modern Algebra. New York 1953. Davis, M.: Computability and Unsolvability. New York 1956. König, D.: Theorie der endlichen und unendlichen Graphen. Leipzig 1936. Minski, M. L.: Computation: Finite and infinite machines. Englewood Cliffs, N. J. 1967. Steinbuch, K. (Hrsg.): Taschenbuch der Nachrichtenverarbeitung. 2. Aufig. Berlin, Heidelberg, New York 1967. Zemanek, K.: Elementare Informationstheorie. München 1959.
2. Endliche
Automaten
[11]
Arbib, M. A.: Algebraic theory ofmachines, languages and semigroups. New York 1968. [12] Booth, T. L.: Sequential machines and automata theory. New York 1967. [13] Böhling, K. H. und K. Indermark: Endliche Automaten I. Mannheim 1969. [14] - : Endliche Automaten II. Mannheim 1969. [15] Gill, A.: Introduction to the theory of finite state machines. New York 1962. [16] Ginsburg, S.: An Introduction to Mathematical Machine Theory. Reading, Mass. 1962. [17] Gluschkow, W. M.: Theorie der abstrakten Automaten. Berlin 1963. [18] Hartmanis, J. and R. E. Stearns: Algebraic Structure Theory of Sequential Machines. Englewood Cliffs, N. J. 1966. [19] Hotz, G. und H. Walter: Automatentheorie und formale Sprachen. Mannheim 1969. [20] Moore, E. F.: Sequential Machines, Selected Papers. Reading, Mass. 1964. [21 j Nelson, R. J.: Introduction to automata. New York 1968. 3. Schaltwerke [22] [23] [24] [25] [26] [27] [28] [29] [30]
und logischer Entwurf
von
Rechenanlagen
Caldwell, S. H.: Switching Circuits and Logical Design. New York 1958. Deutsche Ausgabe: Der logische Entwurf von Schaltkreisen. München 1964. Chu, Y.: Introduction to Computer Organization. Englewood Cliffs, N. J. 1970. - : Digital Computer Design Fundamentals. New York 1962. Flores, I.: Computer Design. New York 1967. Maley, G. A. und J. Earle: The Logic Design of Transistor Digital Computers. Englewood Cliffs, N. J. 1963. McCluskey und T. C. Bartee (edts): A Survey of Switching Circuit Theory. New York 1962. Miller, R. E.: Switching theory vol. I and vol. II. New York 1965. Phister, M.: Logical Design of Digital Computers. New York 1960. Torng, H. C.: Introduction to the Logical Design of Switching Systems. Reading, Mass. 1964.
154
Literatur
[31 ] Schulte, D.: Kombinatorische und sequentielle Netzwerke, Grundlagen und Anwendungen der Automatentheorie. München 1967.
Einzelaufsätze und Veröffentlichungen in Zeitschriften 1. Grundlagen [32]
Burks, A. W. und H. Wang: The logic of automata. In: J. Assoc. Comp. Mach. vol. 4, pp. 193-218, 279-297, 1957. [33] Kleene, S. C.: Representation of events in nerve nets and finite automata. In: C. E. Shannon und J. McCarthy (ed): Automata studies Princeton N. J. 1956. [34] McNaughton, R.: The theory of automata, a survey. In: F. L. Alt (ed): Advances in computers vol. 2, pp. 379-421. New York 1961. [35] Neumann, J. v.: The General and Logical Theory of Automata from Celebral Mechanism in Behaviour. New York 1951. [36] Sheffer, H.: A set of five independent Postulates for Boolean Algebras with applications to logical constants. In: Trans. Am. Math. Soc. 5, XIV, pp. 481-488. [37] Turing, A.: On Computable Numbers with Applications to the Entscheidungsproblem. In: Proc. London Math. Soc. 42, 1936, ibid. 43,1937. [38] Veitch, E. W.: A Chart Method for Simplifying Truth Functions. In: Proc. Pittsburg Assoc. Comp. Mach. May 1952.
2. Endliche Automaten [39]
Aufenkamp, D. D., S. Seshu und F. E. Hohn: The Theory of Nets. IRE Transactions on Electronic Computers, EC-6, Sept. 1957. [40] Böhling, K. H.: Netzwerke-Schaltwerke-Automaten, Ein Überblick über die synchrone Theorie. In: 2. Kolloquium über Schaltkreis- und Schaltwerktheorie. Basel 1963. [41 ] Händler, W.: Zur praktischen Durchfuhrung von Reduktionsverfahren nach Pauli, Unger und Ginsburg. In: 2. Kolloquium über Schaltkreisund Schaltwerktheorie. Basel 1963. [42] Hartmanis, J.: Symbolic Analysis of a Decomposition of Information Processing Machines. Information and Control vol. 3. June 1960. [43 ] Krohn, K. B. und J. C. Rodes: Algebraic theory of machines. In: Proceedings of the symposium on mathematical theory of automata, pp. 341-384, New York 1962. [44] Lee, Y. Y.: Automata and finite automata. In: Bell System techn. J. vol. 39, pp. 1267-1295, 1960. [45] Moore, E. F.: Gedankenexperiments on sequential machines. In: C. E. Shannon and J. McCarthy (ed): Automata Studies, Princeton, N. J. 1956. [46] Petri, C. A.: Kommunikation mit Automaten. Schriftenreihe der Rhein. Westf. Institutes für Instr. Math, der Univ. Bonn, Nr. 2, 1962.
Literatur [47]
3. [48] [49] [50] [51] [52] [53]
[54] [55] [56] [57]
155
Rabin, M. O. und D. Scott: Finite Automata and their Decision Problems. IBM Journal of Res. & Dev. vol. 3, 1959. Schaltwerke Gill, A.: Comparison of finite state machines models. In: IRE Trans, vol. C T - 7 , pp. 178-179,1960. Hartmanis, J.: On the state assignment problem for sequential machines. In: IRE Trans, vol. EC-Lo, pp. 157-165, 1961. Huffmann, D. A.: The Synthesis of Sequential Switching Circuits. In: Journal of the Franklin Institute, vol. 257, Nr. 3, 161-190 und No. 4, pp. 275-303. 1954. McClusky, E. C.: Fundamental Mode and Pulse Mode Sequential Circuits. Information Processing 62, Amsterdam 1963. Mealy, G. H.: A Method for Synthesizing Sequential Circuits. In: Bell Systems Technical Journal, vol. 34, No. 5 (Sept. 1955) pp. 1045-79; Pauli, M. C. und S. H. Unger: Minimizing the Number of States in incompletely specified Sequential Switohing Functions. In: IRE Transactions and Electronic Computers, vol. E C - 8 , No. 3 (Sept. 1959) pp. 356-67. Reed, I. S.: Mathematical structure of sequential machines. In: E. J. McClusky and T. C. Bartee (ed): A survey of switching circuit theory, pp. 187-196 New York 1962. Seshu, S.: Mathematical models for sequential machines. In: IRE Natl. Conv. Record vol. 7, pt. 2, pp. 4 - 1 6 , 1959. Seshu, S, R. E. Miller und G. Metze: Transition matrice of sequential machines. In: IRE Trans., vol. C T - 6 , pp. 5 - 1 2 , 1959. Shannon, C. E.: A Symbolic Analysis of Relay and Switching Circuits. In: Trans. AIEE, vol. 57, 1938.
156
Sachwortverzeichnis
Sachwortverzeichnis Absorptionstheoreme 143 Additionswerk 117 Algorithmus 10 - universaler 11 Akzeptor 24 Analogrechner 9 Analyse - von Automaten 25 Anwendungsgleichungen —speicherelemente 109 Äquivalenz 34, 67 asynchrone Systeme 19 Ausgabefolgen 41, 65 - -funktion 42, 99 - -großen 12 —Zeichenvorrat 20 Automat 10 - endlicher 28, 34 - minimaler 72 - reduzierter 86 - trivialer 23 Automatentheorie - angewandte 13 - Aufgaben der 21
- -zeichen 41, 102 - -Zeichenvorrat 20, 28, 41 Eingangsgleichungen 114 Erregungsvariable 12, 17 Formale Systeme 144 Formalisierung 17 Generator 25 graphische Darstellung - eines Schaltwerkes 101 Grundlagenforschung 10, 26 Impulsdarstellung 94 Informationstheorie 7 Inkompatible Zustände 82 J-K Speicherelement
Klassifikation von Zuständen 44 Kompatibilität 84 kompatible Zustände 82 komplexe Einheiten 14, 120, 126 Konsistenzbedingung 86
Berechnung 33 Boole'sche Algebra 9, 142 - -Funktion 147 Cartesisches Produkt 136 Charakteristische Gleichungen Dekodiervorrichtung 92 de Morgan'sche Theoreme 143 Digitalrechner 9 Disjunktive Normalform 150 Endlicher Automat 23, 28, 41 Endklasse 69, 70, 86 Eingabe-folgen 28, 41, 65, 81
107
103
Lesevorgang 28 Logik - positive 94 - negative 94 logischer Entwurf 93 Makrozustände 46 Matrizendarstellung 52 Mealy Automat 42, 43 Mehrheitselement 37 Mengenlehre 131 Mikroprogramme 16, 17 Minimalform 72
157
Sachwortveizeichnis Modelle - der Automatentheoiie 17 Moore Automat 43, 103
Übergangsmatrix 52 - höherer Ordnung 57, 58 Umwandler 22
Negationstheoreme
unvollständig definierter Automat
142
Operative Beschreibung Ordnungsrelation - der Zustände 60
15
Pegeldarstellung 94 Pragmatik 27 Programmiersprachen 10 Probleme - algorithmisch nicht lösbare Prüfbitgenerator 75, 121
10,
Reaktionsvariable 12, 17 Regelsysteme 8 Relationen 138 R-S Speicherelemente 106 Schaltalgebra 9, 93 - Grundlagen 139 Schaltnetze - kombinatorische 95 - sequentielle 96 Schaltwerk - Normalform 99 - tabellarische Darstellung 101 Schieberegister 116, 117 Semantik 26, 27 Simulationsalgorithmus 11 Speicher-automat 23 - -element 102 Strukturbeschreibung 14 - von Automaten 4 0 System theorie 13 - -Spezifikation 14 Syntax 26 Teilautomaten 46, 55 - Ermittlung von 53 Turing Maschinen 1 1 , 2 4 , 3 2 - spezielle 11
Verhalten - endlicher Automat 34, 65 Verhaltensbeschreibung 14 Verzweigungen - divergente 44, 52 - konvergente 44, 52 vollständig definierter Automat Wertevorrat 19 Wege in Automaten 56 Zeichen 8 Zeichenfolgen 65 Zeitvariable 18 Zerlegung - von Automaten 46 - von Mengen 138 Zerlegungstheorie 126 Zustandsbeschreibung 34 - -funktion 99 — g r a p h 43 —klassifikation 44 — k o d i e r u n g 120 —reduzierung 75, 78 Zustände - erreichbare 48 - isolierte 44 - kompatible 82 - normale 44 - persistente 44, 53 - verknüpfte 50 Zyklen in Automaten 56
42
80
w DE
G
Walter de Gruyter Berlin-Newìbrk Sammlung Göschen
Klein-Oktav. Kartoniert Hartmut Noltemeier
Datenstrukturen und höhere Programmiertechniken 86 Seiten. 1972. DM 9,80 ISBN 3 11 003947 8 (Bd. 5012) Einführung in Teilgebiete der Informatik I von W. Dirlewanger, K.-U. Dobler, L. Hieber, P. Roos, H. Rzehak, H.-J. Schneider, C. Unger. 136 Seiten. 37 Abbildungen. 1972. DM 9,80 ISBN 3 11 003910 9 (Bd. 5011) Angewandte Informatik Herausgegeben von Peter Mertens 198 Seiten. 1972. DM 9,80 ISBN 3 11 004112 X (Bd. 5013)
Willibald Dörfler Jörg Mühlbacher
Clemens Hackl
Graphentheorie f ü r Informatiker 140 Seiten. 1972. DM 12,80 ISBN 3 11 003946 X (Bd. 6016) In Vorbereitung: Schaltwerk- und Automatentheorie II Etwa 160 Seiten. 1973. Etwa DM 9,80 ISBN 3 11 004213 4
Franz Pichler
Mathematische Systemtheorie Etwa 160 Seiten. 1973. Etwa DM 9,80 ISBN 3 11 003909 5
Gunther Gensch
Analog- und Hybridrechner Etwa 130 Seiten. 1973. Etwa DM 9,80 ISBN 3 11 004136 7
w DE
G
Walter de Gruyter Berlin-Newark Sammlung Göschen
Klein-Oktav. Kartoniert In Vorbereitung Karl Oettl
Datenübertragung und -fernverarbeitung Etwa 130 Seiten. 1973. Etwa DM 9,80 ISBN 311 004044 1
Klaus Alber
Formale Beschreibung von Programmiersprachen Etwa 130 Seiten. 1973. Etwa DM 9,80 ISBN 3 11 004207 X
Hans-Joachim Hoffmann
Theorie und Praxis des Übersetzerentwurfs Etwa 160 Seiten. 1973. Etwa DM 12,80 ISBN 3 11 004147 2
E. J. Neuhold
Betriebssysteme I Etwa 160 Seiten. 1973. Etwa DM 12,80 ISBN 311 004320 3
Paul Caspers
Betriebssysteme II Etwa 160 Seiten. 1973. Etwa DM 12,80 ISBN 3 11 004321 1
Otto simmler
Information Retrieval Etwa 160 Seiten. 1973. Etwa DM 9,80 ISBN 3 11 004208 8 Einführung in Teilgebiete der Informatik II Etwa 160 Seiten. 1973. Etwa DM 9,80
w DE
G
Walter de Gruyter Berlin-Newark de Gruyter Lehrbuch
Georg Bayer
Einführung in das Programmieren in ALGOL 2., verbesserte Auflage. Groß-Oktav. 172 Seiten mit 26 Abbildungen. 1971. Plastik flexibel D M 1 2 , - ISBN 3 11 006433 2
Georg Bayer
Programmierübungen in A L G O L 60 unter Mitarbeit von Lothar Potratz und Siegfried Weiß Groß-Oktav. 90 Seiten. 1971. Plastik flexibel D M 1 0 , - ISBN 3 11 003562 6
Georg Bayer
Einführung in das Programmieren Teil 2: Programmieren in einer Assemblersprache Groß-Oktav. 134 Seiten. Mitzahlr. Abbildungen. 1970. Plastik flexibel D M 1 2 , ISBN 3 11 000926 9
Gerhard Niemeyer
E i n f ü h r u n g in das P r o g r a m m i e r e n in
ASSEMBLER Systeme IBM 360, IBM 370, Siemens 4004, Univac 9000 Groß-Oktav. Etwa 144 Seiten. 1973. Plastik flexibel etwa D M 1 8 , - ISBN 3 11 004310 6
Wolfgang E. Spiess — Friedrich G. Rheingans
Einführung in das Programmieren in F O R T R A N 3., verbesserte Auflage. Groß-Oktav. 216 Seiten. Mit 19 Abbildungen und 13 Tabellen. 1972. Plastik flexibel D M 1 8 , - ISBN 3 11 003914 1