Hay muchas formas de generar palabras aleatorias. Puede tomar sílabas aleatorias de un conjunto, puede usar n-tuplas, probablemente redes neuronales (¿qué no pueden hacer?), Alternando entre consonantes y vocales, etc. El método en el que se basa este desafío es, con mucho, el peor . Utiliza una cadena de Markov para generar palabras aleatorias. Si conoce las cadenas de Markov, probablemente sepa por qué este método es tan terrible.
Si desea leer sobre las cadenas de Markov, haga clic aquí .
Su programa tomará una entrada de una o más palabras y generará una sola palabra aleatoria, a través del método de una cadena de Markov ponderada. Dado que eso probablemente no tiene sentido para nadie más que para mí, aquí hay una explicación a través del uso de una imagen de la cadena de Markov con la entrada de abba
:
(Todos los pesos de los bordes son iguales para todas las imágenes) Su programa generará la ruta a través de una cadena de Markov basada en el texto de entrada. Como puede ver, hay una probabilidad de 1/2 de que salga a
, una probabilidad de 1/8, una probabilidad de aba
1/16, una probabilidad de abba
1/32 ababa
, etc.
Aquí hay algunos otros ejemplos de cadenas de Markov:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
Si quieres más ejemplos, usa esto . (Trabajé demasiado duro en eso)
Detalles del desafío:
- La entrada puede tomarse como una lista de cadenas, o como una cadena separada por espacios, comas o líneas nuevas
- Puede suponer que todas las palabras estarán en minúsculas sin puntuación (ASCII 97-122)
- Puedes escribir un programa o una función
- Para probar, probablemente podría ingresar los ejemplos y ver si todas las entradas se alinean con las cadenas de Markov
Este es el código de golf , por lo que su programa se puntúa en bytes.
Avíseme si alguna parte de esto no está clara e intentaré que tenga más sentido.
b
que no pueda producir un doble b
. Además, una vez que llega a un b
no parece posible volver al start
para producir las otras palabras). Creo que debe aclarar cuáles son los requisitos ...
yabba dabba doo
es un accidente. Lo arreglaré lo antes posible. En cuanto a la imposibilidad de volver a comenzar, solo genera una palabra a partir de un conjunto de palabras dado . ¿Eso lo aclara?