www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Metti

Gepostet:
06.05.2008 22:59

Haskell und Markov  
Hi, Bin neu hier, und muss gezwungener Maßen im Moment Haskell lernen, allerdings hapert es da vorne und hinten.
Nun wurde mir folgende Aufgabe gestellt:
Ich soll ein Haskell Programm schreiben, in welchem ich in der Eingabe zuerst die Regeln eingebe, und dann eine Zeichenkettel, auf die diese Regeln angewendet werden sollen, als Beispiel:

markov [("ab","ba"),("ba",""),("",".")] "babaa"
beschreibt die Anwendung der Regeln:
ab = ba
ba =€
€=.

Kann mir jemand erklären, wie ich so etwas angehen kann?
Danke schonmal...
Zum Seitenanfang    
 
Siracusa

Gepostet:
07.05.2008 20:09

   
Hallo Metti,

willkommen im Forum! Kannst du nochmal genauer erklären, wie die Ersetzung vonstatten gehen soll? Soll immer nur eine Regel angewendet werden? Oder können beliebig viele Regeln gleichzeitig angewendet werden? Oder sollen alle möglichen Resultatworte durch alle möglichen Ersetzungen berechnet werden? In deinem Beispiel könnte man z.B. 2x ("ba", "") anwenden oder nur 1x ("ab","ba"), und prinzipiell unendlich oft die Regel ("",".").


Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Humas

Gepostet:
13.05.2008 13:59

   
Regeln sind immer von links nach rechts anzuwenden. Regeln mit einem Punkt sind haltende Regeln in denen das Programm endet.

"babaa" : ("ab","ba") -> "bbaaa"
"bbaaa" : ("ba","") -> "baa"
"baa" : ("ba","") -> "b"
"b" : ("",".")-> "b" *ENDE*
Zum Seitenanfang