Фролов-Буканов Д.В. (f_b_dima) wrote,
Фролов-Буканов Д.В.
f_b_dima

Categories:

Как я занимался онанизмом

По одной из версий этимология выражения "сделать из мухи слона" восходит к игре, в которой надо получить из одного слова другое слово, меняя на каждом шаге в слове по одной букве, последовательно, но так, чтобы получалось новое слово. К примеру, из слова МУХА слово РЕПА получается в 4 шага легко:
МУХА --> МУКА --> РУКА --> РЕКА --> РЕПА. А вот из слова МУХА сделать СЛОН слабо? Я ткнулся было с карандашом и бумагой - слабо, однако...

Ладно, думаю... Тут "на арапа" не возьмешь, нужен научный подход. Ну, не научный - это я загнул, но инженерный. Итак:
1. Берём электронный словарь русского языка и вычленяем из него все слова из 4-х букв, нумеруя их в произвольной последовательности, проще всего - по алфавиту. Получается что-то около двух с половиной тысяч (если точно - 2397, по той версии, что мне попалась, но возможно их и больше). Из них не все существительные, да и шут с ними. Задача оперировать только с существительными не ставилась. Записываем в столбик в текстовом формате, в файл.
2. Пишем программу определения попарной связности в графе, вершинами которого являются все эти слова. Связанными являются те, что отличаются ровно на одну букву. Таких связей на всю группу четырёхбуквенных слов, с учётом того что они (связи) действуют в обе стороны, оказывается что-то около 12 тысяч. То есть переходы между соседними словами возможны в обе стороны, что и понятно.
3. Пишем программу поиска кратчайшего пути из слова номер N (МУХА) в слово номер M (СЛОН), из истока в сток, по известному алгоритму (Дийкстра). Кто хиппует - тот поймёт. Получаем:
МУХА --> МУРА --> МОРА --> ПОРА --> ПОРТ --> ПООТ --> ПЛОТ --> КЛОТ --> КЛОП --> СЛОП --> СЛОН
Если наложить условие: только существительные, то слово ПООТ (сложный предлог по В.Далю) не канает, но и тут без проблем, получается другая цепочка, чуть подлиннее, но зато с одними существительными:
МУХА --> МОХА --> ЛОХА --> ЛОСА --> ЛОСК --> ЛОЕК --> КОЕК --> КЛЕК --> КЛОК --> КЛОП --> СЛОП --> СЛОН
Цепочки эти, похоже, не единственные, но вот эти - самые короткие. Повторюсь: все слова - словарные, из электронного ресурса, не мной придуманные, кому интересно - проверяйте )))

Похвастал приятелю-коллеге одному (он теоргруппу Гинзбурга окончил). Говорит: онанизм чистейший
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments