?

Log in

No account? Create an account

Entries by category: литература

Здесь (далее) находится список (пополняемый) полезных программ и файлов данных,
написанных и созданных автором в помощь любителям комбинаторной поэзии,
точнее, словесной комбинаторики.

Анимация анаграмм: https://marinol.livejournal.com/1027746.html
Порядкограммы: https://marinol.livejournal.com/1026724.html

Статья "Конструирование анаграмм": http://www.olegmarin.ru/teranag.pdf

Новая книга анаграмм.

Онлайн база данных анаграмм.
Онлайн база данных равнобуквиц (пантограмм).
Онлайн база данных палиндромов.
Онлайн база данных разнобуквиц.
Онлайн база данных слоговых палиндромов.
Онлайн база данных слоговых анаграмм.
Слоговые анаграммы (простые). (сгенерировано программой)
Слоговые палиндромы в одно слово. (сгенерировано программой)
Слоговые палиндромные челюсти в два слова. (сгенерировано программой)
Слоговые палиндромные челюсти в два слова. (сгенерировано программой)
Слова анаграммы (сгенерировано программой по словарю Зализняка)

Списки слов для начально-концевых тавтограмм: http://www.olegmarin.ru/tavtend/

О длине анаграмм.
http://marinol.livejournal.com/861155.html

Палиндрогены
http://marinol.livejournal.com/791756.html

Новая папка для комбинаторных файлов:
http://marinol.livejournal.com/492012.html

Выложил базу данных палиндромистов и палиндромов.
http://marinol.livejournal.com/276744.html

Новая (диалоговая) версия комбинаторных программ:
http://marinol.livejournal.com/165386.html

Компьютерная палиндромная антология:
http://marinol.livejournal.com/197021.html

Список палиндромистов:
http://marinol.livejournal.com/225541.html

Метод генерации палиндромов с помощью решения задачи ЦЛП:
http://marinol.livejournal.com/196763.html

Способ создания рифмованных анаграмм
http://marinol.livejournal.com/305170.html

Read more...Collapse )

***

Анаграммы.



на нас напал и мордовал
Сарданапал, но миновал!

***

ордами на нас напал
аноним Сарданапал!

***

Анаграммы по мотивам стихов Владимира Бурича.

фигура души моей,
шуми года фурией!

освистан, утери жуя,
не увижу старости я,
трусости, уважения,
и осажу стервятину -
жирует у восстания!

смекая, реками потея,
я и моя кепка стареем!

шоу - чум лицедеев,
чешем улицу двое -
чудом уцелевшие...

тело моей любви
воет - мол юбилей!
тело любви моей,
метлою олив бей,
метлою боли вей!

***

Анаграммы.

нем - уст неволя,
у меня нет слов!

***

протест слонов -
просто нет слов!

***

сны химер, гетер -
смертные грехи!

***

кофе баночный
обычно не кайф!

***

деловым -
мы в доле!

***

у Кифы Мокиевича последняя
куча кофия и пенсия - мы в доле!

***

литературный фестиваль
рельефный ставит ритуал!

***

поздравляем -
племя вздора!

***

бил наотмашь
штиль обмана
лишь набатом!

***

вдоль тротуаров им
вдоволь орут ртами!

***

вдоволь попою,
повою - "вдоль по..."

***

вскройте - вдоволь попою,
повою вдоль по Тверской!

***

граждане те, проходите
же - преграда, отдохните!

***

гаснет - то дилетант!
стоит денег - талант!

***

остыв, достигнете
высот, денег - стоит!?

***

литература, эксперимент
эмансипирует кратер лет!

***

коты жрали,
аж открыли
рты, а ложки?

Длинные анаграммы

Ещё раз по поводу 'длинных' анаграмм.

Вот анаграмма (ниже) на текст танго "Осень, прозрачное утро". Как видите - она длинная (больше, чем я обычно делаю) и развивает тему базового текста. Можно сделать ещё длиннее - это не представляет никакой проблемы, абсолютно. Чем длиннее текст, тем с большей вероятностью на него можно найти хорошую анаграмму и тем больше их будет. Этим анаграммы отличаются от палиндромов - там такой зависимости нет, точнее, есть обратная зависимость. Что касается времени составления длинных анаграмм - оно зависит от длины чуть более чем линейно. То есть, для нахождения анаграмма в три раза более длинной нужно времени немного более, чем в три раза.

Итак, сама анаграмма:

осень, в прозрачное утро небо как будто в тумане, даль из тонов перламутра, солнце холодное раннее, где наша первая встреча?

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

