Подарок всем любителям

Олег Марьин
В связи с прошедшим недавно Днём Программиста, а также в связи с желанием освободиться
от анаграммо-зависимости, которой я страдаю уже четыре месяца, я хочу сделать всем
любителям комбинаторной поэзии очередной небольшой подарок - программу для генерации анаграммного спектра слов и выражений.


В качестве вознаграждения просто иногда держите меня в курсе
найденных Вами шедевров.

anag.exe - простая программа для нахождения
анаграммного спектра слов и коротких выражений.

Программа находит анаграммы типа
W = X1 X2 X3 X4
W = X1 X2 X3
W = X1 X2
W = X
где, W - заданное слово или набор слов,
а X1.X2,X3,X4 - искомые слова, составляющие вместе с W
анаграммы.
Можно использовать для создания анаграммных литературных
конкурсов. Известные слова или выражения, например, названия
литературных произведений заменяются их анаграммами.
Требуется восстановить оригиналы.

На вход программы даются слова или короткие
выражения из нескольких слова. Оптимально до 12-13 букв,
хотя можно задавать и более длинные выражения.
Слова даются в виде текстового файла в обычной
кодировке Windows (CP-1251). Для примера в файл anag.txt
помещены два 'выражения' (каждое на отдельной строке)

треугольник
меньше слов

Затем запускается командный файл anagrun.bat.
Открывается DOS окно, в котором отражается ход работы
программы. Обычно требуется от 5-10 секунд (короткие выражения)
до нескольких десятков минут (длинные, с множеством вариантов).
В конце работы выводится РАБОТА ПРОГРАММЫ ЗАКОНЧЕНА.
После чего можно закрыть окно, в котором отражалась работа
программы.

Результаты работы программы записываются в папку 'anagramma'.
Ищутся анаграммные комбинации, до 4 слов.
Для каждого из входных выражений создаётся отдельная папка
с результатами. Внутри папки Вы увидите файлы;
combinations.txt - полный анаграммный спектр выражения,
   все найденные комбинации.
combinations1.txt - анаграммы из одного слова.
combinations2.txt - комбинации из двух слов.
combinations3.txt - комбинации из трёх слов.
combinations4.txt - комбинации из четырёх слов.
slova.txt - все, комбинации сгруппированные определённым образом.
   А именно, в каждой комбинации выбирается
самое длинное слово, и далее для него выписываются в строку
все вариантные комбинации, через запятую. С отражением третьего
и четвертого слов комбинации в скобках.
Используйте любой из форматов результата, тот который кажется
более удобным в каждом конкретном случае.

Для указанных выше тестовых выражений во первых строках
результатных файлов вы сможете увидеть их интересные анаграммы.

треугольник
не округлить

меньше слов
шельме в нос.

По опыту - наиболее часто 'хорошие' комбинации будут
состоять из 2 слов. Редко, но бывает - из 3 слов.
Найти хорошую комбинацию из 4 слов практически не удаётся.
Для нахождения 'длинных' анаграмм существует другая техника и
соответствующая программа, которые я выложу чуть позже.
Но согласно мнению такого признанного мастера комбинаторной
поэзии как Борис Гринберг (которое совпадает с моим),
стоит искать именно короткие анаграммы.

Для того, чтобы исключить отдельные слова из процесса поиска
с тем, чтобы они не присутствовали в результатах,
поместите их в текстовый файл donotuse.txt.

Словарь собран мною лично из ~100 текстов классических
и др. произведений, и содержит около 390 тыс. словоформ.
У меня есть и полный словарь из 2500 тыс. словоформ.
Но его использование не даёт никаких преимуществ.

Я уже просканировал достаточно много устойчивых словосочетаний и фраз.
Для того, чтобы не изобретать велосипед, посмотрите их на моей страничке.

PS. Программу можно использовать для поиска анаграмм
на любом другом языке. Достаточно поменять словарь.
(slovar.txt). Кому это будет нужно, обращайтесь.
Я помогу его построить.