marinol (marinol) wrote,
marinol
marinol

Categories:

РаЗнобуквицы

Навигационная система по раЗнобуквицам:
http://www.olegmarin.ru/raznobase/

новые разнобуквицы (составлены программой):
кот, хряпнешь - блюй, жгуч, в зады эф-съёмщиц!
котяра! НЭП! - вздыбь, жгуч, шлюх фей-съёмщиц!

Из старых материалов.

Задача поиска разнобуквицы сводится к решению задачи булева линейного программирования. Сначала составляется словарь допустимых в разнобуквице слов. Слов, в которых каждая буква встречается не более одного раза. Таких слов около 347 тысяч.

Для каждого такова слова вводится булева переменная, то есть целочисленная переменная, принимающая значения 0 или 1. Единица означает, что данное слово входит в разнобуквицу, ноль – не входит. Для каждой из букв алфавита линейной суммой по всем словам определяется сумма использованных в комбинации букв. В случае разнобуквицы для каждой буквы такая сумма должна давать ровно 1. То есть задача ЦЛП имеет около 347 тысяч переменных и 33 (по числу букв) ограничения. В качестве критерия можно задавать, например, минимум слов, или максимум глаголов и т.д.

Можно также задавать дополнительные ограничения на количества слов, существительных, глаголов и прилагательных (задавать роды, числа, падежи), выискивая нужную синтаксическую схему. Можно 'достраивать' разнобуквицу, задавая её начало. Так были построены разнобуквицы со словами 'коты', 'котяра'.

Для решения задачи ЦЛП применяется open source пакет LP_SOLVE. Типичное время поиска - минута, или несколько минут, если заданы исключения.

Недостатком подхода является то, что в результате решения получается одна разнобуквица. Для получения других разнобуквиц необходимо модифицировать условие задачи, например, внести какое-либо из слов в список исключаемых из решения слов.
'Разнообразить' разнобуквицы можно ещё одним способом – построить анаграммы на часть слов разнобуквицы.
Tags: комбинаторная поэзия, программы, разнобуквицы
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 26 comments