Ragnarok. The fabled end of the world, when giants, monsters, and Norse gods battle for the future.
Рагнарёк: мифологическая гибель всего мира, когда великаны, чудовища и скандинавские боги
The gods were winning handily until the great serpent Jörmungandr emerged. It swallowed Valhalla, contorted itself across the land, and then merged into one continuous body with no head and no tail. As it begins to digest Valhalla, an exhausted Odin explains that he has just enough power to strike the creature with one final bolt of lightning. If you magnify his blast with your fabled hammer, Mjölnir, it should pierce the massive serpent.
ведут битву за будущее. Боги легко побеждали, пока не появился огромный змей Йормунганд. Он проглотил Вальхаллу, опоясал своим телом всю Землю, а затем слился в единое тело без головы и хвоста. Когда он начинает переваривать Вальхаллу, обессиленный Один объясняет, что у него достаточно сил только для того, чтобы под конец поразить чудовище молнией. Если вы усилите вспышку молнии с помощью своего мифологического молота, Мьёльнира,
You’ll run with super-speed along the serpent’s body.
она пронзит огромного змея.
When you hold your hammer high, Odin will strike it with lightning and split Jörmungandr open at that point. Then, you’ll need to continue running along its body until every part of it is destroyed. You can’t run over the same section twice or you’ll fall into the already blasted part of the snake. But you can make multiple passes through points where the creature intersects its own body. If you leave any portion un-zapped, Jörmungandr will magically regenerate, Odin’s last power will be spent, and Valhalla will fall forever.
Вы побежите вдоль змеиного тела с громадной скоростью. Когда вы будете держать свой молот поднятым, Один ударит Йормунганда молнией и разрежет его в этот момент надвое. После этого вам нужно будет продолжить бежать вдоль его тела, пока всё оно не будет уничтожено. Вам нельзя будет пробегать по одному и тому же участку дважды, иначе вы упадёте в уже поражённую часть змея. Но вы можете многократно пробегать через точки пересечения тела этого чудовища с самим собой. Если какой-то из участков окажется непройденным, тело Йормунганда магически восстановится,
What path can you take to destroy the serpent?
силы Одина истощатся, и Вальхалла падёт навсегда.
По какому пути вам надо будет двигаться, чтобы уничтожить чудовище?
Pause now to figure it out yourself!
Сделайте паузу, чтобы найти его самостоятельно.
Answer in 3 2 1
Ответ через 3 2 1
One powerful way to solve problems is to simplify. And in this case, we can focus our attention on the two things that are important for our path: intersections and the stretches of snake between them. Or, as they’re referred to in graph theory, nodes and edges. The edges are important because they’re what we need to travel. And the nodes matter because they connect the edges, and are where we may need to make choices as we run from edge to edge. This simplification into nodes and edges leaves us with a ubiquitous and important mathematical object known as a graph, or network. We just need to figure out how to travel what mathematicians call an Eulerian path, which traces every edge exactly once.
Мощный способ решать проблемы — это упростить их. В данном случае мы можем сосредоточиться на двух моментах, важных для нашей траектории: на пересечениях и участках змея между ними. Или узлах и рёбрах, как они называются в теории графов. Рёбра важны, потому что передвигаться нам нужно по ним. А узлы важны потому, что рёбра соединяются через них, и в них нам, возможно, придётся принимать решения при перебегании с ребра на ребро. Это упрощённое представление в виде узлов и рёбер приводит нас к широко распространённому математическому объекту, известному как граф, или сеть. Нам просто нужно найти путь, по которому надо двигаться. Математики называют его траекторией Эйлера.
Instead of looking at the path as a whole, let’s zoom in on a single node.
Он проходит по каждому ребру только один раз.
During some moment in your run, you’ll enter that node, and then exit it. That takes care of two edges. If you enter again, you’ll need to exit again too, which requires another pair of edges. So every point along your path will have edges that come in pairs. One edge in each pair will function as entrance; the other as exit. And that means that the number of edges coming out of every node must be even.
Вместо всей траектории целиком давайте посмотрим на один увеличенный узел. В какой-то момент при пробегании вы войдёте в этот узел, а потом выйдете из него. При этом вовлечены два ребра. Если вы войдёте снова, вам снова нужно будет выйти, для чего требуется ещё одна пара рёбер. Поэтому при каждом узле на вашем пути рёбра будут парными. В каждой из пар одно ребро будет служить входом, а другое — выходом. Это означает, что количество рёбер, исходящих из каждого узла,
There are just two exceptions: the start and end points, where you can exit without entering, or vice versa. If we look at the network formed by the serpent again, and number how many edges emerge from each node, a pattern jumps out that fits what we just saw. Every node has an even number of edges emerging from it, except two. So one of these must be the start of your route, and the other the end.
должно быть чётным. Есть только два исключения: начальный и конечный узел, где можно выйти не входя, или же наоборот. Если посмотреть снова на сеть, образуемую змеем, и посчитать количество рёбер, исходящих из каждого узла, видна закономерность, соответствующая тому, что мы только что видели. Из каждого узла, за исключением двух, исходит чётное количество рёбер. Поэтому в одном из них ваш путь должен начинаться,
Interestingly enough, any connected network that has exactly 2 nodes
а в другом — заканчиваться.
with an odd number of edges will also contain an Eulerian path. The same is true if there are no nodes with an odd number of edges— in that case the path starts and ends in the same spot.
Примечательно, что каждый связный граф, имеющий в точности два узла с нечётным количеством рёбер, будет также содержать траекторию Эйлера. То же самое верно и в случае отсутствия узлов с нечётным количеством рёбер.
So knowing that, let’s return to our full graph. We can begin by taking care of this edge here. Now we can zig-zag back and forth across the whole snake until we reach the end. And that's just one solution— it helps to be systematic, but you’re likely to happen upon many others once you know where to begin and end your run.
В таком случае траектория начинается и заканчивается в одной и той же точке. Зная это, вернёмся к нашему полному графу. Мы можем начать вот с этого ребра. Теперь мы можем двигаться зигзагом вперёд и назад по всему змею, пока мы не достигнем конца. Это всего лишь одно из решений — систематичный подход помогает, но существует множество других путей,
You hold your hammer high at the opportune moment, and Odin sends the world-saving surge of lightning at you. Then you run like you’ve never run before. If you can pull this off, surely nothing could stop the might of the Norse Gods. And if something like that were out there, slouching its way towards you… well, that would be a story for another day.
если вы знаете, где начать и где закончить пробег. Вы поднимаете вверх свой молот в подходящий момент, а Один посылает на вас мощную молнию ради спасения мира. Потом вы бежите так быстро, как никогда раньше. Если вы с этим справитесь, ничто, конечно же, не сможет противостоять мощи скандинавских богов. А если бы нечто подобное существовало и медленно подкрадывалось к вам...