Esistono molti modi per generare parole casuali. Puoi prendere sillabe casuali da un set, puoi usare n-tuple, probabilmente reti neurali (cosa non possono fare?), Alternando consonanti e vocali, ecc. Il metodo su cui si basa questa sfida è di gran lunga il peggiore . Utilizza una catena di Markov per generare parole casuali. Se hai familiarità con le catene di Markov, probabilmente sai perché questo metodo è così terribile.
Se vuoi leggere delle catene di Markov, clicca qui .
Il tuo programma prenderà un input una o più parole e genererà una singola parola casuale, attraverso il metodo di una catena Markov ponderata. Dal momento che probabilmente non ha senso nessuno tranne me, ecco una spiegazione attraverso l'uso di un'immagine della catena Markov con l'input di abba
:
(Tutti i pesi dei bordi sono uguali per tutte le immagini) Il programma emetterà il percorso attraverso una catena di Markov in base al testo di input. Come puoi vedere, c'è 1/2 possibilità che verrà emessa a
, 1/8 possibilità di aba
, 1/16 possibilità di abba
, 1/32 possibilità di ababa
, ecc.
Ecco alcuni altri esempi di catene di Markov:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
Se vuoi altri esempi, usa questo . (Ci ho lavorato troppo duramente)
Dettagli della sfida:
- L'input può essere preso come un elenco di stringhe o come stringa separata da spazio, virgola o newline
- Si può presumere che tutte le parole saranno interamente in minuscolo senza punteggiatura (ASCII 97-122)
- È possibile scrivere un programma o una funzione
- Per testare, potresti probabilmente inserire gli esempi e vedere se tutti gli input si allineano con le catene di Markov
Questo è code-golf , quindi il tuo programma è segnato in byte.
Fammi sapere se una parte di ciò non è chiara e proverò a renderla più sensata.
b
cui non è possibile produrre un doppio b
. Inoltre, una volta raggiunto un b
, non sembra possibile torna a start
per produrre le altre parole). Credo che tu debba chiarire quali sono i requisiti ...
yabba dabba doo
è un incidente. Lo riparerò il prima possibile. Per quanto riguarda il fatto di non poter tornare indietro, si genera una sola parola da un determinato insieme di parole. Ciò lo chiarisce?