Захватят ли нанороботы мир?
vk f t

Захватят ли нанороботы мир?

Моде­ли­ру­ем ход тех­но­ген­ной ката­стро­фы с помо­щью про­сто­го урав­не­ния

Нашу пла­не­ту ров­ным сло­ем покры­ва­ет боль­шая коло­ния бак­те­рий, кото­рые нахо­дят­ся бук­валь­но вез­де. Вне­зап­но в Скол­ко­ве изоб­ре­та­ют высо­ко­тех­но­ло­гич­ных нано­бо­тов, кото­рые име­ют спо­соб­ность само­вос­про­из­во­дить­ся при съе­да­нии этих бак­те­рий. Каж­дую секун­ду скол­ков­ский нано­бот пожи­ра­ет одну бак­те­рию и сра­зу делит­ся на два таких же нано­бо­та. Бак­те­рии про­сто пита­ют­ся под­нож­ным кор­мом и тоже каж­дую секун­ду делят­ся попо­лам, но про­сто так, сами по себе.

Захва­тят ли скол­ков­ские нано­бо­ты всю пла­не­ту, если вырвут­ся из не очень хоро­шо охра­ня­е­мых скол­ков­ских лабо­ра­то­рий и нач­нут раз­мно­жать­ся в дикой при­ро­де?

Реше­ние

Эта зада­ча кра­си­во реша­ет­ся через обыч­ные школь­ные урав­не­ния, но для это­го нуж­но будет доба­вить два неиз­вест­ных.

Каж­дый нано­бот съе­да­ет по одной бак­те­рии и тут же делит­ся попо­лам, то есть на каж­дом шаге коли­че­ство нано­бо­тов удва­и­ва­ет­ся. А раз так, то удва­и­ва­ет­ся и коли­че­ство съе­да­е­мых бак­те­рий. Запи­шем, сколь­ко бак­те­рий съе­да­ет нано­бот на каж­дой секун­де:

секун­да 0: 1 — пото­му что в самом нача­ле у нас один нано­бот

секун­да 1: 2 × 1 — после пер­вой секун­ды нано­бо­тов ста­ло два, зна­чит, они съе­ли две бак­те­рии, каж­дый по одной

секун­да 2: 2 × 2 × 1 — нано­бо­ты сно­ва удво­и­лись и съе­ли по бак­те­рии

Мы видим посто­ян­ное про­из­ве­де­ние дво­ек, а зна­чит, их мож­но пред­ста­вить в виде сте­пе­ни:

секун­да 0: 1 = 2 в нуле­вой сте­пе­ни

секун­да 1: 2 = 2¹

секун­да 2: 4 = 2²

* * *

T секун­да: 2 в сте­пе­ни Т

Мы выяс­ни­ли, как быст­ро раз­мно­жа­ют­ся нано­бо­ты и сколь­ко на каж­дой секун­де они съе­дят бак­те­рий. Теперь допу­стим, что когда на пла­не­те появил­ся один нано­бот, этих бак­те­рий уже было N штук. Тогда сно­ва обо­зна­чим вре­мя в секун­дах как Т и попро­бу­ем выяс­нить, сколь­ко бы полу­ча­лось бак­те­рий на каж­дой секун­де с учё­том нано­бо­тов:

секун­да 0: N — началь­ные усло­вия

секун­да 1: 2 × (N − 1) — перед удво­е­ни­ем нано­бо­ты съе­ли одну бак­те­рию

секун­да 2: 2 × [ 2 × (N − 1) − 2] — удва­и­ва­ем то, что было до это­го, и перед этим вычи­та­ем две съе­ден­ных бак­те­рии

секун­да 3: 2 × { 2 × [ 2 × (N − 1) − 2] − 4} — сно­ва удва­и­ва­ем преды­ду­щее, не забы­вая вычи­тать съе­ден­ных бак­те­рий.

Рас­кро­ем скоб­ки и про­дол­жим логи­че­ский ряд:

секун­да 0: N

секун­да 1: 2 × N − 2

секун­да 2: 2² × N − 8

секун­да 3: 2³ × N − 24

* * *

секун­да Т: (2 в сте­пе­ни Т) × N − (2 в сте­пе­ни T) × Т

Когда нано­бо­ты съе­дят всех бак­те­рий и захва­тят мир, наше послед­нее урав­не­ние ста­нет рав­но нулю. Запи­шем это:

(2 в сте­пе­ни Т) × N − (2 в сте­пе­ни T) × Т = 0

Пере­не­сём одну часть урав­не­ния впра­во:

(2 в сте­пе­ни Т) × N = (2 в сте­пе­ни T) × Т

Видим, что в каж­дой части есть общий мно­жи­тель: (2 в сте­пе­ни Т). Сокра­тим его:

N = Т

Полу­ча­ет­ся, что нано­бо­там, что­бы съесть всех бак­те­рий, пона­до­бит­ся столь­ко секунд, сколь­ко бак­те­рий было на пла­не­те в момент стар­та. А раз вре­мя у нас не огра­ни­че­но, то в кон­це кон­цов нано­бо­ты дожу­ют всех бак­те­рий и ЗАХВАТЯТ ВЕСЬ МИР!

Про­ве­рим это для коло­нии из четы­рёх бак­те­рий:

секун­да 0: 4 бак­те­рии и 1 нано­бот

секун­да 1: 6 бак­те­рий и 2 нано­бо­та

секун­да 2: 8 бак­те­рий и 4 нано­бо­та

секун­да 3: 8 бак­те­рий и 8 нано­бо­тов

секун­да 4: 0 бак­те­рий и 16 нано­бо­тов

Реше­ние рабо­та­ет, нано­бо­ты побе­ди­ли!

Ещё по теме