Il existe de nombreuses façons de générer des mots aléatoires. Vous pouvez prendre des syllabes aléatoires dans un ensemble, vous pouvez utiliser des n-tuples, probablement des réseaux de neurones (que ne peuvent-ils pas faire?), En alternant entre consonnes et voyelles, etc. La méthode basée sur ce défi est de loin la pire . Il utilise une chaîne de Markov pour générer des mots aléatoires. Si vous êtes des chaînes de Markov familières, vous savez probablement pourquoi cette méthode est si terrible.
Si vous souhaitez en savoir plus sur les chaînes Markov, cliquez ici .
Votre programme prendra une entrée d'un ou plusieurs mots et générera un seul mot aléatoire, par la méthode d'une chaîne de Markov pondérée. Puisque cela n'a probablement de sens que pour moi, voici une explication à travers l'utilisation d'une image de la chaîne de Markov avec l'entrée de abba
:
(Tous les poids des bords sont les mêmes pour toutes les images) Votre programme affichera le chemin à travers une chaîne de Markov basée sur le texte saisi. Comme vous pouvez le voir, il y a 1/2 chance de sortie a
, 1/8 de chance aba
, 1/16 de chance abba
, 1/32 de chance ababa
, etc.
Voici quelques autres exemples de chaînes de Markov:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
Si vous voulez plus d'exemples, utilisez ceci . (J'ai travaillé trop dur dessus)
Détails du défi:
- L'entrée peut être considérée comme une liste de chaînes ou comme une chaîne séparée par un espace, une virgule ou une nouvelle ligne
- Vous pouvez supposer que tous les mots seront entièrement en minuscules sans ponctuation (ASCII 97-122)
- Vous pouvez écrire soit un programme soit une fonction
- Pour tester, vous pouvez probablement saisir les exemples et voir si toutes les entrées s'alignent avec les chaînes de Markov
Il s'agit de code-golf , donc votre programme est noté en octets.
Faites-moi savoir si une partie de cela n'est pas claire, et j'essaierai de la rendre plus logique.
b
vous ne pouvez donc pas produire de double b
. De plus, une fois que vous atteignez un, b
il ne semble pas possible de retourner à start
pour produire les autres mots). Je crois que vous devez clarifier quelles sont les exigences ...
yabba dabba doo
est un accident. Je vais le réparer dès que possible. Quant au fait de ne pas pouvoir recommencer, vous ne générez qu'un seul mot à partir d'un ensemble de mots donné. Cela clarifie-t-il cela?