-----------------------------------
Могу дополнить её до полного текста танго - это несложно.
Могу взять (сочинить) любой текст любой длины и точно также сделать на него анаграмму. Но это скучно. Интереснее находить анаграммы средней длины, для которых существует мало хороших вариантов и они трудно находимы.

***

Анаграммы.

пути поэта: аорты
пот и Тауэра опыт!

***

в мире бушующем
рею, бившему - мщу!

***

претендентка
крепнет! нет? - да!

***


врач произнёс:
"призрачно всё!"

***

раз в ночи спёр,
ворча, приз нёс
рвач - произнёс:
"призрачно всё!"

***

за чин - спор, рёв,
призрачно всё!

***

нам не дано предугадать
манер недуга, топь дна, ад!

***

его опятами -
гомеопатия!

***

в гомеопатии я,
типовое - магия!

***

яйца учат курицу,
царя, чайку, утицу!

***

под устав, тайно споём,
на супостатов пойдём!

стоп, усаты
супостаты!

***

наступай! стопудово
пойду на супостатов!

***

на супостатов пойду!
потоптав анус, сойду!

***

послушав, как споёт НАТО,
пошёл как на супостатов!

***

некий добрый,
бедный Йорик!

***

центр мги - пал
Гамлет, принц!

***

форс, бранит
барин строф
Фортинбрас!

***

Гамлет и Офелия,
миляга, тело - феи!...
тело - филе, магия!

***

- а есть, есть у вас дело?
- есть, да совесть уела!

***

вдали линкор
и вал, клин орд -
кадрили волн,
квадриллион!...

***

завидно же -
они в джазе!

***

Алексей Круглов,
сверкай у коллег!

а Круглов Алексей
гула рек ласковей!

ай, Геркулес, волк
Алексей Круглов!
вокруг ласк елей,
Круглов Алексей!

***

Круглов Алексей
в уголке с кралей!
Геракл в соку лей
вокал рек, гуслей!
красок в гуле лей,
Круглов Алексей!

***

Яремчук -
круче ям,
ярче мук!

***

Яремчук Юрий,
ярче ум юркий!

***

Ах, вин Вы соки,
Иван Высоких!

***

Иван Высоких -
хвоинка выси!

***

Пётр Ившин
прёт в ниши!

***

Котиков Антон,
кто он? - ток вина!
титанов кокон,
контакт ионов,
активно тонок
Котиков Антон!

***

ловок с затеей
Зотов Алексей!

***

Игорь Пехович :
"Их пиво - горечь!"

***

ах, исполин, вожак им -
Михаил Сапожников!

***

пошалил виконт -
клавиши плотно,
плашки отливно.
пилот клавиш он!
Шиликов Платон
пил нот шок и вал,
пил тон - шиковал!

***

Вадим Правилов
давил вампиров!

***

накал - и горела,
колена играла
Егоркина Алла -
ангелок! а лира -
и нега коралла
и горна лекала!

***

мил друг клавиров
Владимир Круглов!

***

"я - монстр!" орал
Роман Столяр!

***

а какова системная
Оксана Матиевская!

***

Анаграммы.

все женщины одинаковы:
видок - насыщенно живые!

***

губят микробы-вояки!
говорят: "мы буки-бяки!"

***

откровенен я - фат!
невероятно? факт!

***

я - ветерок фонтана!
невероятно, а факт!

***

слоган сложи
согласно лжи!

***

а гласом сленга
слагаем слоган!

***

слагаем слоган
на глаголе масс!

***

лозунг я сложу -
"гоня зло, служу!"

***

ели на филфаке вкусные бураки и
кефали фекалии - увы, не брусника!

***

в кафе ел фиалки и
фекалии в кефали!

***

факел... феи икали и ели,
и ели фекалии кефали!

***

нагородили каверз
на развилке дороги!

***

кривоног, а дерзал,
а драконов грезил
на развилке дорог!

***

на развилке пути
запиликает врун!

***

на развилке пути
завалинку трепи!

***

на развилке пути и
назревали тупики!

***

закипели, рванут
на развилке пути!

***

а на развилке пути
путаника развели!

***

верзила путаник
на развилке пути!

***

меня не тревожьте,
в яме не треножьте!

нежно метя, верьте!

***

разнежитесь и парков тишь -
красиво жить не запретишь!

***

погуляем,
лягу - поем!..

***

рано семейка
на Маросейке!

***

буравя леер,
веруя, брела,
ревела буря!...

