JavaRush /Java блог /Random /Дню Сурка посвящается… Рекурсия в реальной жизни

Дню Сурка посвящается… Рекурсия в реальной жизни

Статья из группы Random
Февраль. Ну, привет, февраль. Мы тебе рады. А сегодня — и подавно. Потому что 2 февраля — самый цикличный и рекурсивный день в мире благодаря фильму «День Сурка».
Дню Сурка посвящается… Рекурсия в реальной жизни  - 1
В этом цикле зимы можно-таки ещё разок посмотреть тот самый «День Сурка» (2.02) и «День Радио» (13.02), поболеть за любимых спортсменов на Зимней Олимпиаде (9.02-25.02), поесть блинов (12.02-16.02), подарить «Валентинку» (14.02) и очередной лосьон для бритья (23.02), поздравить с праздником полярного медведя (27.02)… А там и новый цикл весны наступит.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 2
А теперь о сегодняшнем. Главный герой фильма «День Сурка» попал в некую рекурсивную ситуацию, которая похожа на бесконечный цикл. На деле в каждый из дней происходит ряд событий, в которые герой так или иначе может вмешаться. Герой резонно предположил, что для выхода из дня сурка он должен что-то сделать с этими ситуациями. Сложность в том, что ситуаций много, способов вмешательства в них — тоже, а уж комбинаций того и другого — и того больше. Делать нечего, он стал досконально изучать свой единственный повторяющийся день, полагая, что выходом из него может стать что угодно — от кражи сурка до самоубийства. Постепенно он пришёл к мысли о самосовершенствовании. Чтобы обнаружить точку выхода, герой должен использовать знания, полученные в предыдущие проживания этого дня, и постепенно ему это удалось. Но рекурсию можно встретить не только в программировании или фантастических фильмах. Это вполне распространенное явление даже в повседневной жизни. Классическим примером бесконечной рекурсии являются два поставленные друг напротив друга зеркала: в них образуются два коридора из затухающих отражений зеркал.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 3
Дню Сурка посвящается… Рекурсия в реальной жизни  - 4
Рекурсия — не обязательно бесконечна. Вот, например, матрёшка. Вполне рекурсивна, но вы обязательно доберётесь до самой маленькой из них.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 5
Самый простой вариант увидеть рекурсию, не отходя от компьютера, — это навести веб-камеру на экран монитора компьютера. Камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. И мы будем наблюдать нечто похожее на тоннель.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 6

Примеры рекурсии в природе

Самым зрелищным примером рекурсии являются географические объекты. Например, похожие на вышеупомянутые матрешки, острова посреди озер, которые в свою очередь расположены на островах. Среди таких объектов самым известным является пресноводное озеро Тааль, расположенное на острове Лоусон в провинции Батангас, Филиппины. На озере находится вулканический остров Тааль, в его кратере имеется еще одно озеро. А на нем в свою очередь есть свой собственный небольшой остров, Вулкан-Пойнт.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 7
Наглядным примером также являются реки, образованные из других рек, горы и молнии.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 8
Дню Сурка посвящается… Рекурсия в реальной жизни  - 9
Не менее интересны примеры «овощных» рекурсий. Вот, к примеру, обычный репчатый лук и белокочанная капуста:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 10
Совсем иначе выглядят рекурсии у цветной капусты и капусты романеско. Их головки состоят из соцветий, которые, в свою очередь, состоят из соцветий. Интересно, что головка капусты романеско состоит из соцветий светло-зеленого цвета, которые имеют форму фрактальной спирали. Кроме этого, каждый отдельный бутон образует свою спираль.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 11
Дню Сурка посвящается… Рекурсия в реальной жизни  - 12
Дерево состоит из веток. Ветка в свою очередь состоит из более маленьких веточек. Каждая ветка повторяет дерево.
Дню Сурка посвящается… Рекурсия в реальной жизни  - 13
Такую же структуру можно наблюдать у сложного листа папоротника:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 14
Семена некоторых цветов (например, подсолнечника) расположены пересекающимися спиралевидными веерами, определяемыми соотношением чисел Фибоначчи:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 15
Замечательным примером рекурсии являются дендриты — сложнокристаллические образования древовидной ветвящейся структуры. Нам всем знакомы ледяные дендриты — это снежинки и морозные рисунки на стекле:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 16
Дню Сурка посвящается… Рекурсия в реальной жизни  - 17
Также встречаются дендриты металлов, например, золота и меди:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 18
Примеры рекурсии из животного мира, тоже достаточно наглядны: извечная пара «курица и яйцо» и … эволюция:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 19
Дню Сурка посвящается… Рекурсия в реальной жизни  - 20

Примеры рекурсии в лингвистике и литературе

