CombiPoet

Комбинаторика.

Запустил телеграм-бота CombiPoet. Он умеет следующее:
- находить тексты по слову (строке) в базах данных анаграмм,
палиндромов, омограмм
- искать слова в словаре по подстроке или регулярному выражению
- генерировать анаграммы из 2-3 слов по заданному тексту
Чтобы ознакомиться с командами бота нужно ввести знак вопроса '?'
Команды можно вводить как строчными так и заглавными буквами.

Вопросы можно задавать в комментариях.

В командах генерации анаграмм 'га' и 'га3' после указания базового текста через знак минуса можно указать текст, который нужно 'вычесть' из него. Например:

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

это все равно, что

га угольник

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

Добавил в бот команду нахождения разнобуквиц. Нужно дать небольшую начальную строку, например 'галя'

рз галя

получится ответ

галя брючных въезд щёткой жмусь шпиц эф

слова можно запрещать - запретим 'эф'

рз галя - эф

получим

галя брюшных щипцов мзду фей съёжь кэтч

и так далее.

В CombiPoet_bot появилась операция нахождения минимальных метаграммных путей.
Например, минимальный путь от 'слона' до 'тигра' c использованием существительных в единственном числе именительном падеже.
Можно использовать слова длиной 4-7 букв.

мет слон тигр

Результат:

слон,клон,клот,киот,килт,кила,
кива,кава,лава,лавр,ливр,литр,титр,тигр

В CombiPoet_bot добавлена команда поиска вариантов продолжения омограммы.

Например, имеем слово 'ангел' и пытаемся сделать из него омограмму. Для этого делим его на возможные части и используем команду 'го':

го анг-ел

В результате выдаются сначала варианты продолжения с начала, а потом варианты продолжения с конца:

Результат выполнения команды:

Базовый текст: анг-ел
Найдено 26 вариантов
Выведено 26 вариантов

1. б-умер-анг
2. бу-мер-анг
3. г-анг
4. о-ран-гут-анг
5. оран-гут-анг
6. р-анг
-----------------—
1. ел-а
2. ел-басы
3. ел-да
4. ел-да-ком
5. ел-дак-ом
6. ел-де
7. ел-дою
8. ел-ду
9. ел-е
10. ел-ей
11. ел-ей-но
12. ел-ея
13. ел-и
14. ел-ка
15. ел-ки
16. ел-ку
17. ел-о
18. ел-озя
19. ел-очки
20. ел-ях

Далее выбираем варианты с начала и конца и используем команду 'го' с новым полученным текстом. Например:

го б-умер-анг-ел-ду

которая выдаст варианты дальнейшего продолжения.

В CombiPoet_bot добавлена команда поиска вариантов продолжения палиндрома.

Например, имеем слово 'крабов' и пытаемся сделать из него палиндром. Для этого делим его на возможные части и используем команду 'гп':

гп краб-ов

В результате выдаются сначала варианты продолжения с начала, а потом варианты продолжения с конца:

Результат выполнения команды:

Базовый текст: краб-ов
Найдено 127 вариантов
Выведено 127 вариантов

1. ов-ил-ты-п
2. ов-ел-ап
3. ов-ела-п
4. ов-от-сие-н
5. ов-ил-туш
6. ов-ил-ту-ш
7. ов-ил-луг
8. ов-онан
9. ов-он-ан
10. ов-она-н
11. ов-трем
12. ов-иск-ал-п
13. ов-искал-п
14. ов-ил-же-вен
15. ов-окул
16. ов-оку-л
17. ов-от-уб
18. ов-окат
19. ов-ока-т
20. ов-од-ем
21. ов-оде-м
22. ов-отог
23. ов-от-ог
24. ов-ото-г
25. ов-ел-ан
26. ов-ела-н
27. ов-ил-жев
28. ов-ил-же-в
29. ов-оло
30. ов-ис
31. ов-ил-дору
32. ов-ил-до-ру
33. ов-арб
34. ов-ял-трев
35. ов-он-ил-ам
36. ов-он-ила-м
37. ов-они-лам
38. ов-ил-де-вар-пс
39. ов-ид
40. ов-ел-в
41. ов-ил-дул-б
42. ов-од-нок
43. ов-од-но-к
44. ов-одно-к
45. ов-иж
46. ов-огол
47. ов-ого-л
48. ов-он
49. ов-ип
50. ов-од-еб
51. ов-оде-б
52. ов-ил-те-ус
53. ов-зер
54. ов-окал
55. ов-ока-л
56. ов-оду-по-тс
57. ов-оду-пот-с
58. ов-ирги
59. ов-ил-да-г
60. ов-озор
61. ов-ока-к
62. ов-ишь-лаф
63. ов-од-роб
64. ов-одр-об
65. ов-ярок
66. ов-яр-ок
67. ов-яро-к
68. ов-он-аз
69. ов-она-з
70. ов-ил-мул-г
71. ов-озар
72. ов-ос-салк
73. ов-ос-сал-к
74. ов-ил-ша-руд
75. ов-ил-шар-уд
76. ов-ил-шару-д
77. ов-ор-ус
78. ов-ору-с
79. ов-ел
80. ов-ил-то-порк
81. ов-ил-то-пор-к
82. ов-ил-топ-орк
83. ов-ил-топ-ор-к
84. ов-ил-топор-к
85. ов-отси
86. ов-от-си
87. ов-яр-дук
88. ов-ярд-ук
89. ов-ярду-к
90. ов-ода
91. ов-од-а
92. ов-ор-од-з
93. ов-от-раф
94. ов-ил-босо
95. ов-ил-бос-о
96. ов-ил-жереб
97. ов-ил-же-реб
98. ов-ил-то-рис
99. ов-ил-тор-ис
100. ов-ил-тори-с
101. ов-ил-догу
102. ов-ил-до-гу
103. ов-ил-дог-у
104. ов-от-ам
105. ов-ил-жар-ук
106. ов-ил-жару-к
107. ов-акул
108. ов-он-ор-ов
109. ов-оно-ров
110. ов-реп-ан
111. ов-репа-н
112. ов-аж-р
113. ов-ил-пот
114. ов-ил-по-т
115. ов-опил
-----------------—
1. и-краб
2. е-краб
3. са-краб
4. уса-краб
5. ы-лора-краб
6. ыл-ора-краб
7. еса-краб
8. аса-краб
9. а-краб
10. во-краб
11. у-краб
12. ыса-краб

выбираем для конца продолжение 'ов-ил-по-т'
а для начала - 'са-краб'

В сумме получаем 'са-краб-ов-ил-пот'

Переворачиваем и сцепляем:

топливо баркаса - крабов ил, пот!

Можно получать резульаты в виде файла при любой команде -
просто в начале поставить букву 'ф'

Например поиск анаграмм слова 'треугольник'

фга3 треугольник


Рецензии