◀ 실험실로

네비가 굳이 먼 길로 보내는 이유

알고리즘
모형 · 칸 지도 15×9 · 풀 1분
늪 한 칸 3분
다익스트라
가까운 길이
더 늦을 때가 있다

다익스트라

탐색한 칸 수-
길 비용-
길 칸 수-

A*

탐색한 칸 수-
길 비용-
길 칸 수-

곧장 걷기 참고

걸리는 시간-
길 칸 수-
늪을 모르고 목표 쪽으로만

지도 그리기

지도 위를 마우스나 손가락으로 끌어 칠해요. 출발 받침(로봇)과 도착 깃발은 잡아서 옮겨요. 키보드: 지도에서 방향키로 칸을 고르고 스페이스로 칠하기, S·G로 출발·도착 놓기.

길 찾는 방법

시간이 가장 짧은 칸부터 빙 둘러 퍼지며 방문해요.

분
칸/초

지도 크기

크기를 바꾸면 새 지도로 시작해요. 휴대폰에서는 지도를 눕혀 세로로 보여 줘요(왼쪽 출발 → 위쪽 출발).

미션

  1. 이 실험의 미션을 불러오는 중…

미션 달성은 이 기기에만 기록돼요. 결과는 계산을 읽기만 하고 바꾸지 않아요.

무슨 실험인가요?

칸으로 나뉜 지도에서 출발 칸에서 도착 칸까지 가장 빨리 가는 길을 컴퓨터가 어떻게 찾는지 눈으로 봅니다. 풀 한 칸을 지나는 데는 1분, 늪 한 칸은 기본 3분이 걸리고 벽은 지나갈 수 없습니다. 바로 앞에 늪이 있으면 돌아가는 편이 빠를 수 있어서, 눈으로 보기엔 먼 길이 더 빠른 길이 됩니다. 내비게이션이 가끔 먼 길로 안내하는 것도 같은 이유입니다.

두 가지 방법을 겨뤄 봅니다. 다익스트라는 지금까지 걸린 시간이 가장 짧은 칸부터 차례로 방문해, 출발 칸에서 둥글게 번지듯 퍼집니다. A*는 여기에 "도착까지 남은 가로·세로 칸 수"라는 어림값을 더해서, 도착 쪽으로 치우쳐 방문합니다. 둘 다 같은 최단 길을 찾지만, 얼마나 많은 칸을 뒤져 봤는지가 다릅니다.

조건을 바꾸면

  • 늪 한 칸 시간을 1분으로 하면 늪이 풀과 같아서 곧장 가는 길이 가장 빠르고, A*는 13칸만 보고 끝납니다(다익스트라는 73칸). 3분(영상)이면 늪을 돌아가는 18분 길이 늪을 가로지르는 22분 길보다 빨라지고, 100분이면 늪은 사실상 벽처럼 되어 길 비용은 18분으로 같아집니다. 값은 0분부터 9999분까지, 소수도 넣을 수 있습니다.
  • 벽과 늪을 직접 그려 보세요. 도착 칸을 벽으로 막으면 "길이 없다"는 답이 나오고, 이때 두 방법은 갈 수 있는 모든 칸을 다 방문합니다.
  • 둘 다 비교는 같은 지도에서 두 방법을 같은 속도로 나란히 돌립니다. 끝나면 A*가 몇 % 덜 봤는지 보여 줍니다.
  • 곧장 걷기는 늪을 모르고 도착 쪽으로만 가는 길입니다. 최단 길과 시간을 비교하는 용도입니다.
  • 지도 크기를 키워도 이 늪 지도(3분)에서는 A*가 다익스트라보다 대략 절반(49~54%) 덜 봅니다. 칸이 작아지면 화면에서 읽을 수 없는 숫자와 비트는 생략되고 점으로만 표시됩니다.

계산 규칙과 한계

영상 계산(sim.py)과 같은 규칙입니다. 상하좌우 네 방향으로만 움직이고, 어떤 칸에 들어갈 때 그 칸의 시간(풀 1분, 늪 N분)이 듭니다. 같은 값일 때 먼저 볼 칸을 고르는 순서(동점 규칙)도 영상과 같아서, 영상 지도(15×9)에서는 숫자가 그대로 나옵니다. 늪 1·2·3·5·10·100분일 때 다익스트라가 방문한 칸은 73·89·91·85·75·70칸, A*는 13·35·43·37·34·34칸이고 길 비용은 12·17·18·18·18·18분입니다. 난수가 없어서 같은 조건이면 언제나 같은 결과입니다.

A*의 어림값은 영상과 달리 남은 칸 수 × min(1, 늪 시간)으로 일반화했습니다. 늪이 풀보다 빠른 값(0.5분 등)에서도 최단 길이 보장되게 하기 위해서입니다. 늪이 1분 이상이면 영상과 완전히 같습니다. "방문한 칸 수"는 도착 칸을 꺼내는 순간까지 센 수입니다.

대각선 이동, 칸마다 다른 도로 종류, 막히는 시간대는 넣지 않은 아주 단순한 모형이라 실제 내비게이션의 계산을 그대로 보여 주지는 않습니다. 영상의 3D 지도 장면과 효과음도 옮기지 않았습니다. 지도는 최대 41×23칸까지 고를 수 있고, 재현 링크로는 더 큰 지도도 열 수 있습니다.

이 실험의 원본 영상벽 뒤에 숨었는데 게임 속 적이 기어코 찾아오는 이유, 길찾기 알고리즘 A*▶ 유튜브에서 보기

다른 카트리지

재밌었다면 채널에 새 실험 영상이 계속 올라와요.

▶ 채널 구독