***

давно писали -
подавили нас!

***

с парадоксами дружу -
приду, дома расскажу!

***

дар - самодур-писака, жил,
а с парадоксами дружил!

***

крив ум, некрасивый,
вру как мерин сивый!

***

РОССИЯ.

о, бойтесь - неустанная,
у ней особенная стать,
сутаной неба осенять!

***

поверила в басню:
весна - пора любви!

***

брав, юн, повеса ли,
весна - пора любви

***

млечный вечер гас -
мглы вечерней час!

***

в немой сени дорого прелестнице
сердце, полное тревог и сомнений!

***

сверкали молнии и
исклевали мир они!

***

насилием кровили,
неволи искрами ли
сминали, окривели,
сверкали молнии и
исклевали мир они,
и ливнем окрасИли!

***

на свете счастья нету -
естественная участь!

***

но есть покой и воля -
я-то посильней оков!

***

но есть покой и воля -
опьянило ей скотов!

***

есть воля и покой
и вялость опекой!

***

но есть покой и воля
околеть псиной воя!

***

цепко, сердито споря,
сердце просит покоя!

***

Анаграммы.

рыдая, кусал каблуки
и улыбался как дурак!

***

лакая краску, быдлу
улыбался как дурак!

***

крут волною гибельный
любовный треугольник!


***

и волк и лиса
воли искали!

***

целовала в губы,
выцвела голуба!

***

мне грустно - я дома и
одурманен гостями!

***

рассветы, зов
любви - покорны
все возрасты -
пыл, юбки, норов!

***

примула -
пул мира!

***

одет в веник
Венедиктов!
веко двинет -
вдвое кинет!

***

мэтров шумные ауры -
это вам не шуры-муры!

***

хрены у хмурых
не хухры-мухры!

***

мэров шумные рауты -
это вам не шуры-муры!

***

эрот, шумные муравы -
это не вам шуры-муры!

***

Курт Волкер -
рекрут - волк!

***

лукавил ритор, а
курил и ратовал!
артикулировал,
икал, утрировал
и укротил аврал!

***

жир, дисгармония бытуют,
унижаются гибриды ртом,
богатыри джин усмиряют.
бодры, сжимая, интригуют,
обжирают гниды, струями
мотаются грудины биржи,
миры рождаются и гибнут!

***

бос, юн и с чаяния
басни сочиняю я!

***

сочинял басни
и нянчил босса!

***

бос, юн и с отчаяния
басни-то сочиняю я!

***

под покровом сот ночи
подонков просто мочи!

***

днём его конопатая головёнка -
вал, огонёк - ногам покоя не даёт!

***

надувая горло,
грянула адово
дурная голова!

***

голова плешивая,
шаловливо пегая!

***

ненароком, втихомолку
уломаем тонких кровно!

***

на пульсе руку я держу -
дерусь, лепя науку, ржу!

***

пыл, жгу слободу
по долгу службы!

был улус - поджог,
по долгу службы!

жлоб - солгу пуды
по долгу службы!

***

гол, сед - чти
долг чести!

***

разлуками стога дудят,
иду куда глаза смотрят!

***

ал зад гуляк - гадят
куда глаза глядят!

***

Анаграммы.

сет хитов, богемный рот -
стихотворный бегемот!

***

воет, стих богемный рот -
стихотворный бегемот!

***

своет хит богемный рот -
стихотворный бегемот!

***

воет стих богемный рот -
стихотворный бегемот!

***

тихо. свет, богемный рот -
стихотворный бегемот!

***

пил боржоми и
побили моржи!

***

пил боржоми?
полижи бром!

***

морж об обилии: о! -
боржоми и лобио!

***

побили морду-рожу
уроду - пил боржоми!

***

эх, гений, ум
Хемингуэй!

***

добро пожаловать
лоб овода пожрать!

***

оборвало? поджать?
добро пожаловать!

***

- наели чины
и наличные!

- о, наличные -
они алчные!

***

без образования
вона - безобразия!

***

гадливо, туго -
голова гудит!

***

одним словом:
с вином - молод!

***

росс, пьяно
проносясь
спросонья,
спорь ясно!
Ранее я уже показывал, как задача поиска разнобуквиц сводится
к задаче ЦЛП - целочисленного линейного программирования.

http://marinol.livejournal.com/165386.html


