Es gibt viele Möglichkeiten, zufällige Wörter zu generieren. Sie können zufällige Silben aus einer Menge nehmen, Sie können n-Tupel verwenden, wahrscheinlich neuronale Netze (was können sie nicht?), Die zwischen Konsonanten und Vokalen wechseln usw. Die Methode, auf der diese Herausforderung basiert, ist bei weitem die schlechteste . Es verwendet eine Markov-Kette, um zufällige Wörter zu generieren. Wenn Sie mit Markov-Ketten vertraut sind, wissen Sie wahrscheinlich, warum diese Methode so schrecklich ist.
Wenn Sie mehr über Markov-Ketten erfahren möchten, klicken Sie hier .
Ihr Programm nimmt ein oder mehrere Wörter auf und generiert ein einzelnes zufälliges Wort nach der Methode einer gewichteten Markov-Kette. Da dies wahrscheinlich nur für mich sinnvoll ist, folgt hier eine Erklärung anhand eines Bildes der Markov-Kette mit der Eingabe von abba
:
(Alle Kantengewichte sind für alle Bilder gleich.) Ihr Programm gibt den Pfad durch eine Markov-Kette basierend auf dem Eingabetext aus. Wie Sie sehen können, gibt es eine halbe Chance, die ausgegeben wird a
, eine Chance von 1/8, eine Chance von aba
1/16, eine Chance von abba
1/32 ababa
usw.
Hier sind einige andere Beispiel-Markov-Ketten:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
Wenn Sie weitere Beispiele wünschen, verwenden Sie diese . (Ich habe viel zu hart daran gearbeitet)
Details der Herausforderung:
- Die Eingabe kann als Liste von Zeichenfolgen oder als durch Leerzeichen, Komma oder Zeilenumbrüche getrennte Zeichenfolge erfolgen
- Sie können davon ausgehen, dass alle Wörter ohne Interpunktion vollständig in Kleinbuchstaben geschrieben sind (ASCII 97-122).
- Sie können entweder ein Programm oder eine Funktion schreiben
- Zum Testen könnten Sie wahrscheinlich die Beispiele eingeben und prüfen, ob alle Eingaben mit den Markov-Ketten übereinstimmen
Dies ist Code-Golf , daher wird Ihr Programm in Bytes bewertet.
Lassen Sie mich wissen, wenn ein Teil davon unklar ist, und ich werde versuchen, es sinnvoller zu machen.
b
so dass Sie ein Doppel nicht produzieren können b
. Außerdem , wenn Sie erreichen eine b
es nicht möglich scheint zu kehre zu dem zurück start
, um die anderen Wörter zu produzieren). Ich glaube, Sie müssen klären, was die Anforderungen sind ...
yabba dabba doo
ist ein Unfall. Ich werde es so schnell wie möglich beheben. Wenn Sie nicht wieder zum Start zurückkehren können, generieren Sie nur ein Wort aus einem bestimmten Satz von Wörtern. Klärt das das?