faecher:informatik:oberstufe:automaten:mealy:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:automaten:mealy:start [31.05.2022 09:20] – [Mealy-Automaten] sbelfaecher:informatik:oberstufe:automaten:mealy:start [24.06.2023 12:20] (aktuell) – [Grundlagen und Übergangsgraph] Mareike Nutz
Zeile 5: Zeile 5:
 ====== Mealy-Automaten ====== ====== Mealy-Automaten ======
 ((Diese Wiki-Seite basiert auf Material der ZPG INformatik/BW und steht unter einer [[https://creativecommons.org/licenses/by-nc-sa/3.0/de/|CC-BY-NC-SA Lizenz]]. Als Autoren sind angegeben "Dietrich, Lautebach (2020)".)) ((Diese Wiki-Seite basiert auf Material der ZPG INformatik/BW und steht unter einer [[https://creativecommons.org/licenses/by-nc-sa/3.0/de/|CC-BY-NC-SA Lizenz]]. Als Autoren sind angegeben "Dietrich, Lautebach (2020)".))
 +
 +===== Grundlagen und Übergangsgraph =====
 +
  
 Die sogenannten **Mealy-Automaten** können in jedem Schritt außer der Änderung des internen Zustands auch eine **Ausgabe** erzeugen und erlauben damit die Modellierung z.B. von Getränke-, Fahrkarten- oder ähnlichen Automaten, die wir aus unserer Umwelt kennen. Die sogenannten **Mealy-Automaten** können in jedem Schritt außer der Änderung des internen Zustands auch eine **Ausgabe** erzeugen und erlauben damit die Modellierung z.B. von Getränke-, Fahrkarten- oder ähnlichen Automaten, die wir aus unserer Umwelt kennen.
Zeile 19: Zeile 22:
  
 Die verwendeten Symbole haben folgende Bedeutungen: Die verwendeten Symbole haben folgende Bedeutungen:
-  * Q: endliche Menge der Zustände<br> +  * Q: endliche Menge der Zustände 
-  * Σ: Eingabealphabet<br> +  * Σ: Eingabealphabet 
-  * ∆: Ausgabealphabet<br>+  * ∆: Ausgabealphabet
   * δ: totale Überführungsfunktion Q x Σ → Q   * δ: totale Überführungsfunktion Q x Σ → Q
   * λ: totale Ausgabefunktion Q x Σ → ∆   * λ: totale Ausgabefunktion Q x Σ → ∆
Zeile 29: Zeile 32:
 </WRAP> </WRAP>
  
-Die Überführungsfunktion δ und die Ausgabefunktion λ können wie beim DEA auch, in einem **Übergangsgrgraphen** dargestellt werden. Ein passender **Übergangs-** oder **Transitionsgraph** sieht folgendermaßen aus:+Die Überführungsfunktion δ und die Ausgabefunktion λ können wie beim DEA auch, in einem **Übergangsgraphen** dargestellt werden. Ein passender **Übergangs-** oder **Transitionsgraph** sieht folgendermaßen aus:
  
 {{ :faecher:informatik:oberstufe:automaten:mealy:mealy-transistion.png?600 |}} {{ :faecher:informatik:oberstufe:automaten:mealy:mealy-transistion.png?600 |}}
Zeile 48: Zeile 51:
  
 ---- ----
 +Nachfolgende Aufgaben können teilweise sowohl mit der Webseite [[https://flaci.com/autoedit|FLACI]], also auch mit dem Java-Tool [[https://www.jflap.org/jflaptmp/|JFLAP]] bearbeitet werden!
 +
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A1) === === (A1) ===
  
 +++++ Bearbeitung mit FLACI|
 Baue den Getränkeautomaten in [[https://flaci.com/autoedit|FLACI]] auf und teste ihn in der Simulation. Baue den Getränkeautomaten in [[https://flaci.com/autoedit|FLACI]] auf und teste ihn in der Simulation.
  
   * Erzeuge einen neuen Mealy-Automaten   * Erzeuge einen neuen Mealy-Automaten
   * Schalte im Reiter ''Definition'' die Option für ''δ und λ als partielle Funktionen'' an   * Schalte im Reiter ''Definition'' die Option für ''δ und λ als partielle Funktionen'' an
-  * Definiere im Reiter ''Alphabet'' das Eigabe- und das Ausgabealphabet+  * Definiere im Reiter ''Alphabet'' das Eingabe- und das Ausgabealphabet
   * Überführe den Übergangsgraphen von oben nach FLACI   * Überführe den Übergangsgraphen von oben nach FLACI
   * Simuliere Eingaben   * Simuliere Eingaben
  
 Welche Funktion hat die Option ''δ und λ als partielle Funktionen'', was verändert sich wenn man diese Option deaktiviert. Welche Funktion hat die Option ''δ und λ als partielle Funktionen'', was verändert sich wenn man diese Option deaktiviert.
 +++++
  
 +++++ Bearbeitung mit JFLAP|
 +Baue den Getränkeautomaten in [[https://www.jflap.org/jflaptmp/|JFLAP]] auf und teste verschiedene Eingaben.
 +
 +  * Wähle den Mealy-Automaten
 +  * Erstelle den Automaten und trage in allen Übergängen sowohl die Eingabe, als auch die Ausgabe in das jeweilige Feld ein.
 +  * Erstelle verschiedene Eingaben z. B. mit Input -> Step. **Wichtig:** Jeder Input muss die __komplette__ Eingabe enthalten (z. B.: "1€1€C")
 +  * Klicke links unten auf "Step", um die Eingabe zu testen.
 +++++
 ---- ----
 +
 +===== Übergangstabelle =====
 +
  
 Und wie bei [[..:dea:start|DEAs]] kann man die Übergangsfunktion ''δ'' und die Ausgabefunktion ''λ'' auch hier als **Übergangsmatrix/Übergangstabelle** darstellen, anstelle des Übergangsgraphen. Wie bei den DEAs gilt: Im Graph kann man den Fehlerzustand der Übersichtlichkeit wegen weglassen, in der Übergangsmatrix wird dieser stets angegeben. Und wie bei [[..:dea:start|DEAs]] kann man die Übergangsfunktion ''δ'' und die Ausgabefunktion ''λ'' auch hier als **Übergangsmatrix/Übergangstabelle** darstellen, anstelle des Übergangsgraphen. Wie bei den DEAs gilt: Im Graph kann man den Fehlerzustand der Übersichtlichkeit wegen weglassen, in der Übergangsmatrix wird dieser stets angegeben.
Zeile 67: Zeile 85:
 |                   | Eingaben → (Folgezustand / Ausgabe)                       ||||| |                   | Eingaben → (Folgezustand / Ausgabe)                       |||||
 ^  Ausgangszustand  ^  1€                                  ^  2€  ^  c  ^  a  ^  s  ^ ^  Ausgangszustand  ^  1€                                  ^  2€  ^  c  ^  a  ^  s  ^
-|  q0                                                    |      |             |+|  q0                q2/"Guthaben 1€"                              |      |             |
 |  q1                                                    |      |             | |  q1                                                    |      |             |
 |  q2                                                    |      |             | |  q2                                                    |      |             |
 |  qF                                                    |      |   qF  |         | |  qF                                                    |      |   qF  |         |
  
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A2) ===
 +
 +Vervollständige anhand des Übergangsgraphen die Übergangsmatrix
 +
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +Falls du mit FLACI arbeitest:\\
 +Schalte  die Option ''δ und λ als partielle Funktionen'' in FLACI aus und ergänze den Automaten in FLACI um den Fehlerzustand. Überprüfe so deine Tabelle aus der vorigen Aufgabe. 
 +
 +
 +===== Übungen =====
 +
 +{{:aufgabe.png?nolink  |}}
 +=== (A4) ===
 +
 +Gib eine Eingabe an, die zur Ausgabe ''Apfelsaftflasche'' führt.
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A5) ===
 +
 +Gib die Ausgabe an, die zur Eingabe ''1€,s'' gehört. In welchem Zustand befindet sich der Automat anschließend?
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A6) ===
 +
 +Modelliere einen Mealy-Automaten für einen Automaten aus der Schule. Gib die folgenden Informationen an:
 +  * Eingabealphabet, Zustandsmenge, Startzustände und Ausgabealphabet
 +  * Zustandsübergangs- und Ausgabefunktionen als Tabelle
 +  * Zustandsübergangsgraph
 +
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A7) ===
 +
 +Ein Mealy-Automat A ist durch den folgenden Übergangsgraphen gegeben:
 +
 +{{ :faecher:informatik:oberstufe:automaten:mealy:mealy-aufgabe.png |}}
 +
 +  * Gib die Ausgabe zur Eingabe ''uhuhuhuuhhuhu'' an
 +  * Beschreibe A als 6-Tupel. Lege die Übergangsfunktion δ sowie die Ausgabefunktion λ durch eine Tabelle fest.
 +  * Beschreibe die "Übersetzungsfunktion" - wann gibt der Automat eine 1 aus?
  
  
  • faecher/informatik/oberstufe/automaten/mealy/start.1653981634.txt.gz
  • Zuletzt geändert: 31.05.2022 09:20
  • von sbel