Чем это хорошо? Тем, что для решения таких задач существуют
эффективные алгоритмы, реализованные в виде работающих, отлаженных
пакетов программ.
Те, кто считает, что это представляет чисто теоретический интерес,
могут познакомиться с программой "Комбинаторный Поэт".
В этой программе такой подход реализован практически и позволяет быстро
находить разнобуквицы необходимого качества.

Здесь же мы попробуем применить аналогичный подход к задаче
создания палиндромов. Можно ли свести проблему создания палиндромов
к линейной задаче, для которой, как я уже сказал, имеются эффективные
алгоритмы и отлаженные программы? Ответ на этот вопрос положительный.

В этой заметке я приведу логику создания линейной модели для генерации
палиндромов. Вопросы её практического использования использования будут
освещены в другой (следующей) заметке. И, возможно, подход будет реализован
в одной из следующих версий программы Комбинаторный Поэт.

Глупо утверждать, что этот подход заменит умение и искусство опытных
палиндромистов. Но, наверное, он сможет быть для них каким-то существенным
подспорьем.

Итак, пусть мы имеем словарь слов S[i],i=1:N, N-количество слов в словаре.
И хотим создать палиндром длиной в M букв. В текущем варианте модели я буду
фиксировать длину палиндрома. Идея заключается в том, что мы вводим
целочисленную переменную X[i,j], которая означает, что слово с индексом i,
начинается в палиндроме с (буквенной) позиции j, если эта переменная имеет значение 1.
И 0, если слово S[i] не входит в палиндром с позиции j.

Ясно, что если не вводить никаких ограничений на вхождение слова в палиндром,
то будет хаос - разные слова смогут начинаться (и продолжаться) с одной и той же
позиции. Для того, чтобы прекратить это безобразие мы вводим матрицу структурных
ограничений R[j,k], где j=1,M - индекс строки матрицы, k=1:M*N. Каждой строке
матрицы соответствует позиция палиндрома, поэтому их M. Каждому столбцу матрицы k
соответствует некая переменная X[i,j], поэтому количество столбцов
будет равно ~ N (кол-во слов)*M(кол-во позиций).
Столбец матрицы R формируется следующим образом. Начиная со строки индексом j
в столбце B будет поставлено столько единиц (1), какова длина слова. Во всех остальных
позициях нужно проставить 0. Если мы возьмём и умножим матрицу R на вектор X
то получим вектор B, размером M строк (длина палиндрома). Что он будет означать?
Он будет давать количество слов, чьи буквы находятся на каждой позиции палиндрома.
НО... в палиндроме (да и в любом другом ПРЕДЛОЖЕНИИ) на каждой позиции находится
буква от ОДНОГО слова. Поэтому, если мы имеем вектор B состоящим только из единиц (1),
то задав условие (линейное, это важно) R*X=B, мы гарантируем, что переменные будут
выбираться так, чтобы слова не пересекались, а образовывали одну линейную
последовательность.

Фу, уже легче. Но это не всё. Ведь нам нужен палиндром.
Чем характеризуется палиндром, тем, что на позиции L, L=1:M, находится
та же буква, что и на позиции M-L+1. Например, если L=1 (начало слова), то
такая же буква должна быть на позиции M-1+1 = M, то есть в конце слова.
И так далее со смещением к центру палиндрома.

Для того, что бы это формализовать, вводим матрицу W[j,k], j=1:M, k=1:M*N,
которая полностью аналогична матрице R, но... в ячейках матрицы находятся
не нули или единицы, а числа представляющие собой числовые КОДЫ соответствующих
букв каждого слова. Тогда если мы возьмём произведение матрицы W на вектор
переменную X, то получим вектор P, который ... в чистом виде даёт нам
последовательность слов (точнее букв), включённых в 'палиндром'. Для того,
что я смог убрать кавычки у слова палиндром в предыдущем предложении, мне
нужно лишь правильно задать 'палиндромные' ограничения. Как их задать ?
Очень просто:

P[L]=P[M-L+1], где L=1,M.

Как мы видим все ограничения, которые мы вводили
линейны, то есть для решения задачи вполне можно пользоваться пакетами
решения задач целочисленного линейного программирования.
В качестве критерия (а также дополнительных ограничений) можно задавать
различные выражения, (как в задаче о разнобуквицах). Например можно задать
ограничения, чтобы любое слово не входило более двух раз в палиндром.
Или чтобы в палиндроме было от 4 до 6 существительных. Или, чтобы в палиндроме
обязательно были заданные слова (неважно на каких позициях, или наоборот
в определённых).

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

Аналогичный подход может быть применён для генерации пантограмм.

Latest Month

October 2019
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Lilia Ahner