Edu at Talk
메인 콘텐츠로 건너뛰기
학문·교양

알고리즘론 — 답이 있는 건 아는데 못 찾는 문제들

택배 100곳을 가장 짧게 도는 경로는 분명히 존재합니다. 그런데 왜 슈퍼컴퓨터로도 못 찾을까요? 'P 대 NP'로 알려진, 컴퓨터과학 최대의 미해결 질문을 알고리즘론으로 풀어봅니다.

  • 알고리즘론
  • 공학계열
  • 컴퓨터공학
  • 계산복잡도
  • P대NP
  • 조합폭발
  • 학문탐구

택배 기사가 하루에 100곳을 돈다. 가장 짧게 도는 순서가 분명히 하나쯤은 있다 — 유한한 경우의 수 안에 답이 들어 있으니까. 그런데 이 최적 경로를 컴퓨터로 정확히 찾으라고 하면, 세상에서 가장 빠른 슈퍼컴퓨터도 우주의 나이보다 오래 걸릴 수 있다. 답이 존재하는데, 찾지를 못한다.

'존재하는 답을 왜 못 찾는가'는 게으름이나 성능의 문제가 아니라, 문제 자체의 성질이다. 이 성질을 정면으로 다루는 학문이 있다.

경우의 수는 왜 이렇게 빨리 폭발할까?

도시가 늘어날 때 경로의 수가 어떻게 커지는지 보자. 도시 몇 곳을 순서대로 방문하는 방법은 순열의 수만큼 있다. 도시가 하나 늘 때마다 후보가 곱절로 불어난다. 몇 곱절이 아니라, 곱하기가 계속 쌓이는 폭발이다. 몇십 개만 넘어가도 후보의 수는 상상하기 어려운 자릿수가 된다.

핵심은 두 종류의 어려움을 나누는 데 있다. 어떤 답을 '검산'하는 것은 쉽다 — 누가 경로 하나를 주면 길이를 더해 확인하면 그만이다. 그런데 '가장 짧은 것'을 처음부터 찾는 것은 후보를 다 훑어야 한다. 검산은 빠른데 탐색은 느린 문제들, 이것이 이야기의 핵심 무대다.

이 현상을 다루는 학문은 무엇인가?

알고리즘론과 그 안의 계산 복잡도 이론이 이 문제를 다룬다. 문제를 '푸는 데 걸리는 시간'이 입력 크기에 따라 어떻게 늘어나는지로 문제를 분류한다. 크기가 커져도 시간이 완만히 느는 문제군을 P, 답을 빠르게 검산할 수 있는 문제군을 NP라 부른다.

여기서 세기의 질문이 나온다. 빠르게 검산되는 모든 문제는 빠르게 풀 수도 있을까(P=NP인가)? 아직 아무도 증명도 반증도 하지 못했다. 이 문제는 오늘날 가장 유명한 미해결 수학·과학 문제 중 하나로 꼽힌다. 답이 '그렇다'로 밝혀지면 공개키 암호를 비롯한 많은 안전장치가 흔들리기에, 정보보안과도 곧장 이어진다.

고등학교에서 배운 무엇과 이어지나?

경우의 수의 폭발은 공통수학1의 경우의 수 단원과 곧장 맞닿는다. 합의 법칙과 곱의 법칙, 순열과 조합이 '후보가 몇 개인지'를 세는 도구다. 도시가 늘 때 경로 수가 순열로 불어나는 것을 직접 계산해 보면, 왜 '전부 확인'이 불가능한지 몸으로 느낄 수 있다.

또 하나는 정보 과목이다. 정렬·탐색 같은 기본 알고리즘을 배우며 '같은 문제도 방법에 따라 걸리는 시간이 크게 다르다'는 것을 경험한다. 그 감각을 문제 전체의 난이도로 확장한 것이 계산 복잡도다.

대학에서는 이걸 어떻게 배우나?

컴퓨터공학과·컴퓨터과학과, 수학과의 일부 전공에서 자료구조·알고리즘·계산이론 과목으로 다룬다. 정확한 최적해를 포기하고 '충분히 좋은 답'을 빠르게 찾는 근사 알고리즘, 무작위를 이용하는 확률 알고리즘 등이 이 어려움에 대응하는 실전 도구로 이어진다. 이론에 얼마나 무게를 두는지는 대학마다 다르므로 개설 과목을 확인하는 편이 좋다.

여기서 뻗어 나갈 탐구 질문 3가지

  1. 도시 수가 5개, 10개, 15개일 때 경로 후보 수를 직접 계산하면, 증가 속도가 어떤 모양으로 커지는가?
  2. 정확한 최적해 대신 '꽤 좋은 경로'를 빠르게 찾는 방법(근사)은 어떤 아이디어로 시간을 줄이는가?
  3. 검산은 쉬운데 탐색은 어려운 문제의 성질을, 암호가 어떻게 '거꾸로' 이용하는가?

한 줄 요약

어떤 문제는 답이 있어도 후보가 폭발해 못 찾는다 — 검산은 쉬운데 탐색은 어려운 이 간극이 컴퓨터과학의 가장 깊은 질문이다.

'풀 수 있다'와 '현실적인 시간에 풀 수 있다'를 구분하는 감각은 공학 탐구의 핵심이다. TimeLevelUp은 이렇게 시작한 궁금증이 탐구로 자라도록 학습 기록을 잇는다.

자주 묻는 질문

Q. 답이 있는데 못 찾는다는 게 무슨 뜻인가요?
'가장 짧은 배달 경로'처럼 정답이 분명히 존재하는데도, 후보의 수가 도시가 늘 때마다 폭발적으로 늘어나 모두 확인하기가 사실상 불가능한 문제들이 있습니다. 답을 '검산'하기는 빠른데 '찾기'는 어마어마하게 느린 것이 특징입니다. 이런 문제군을 다루는 것이 계산 복잡도 이론입니다.
Q. P 대 NP 문제가 왜 그렇게 중요한가요?
빠르게 '검산'되는 문제는 모두 빠르게 '풀 수도' 있는가라는 질문입니다. 만약 그렇다면(P=NP) 암호·최적화·신약 설계까지 많은 것이 뒤집힙니다. 아직 증명도 반증도 되지 않은, 컴퓨터과학 최대의 미해결 문제 중 하나입니다.

에듀엣톡이 돕는 방법

이 글의 내용을 실제 계획으로 옮기고 싶다면생기부레벨업수시합격 매뉴얼학교생활기록부와 진로·전공 방향을 함께 놓고 활동 기록과 세부능력 및 특기사항의 준비 방향을 점검하는 1:1 상담입니다.생기부레벨업 학생부종합전형 상담 살펴보기 →

학습 계획과 실행 점검이 필요하다면 타임레벨업 — 중·고등학생의 하루 공부를 계획부터 점검까지 관리합니다.

상담 신청 전에 카카오톡으로 먼저 물어보기 — 평일 09:00 — 18:00 답변합니다.

이어서 읽기