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.
알맞은 때에 망치를 높이 들어 올리면 오딘이 세상을 구할 번개를 내립니다. 그 다음 여러분은 젖먹던 힘을 다해 달려야 할 겁니다. 여러분이 성공한다면, 신들의 앞을 가로막을 건 없을 겁니다. 만약 여러분에게 또 다른 괴물이 다가오고 있다면... 글쎄요. 그 얘기는 다음으로 미룹시다.