Рассказ из «Кибериады» Станислава Лема о разумной машине, которая обладала достаточным умом и ленью, чтобы для решения поставленной задачи построить себе подобную, и поручить решение ей. (бесконечная рекурсия - каждая новая машина строила себе подобную). Н.В. Гоголь в повести «Портрет» описывает сон художника Черткова, который проснувшись снова попадает в сон, проснувшись от этого сна он опадает в первый сон, от которого тоже придется проснуться. "Мастер и Маргарита" — один из наиболее ярких рекурсивных романов. Тема Иешуа и Пилата рекурсивно вызывается из темы Мастера и Маргариты. Кроме того, здесь так же используется прием "книга в книге". Мастер пишет роман об Иешуа и Пилате, текст которого сливается с текстом книги "Мастер и Маргарита". Еще один пример рекурсии «Дом, который построил Джек» Роберта Бернса в переводе Маршака. Или вот, самый короткий рассказ Айзека Азимова, написанный на спор прямо в студии во время записи интервью.

«…Вставьте шплинт А в гнездо Б…»

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

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

— Следуя инструкциям, — добавлял Хэнсен, — составленным каким-то идиотом.

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

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

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

Самыми же известными примерами бесконечной рекурсии в литературе являются «бесконечные сказки»: Я открыл свои глаза: Голубые небеса, И зелено покрывало, И мохнатые леса… Вот и речка — все течет, Солнце встало — вновь печет… Взял я ручку и тетрадь И решил все записать, Я открыл свои глаза: Голубые небеса… У попа была собака У попа была собака, Он ее любил, Она съела кусок мяса, Он ее убил И в землю закопал, И памятник поставил, И надпись написал: У попа была собака, Он ее любил, Она съела кусок мяса

Примеры рекурсивной графики

Приемы рекурсии выигрышно смотрятся в живописи и фотографии. Это могут быть варианты «портрет в портрете», «рамка в рамке» или «художник рисует картину, на которой он рисует картину, на которой изображен он, рисующий картину»:
Дню Сурка посвящается… Рекурсия в реальной жизни  - 21
Дню Сурка посвящается… Рекурсия в реальной жизни  - 22
Дню Сурка посвящается… Рекурсия в реальной жизни  - 23

Рекурсивный юмор

Это просто жесть. Программисты, епта, живем втроем, договорились так: первый будит второго, второй третьего, третий первого… рекурсия =) в результате проспали лекцию. У нас на обед — салат «Рекурсивный» : помидоры, огурцы, салат. xxx: помнишь Антоха желание проиграл? так вот, я ему загадал: чтобы он 2 дня на все предметы, с которыми совершил какие-либо действия клеил стикер с этим действием yyy: я бы точно клеил бы на стикер стикер с надписью «наклеил». Мелкого (сына 10 мес) вогнал в рекурсию… одна соска во рту. дал вторую. первую от радости выплюнул. вставил вторую. услышал как что-то упало. обрадовался увидев первую соску. выронил вторую. засунул первую в рот. услышал как что-то упало… уже 5 минут меняет их. Сегодня работал с отцом, он мне говорит типа «хочешь рекурсию покажу?», я типа «ну давай». Он берет втыкает вилку дрели в удлинитель, а вилку удлинителя втыкает в свободную розетку этого же удлинителя, жмет кнопку, дрель начинает работать… Блин наверное у меня было очень смешное лицо, он ржал до вечера, а я еще долго втыкал почему же так получается. Оказалось дрель была на аккумуляторе. Если же вы считаете, что все в жизни должно иметь прикладное применение, то предлагаем вам вспомнить полученные знания по программированию и попробовать решить некоторые из известных задач, которые решаются с помощью рекурсивных методов: нахождение чисел Фибоначчи и факториала, а также головоломку «Ханойские башни».
Дню Сурка посвящается… Рекурсия в реальной жизни  - 24
Февраль. Ну привет, февраль. Мы тебе рады. А сегодня — и подавно.
Комментарии (10)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Роман Макаренко Уровень 108 Expert
15 июня 2023
автор плутає поняття рекурсія і фрактал. Так, поняття ці взаємопов'язані, як об'єкт і його клас, але це не те ж саме.
Basilius Уровень 33
30 марта 2023
Привет из 2023 Первая задача с использованием рекурсии на JavaRush в игре Сапёр.
Artem Sokolov Уровень 26
17 марта 2022
Если говорить про фильмы, то лучшим примером будет "Зависнуть в Палм-Спрингс". Но на момент написания статьи фильма ещё не было))).
Nikolay Boguslavsky Уровень 25
16 апреля 2020
Скажите, а на каком уровне начинаются задачи на рекурсии в Javarush?
Chundrik Уровень 35
20 января 2020
Боже, это прекрасно, спасибо
NoName Уровень 27
20 февраля 2018
Рекурсии есть место в реальном мире, но только не в программировании (потому что она пробивает стек).
Anastasiia Уровень 20 Expert
6 февраля 2018
последовательность Фибоначчи она повсюду, это так прекрасно https://www.youtube.com/watch?v=P0tLbl5LrJ8
6 февраля 2018
Еще неплохо по рекурсии прошлись в фильме "Начало", где для главных героев самым сложным моментом было определить когда же они вышли из рекурсии (вереницы снов во сне).
Максим Уровень 40 Expert
4 февраля 2018
Отличная статья!