Есть много способов генерировать случайные слова. Вы можете взять случайные слоги из набора, вы можете использовать n-кортежи, возможно, нейронные сети (что они не могут сделать?), Чередуя согласные и гласные, и т. Д. Метод, на котором основана эта задача, безусловно, худший , Он использует цепь Маркова для генерации случайных слов. Если вам знакомы цепочки Маркова, вы, вероятно, знаете, почему этот метод так ужасен.
Если вы хотите прочитать о цепях Маркова, нажмите здесь .
Ваша программа будет вводить одно или несколько слов и генерировать одно случайное слово, используя метод взвешенной цепочки Маркова. Поскольку это, вероятно, не имеет смысла ни для кого, кроме меня, вот объяснение с помощью использования изображения цепочки Маркова с вводом abba
:
(Все веса ребер одинаковы для всех изображений) Ваша программа выведет путь по цепочке Маркова на основе введенного текста. Как вы можете видеть, есть шанс 1/2, что он выдаст a
, шанс 1/8, шанс aba
1/16, шанс abba
1/32 ababa
и т. Д.
Вот еще несколько примеров цепей Маркова:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
Если вы хотите больше примеров, используйте это . (Я слишком много работал над этим)
Детали вызова:
- Входные данные могут быть приняты в виде списка строк или в виде строки, разделенной пробелом, запятой или новой строкой
- Вы можете предположить, что все слова будут полностью строчными без пунктуации (ASCII 97-122)
- Вы можете написать либо программу, либо функцию
- Чтобы проверить, вы могли бы, вероятно, ввести примеры и посмотреть, все ли входы совпадают с цепями Маркова
Это Код-гольфТаким образом, ваша программа оценивается в байтах.
Дайте мне знать, если какая-то часть этого неясна, и я постараюсь сделать это более понятным.
b
поэтому вы не можете создать двойное число b
. Более того, как только вы достигнете, b
это не представляется возможным вернуться к start
произведению других слов). Я считаю, что вы должны уточнить, какие требования ...
yabba dabba doo
случайность. Я исправлю это как можно скорее. Что касается невозможности вернуться к началу, вы генерируете только одно слово из данного набора слов. Это проясняет это?