PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2013/04/07 21:51:35
Name Neandertal
Subject [일반] 글 올릴 때 마다 바뀐다는 인류 최대의 난제 – P vs NP 문제...

P vs NP 문제: “알고 보면 쉬운 문제가 답을 알기 전에도 쉬운 문제인지 증명하라.”


오늘은 인류 최대의 난제 (쿨럭…--;;) P vs NP 문제에 대해서 알아볼까 합니다.
역시 전공자가 아니라 제 글에 오류가 있을 가능성이 농후하고 오류에 대해서는 지적해 주시면 감사하겠습니다.

상암 월드컵 경기장에 한 가득 건초더미를 쌓아 놓았다고 칩시다. 거기 어딘가에 바늘이 하나 떨어져 있습니다. 그 건초더미들 속에서 숨겨진 바늘을 찾아야 합니다. 바늘을 찾는 사람이 건초를 한 줌씩 쥐고 와서 여러분에게 검사를 맞는다고 가정하면 여러분들이 그 한줌의 건초더미 속에 바늘이 있는 지 없는 지 확인하는 것은 아주 쉽습니다. 확인하는 데 그리 오랜 시간이 걸리지도 않을 것입니다. 하지만 상암 경기장을 가득 채운 건초 더미에서 실제 바늘을 찾은 일은 아주 어려운 작업입니다. 언제 문제가 해결될 지 도저히 가늠할 수가 없지요.

또 다른 예를 들어보겠습니다.
여러분들은 대학교 기숙사 사감입니다. 신학기가 되어서 기숙사에 들어올 학생들을 선발해야 합니다. 기숙사에 들어올 수 있는 인원은 100명인데 신청자는 모두 130명입니다. 그런데 사감인 여러분에게는 기숙사에 들어오면 말썽을 부릴 것 같은 학생들 리스트가 있어서 이 녀석들은 절대로 기숙사 입사가 허용되어서는 안 된다고 칩시다. 여러분 밑에 직원이 130명들 가운데 100명을 추린 리스트를 여러분에게 가져 온다고 합시다. 그런데 불행하게도 그 직원은 기숙사 신청자들 가운데 누가 요주의 인물들인지 모른다고 합시다.

직원이 어떤 명단을 만들어서 가져왔을 때 그 명단이 허용이 될 지 안될지 확인하는 것은 아주 쉽습니다. 직원이 가져온 명단과 여러분이 가지고 있는 요주인 인물 명단을 서로 비교해서 요주의 인물이 한 명이라도 직원이 가지고 온 명단에 들어 있으면 그 명단을 휴지통으로 보내 버리면 되니까요. 그러니까 직원이 가지고 온 명단이 쓸모 있다 없다 여부를 판단하는 것은 아주 쉬운 문제입니다.

하지만 요주의 인물에 대한 정보가 전혀 없는 직원이 제대로 된 명단을 가져오게 되는 일은 전혀 다른 문제입니다. 우선 130명 가운데 100명을 추려서 만들 수 있는 명단의 개수만 무려 (2 x 10의 29승)개 입니다. 여러분이 1 초에 100만 개의 리스트를 확인할 수 있다고 치고 이 확인 작업을 137억년 전부터 해오고 있다고 하더라도 지금까지 여러분이 작업한 리스트는 전체 가능한 리스트의 0.0002%에 불과합니다.

이렇듯 P vs NP 문제는 “답안을 평가하기 쉬운 문제가 과연 풀기도 쉬운 문제인가?”에 관한 것입니다. 위의 예를 들어서 표현하자면 우리는 어떤 사람이 한 줌 쥐어서 온 건초 더미에 바늘이 있는 지 없는 지 알기는 쉽습니다. 직원이 정성스레 엑셀로 뽑아 가지고 온 명단이 쓸 수 있는 지 없는 지 판단하는 것도 쉽습니다. 하지만 실제로 상암 운동장에 가득 찬 건초 더미에서 바늘을 찾는 일, 셀 수도 없이 많은 조합이 있는 기숙사 합격자 명단 조합에서 쓸 수 있는 명단을 직원이 엑셀로 출력해서 여러분에게 가져오는 일도 과연 쉬운가? 하는 질문이라 하겠습니다.

위의 예를 봤을 때 직관적인 대답은 “아니다”인 것 같습니다.
하지만 아직까지 어떤 누구도 “위의 문제들을 해결할 수 있는 쉬운 해결책은 절대로 없다”라는 것을 수학적으로 증명해 내지는 못했습니다.
우리가 아직까지 알지 못하는 기발한 알고리듬이 있어서 위의 문제의 실제 해결이 맞다 아니다를 판단하는 것 만큼이나 쉽게 이루어 질지도 모르지 않겠습니까?
100% 없다라고 장담하실 수 있나요?

여러분이 이 증명을 해 낸다면 100만 달러(오늘 자 환율로 대략 11억 3천만 원)는 여러분의 것입니다.
도전하세요!!!

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
곡물처리용군락
13/04/07 21:54
수정 아이콘
100% 없다고 장담은 못해도 99% 장담은 할 수 있겠네요 정말..
자유인바람
13/04/07 21:55
수정 아이콘
(수정됨) 1
Neandertal
13/04/07 22:03
수정 아이콘
수학적 표현은 있을텐데 대부분의 P vs NP문제를 일반인들에게 풀어서 설명하는 경우는 저런 식으로 예를 들더라구요...
jjohny=Kuma
13/04/07 21:58
수정 아이콘
이번 글 역시 재미있게 읽었습니다.^^
그나저나, '답을 알기 쉬운 문제'보다는 '답안을 평가하기 쉬운 문제' 혹은 '채점하기 쉬운 문제' 같은 표현이 더 적절한 표현일 것 같습니다. ('답을 안다'라는 건 문제를 풀었다는 말이니까요.)
Neandertal
13/04/07 22:02
수정 아이콘
수정했습니다...^^
큐리스
13/04/07 22:05
수정 아이콘
왠지 모르게 급하게 쓰신 게 아닌가 하는 느낌인데요...
P와 NP가 뭔지 궁금하신 분은 위키라도 참고하시길 바랍니다.
http://ko.wikipedia.org/wiki/P-NP_%EB%AC%B8%EC%A0%9C
(물론 이걸 봐도 무슨 뜻인지 모를 수 있습니다...)
Neandertal
13/04/07 22:11
수정 아이콘
외국의 한 신문 기사를 요약한 것이어서 수학적인 부분은 없습니다...
뭐 있다고 해도 제가 이해할 수는 없었겠지요...--;;;
큐리스
13/04/07 22:27
수정 아이콘
아.. 번역을 하신 거였군요.
근데, P와 NP 문제를 약간은 안다고 생각하는데 본문의 예가 오히려 이해가 안 가서요...
이를테면 이미 기숙사 입사가 허용되어서는 안 되는 사람의 명단을 가지고 있으면서 왜 직원들을 고생시키는가 하는 부분이요.
정답(?)을 맞추는 직원에게 포상휴가라도 주려는 걸까요...
아마도 원문이 조금 이상했을 거라고 생각해봅니다.
Neandertal
13/04/07 22:34
수정 아이콘
과문한 저를 탓해 주십시오...--;;;
큐리스
13/04/07 22:40
수정 아이콘
그... 그럴리가요.
.Fantasystar.
13/04/07 22:07
수정 아이콘
그 난제들에 대해서 되게 궁금해서 엔하위키미러를 통해 수학7대난젠가?그거에 대해서 다 하나씩 찾아서 읽어봤습니다.

그리고 머리가 나쁜 전 하나도 제대로 이해 못하고 멘붕만 한채 머리속엔 온통 ???????????????만 남고 페이지를 껏던 기억이 나네요..
아 나는 왜 공부를 안해서 이다지도 머리가 나쁜것일까....
DarkSide
13/04/07 22:12
수정 아이콘
P vs NP 난제는 저도 모호해서 되게 풀기가 애매하더군요 ;;
소문의벽
13/04/07 22:23
수정 아이콘
조금 정확하게 말씀드리면, 푸는데 다항식으로 표현될수 있는 시간만큼이 필요한 문제들의 집합과
맞다고 확인하는데 다항식으로 표현될수 있는 시간만큼이 필요한 문제들의 집합이 같은가. 이죠
그 안의 개별적인 세세한 예들은 사실 무의미하지 않은가요?
13/04/07 22:25
수정 아이콘
컴공에서도 중요한 이슈인 NP문제군요..
이문제는 단순히 수학계에서만 중요한 것이 아닌게 이문제가 풀린다면 가히 알고리즘적으로 풀기 어려원던 실세계에 난제들이 연쇄적으로 다 풀리게 되거든요... 하지만 적어도 제가 죽기 전엔 풀리지 않을거 같습니다..
13/04/07 22:29
수정 아이콘
왜 제 눈에는 phrase와 noun phrase로 보일까요?
꺄르르뭥미
13/04/07 22:56
수정 아이콘
약간의 첨언을 하자면 "쉽게 계산가능하다"의 의미를 영문 wikipedia에 있는 예를 이용하여 설명해보겠습니다. 다음 두가지 문제를 생각해보죠:
[1] 집합 1,3,10은 0을 원소로 포함하는가?
[2] 집합 1,3,10의 원소 중의 일부를 더하여 0을 만들 수 있는가?
두 문제 대답 모두 no입니다. 만일 알고리즘을 짠다면 첫번째 문제는 1이 0인가? => 3이 0인가? => 10이 0인가... 3단계 만에 끝나죠. 그러나 두번째 문제는 1+3은 0인가?=>3+10은?=>1+10은?=> 1+3+10은 0인가?... 4단계가 더 필요합니다.

만일 집합의 크기가 3이 아니라 n이었다면, 알고리즘의 크기는 기하급수적으로 (exponentially) 달라집니다. n개의 원소를 가진 집합 S는 0을 원소로 포함하느냐의 문제는 n번의 algorithm으로 풀이가 가능합니다. 그러나 두번째 문제는, 크기 n의 집합 S의 모든 부분집합을 생각해야하므로 2의 n제곱개의 경우의 수를 생각하여 알고리즘을 짜야합니다. 그래서 두번째의 알고리즘은 "쉽지않다"라고 수학적으로 정의합니다.

P vs NP는 결국 2의 n제곱개의 경우의 수를 모두 따지는 문제를 n의 polynomial order 문제로 바꿀 수 있느냐입니다. 예컨대, 두번째 문제를 n번, 혹은 n의 제곱번, 혹은 n의 세제곱번 만에 풀 수 있는 알고리즘이 있다면 n이 무한히 커질 때 모든 경우의 수를 구하는 것보다 훨씬 쉽게 답을 계산할 수 있죠. 비슷한 예로 100자리 숫자로 만들어진 비밀번호를 풀 때 모든 경우의 수는 10의 100제곱일텐데, 만일 이것을 100의 10제곱으로만 내려도 해커의 입장에서는 훨씬 쉬워지겠죠. 그래서 특히 보안과 밀접한 관련을 가진 수학 문제라고 알려져있습니다.
13/04/07 23:27
수정 아이콘
스타에서 T, Z, P의 프로게이머 40명이 있습니다. 종족은 맵에 따라 선수의 실력 혹은 일반적인 상성관계로 승패가 갈리게 됩니다. 여기서는 10개 조의 풀리그 방식으로, 예선은 무작위 추첨으로 조가 결정됩니다. 그리고 각 조에서 성적이 가장 좋은 선수 4명이 5전제 토너먼트를 펼쳐 우승 여부를 가린다고 합시다. 1) 홍진호가 우승할 수 있는 4강 대진과 맵은? 2)대회가 시작했을 때, 홍진호는 우승할 수 있는가?

물론 홍진호는 우승할 수 없습니다. (댓글 분위기가 너무 진지해서, 농을 해봤습니다..)
피자21
13/04/07 23:54
수정 아이콘
항상 좋은 글 감사드립니다만.. 이번글에서는 비유에서 상당한 오류가 있는거 같아서 부연설명드립니다.

건초더미에서 바늘 찾는 문제는 일단 문제 자체가 애매합니다. 처음에는 바늘이 하나 있다고 가정하고 위치를 찾는 문제처럼 서술하다가 중간에서는 바늘의 존재 여부를 확인하는 문제로 바뀌었네요. 그리고 한 줌에서 바늘을 찾는 문제는 전체 문제의 부분을 푸는 형태이므로 적절한 비유가 아닙니다. 사실 사람 눈이 병렬적으로 답을 찾아서 그렇지 한줌에서 바늘찾기나 운동장에서 바늘찾기나 문제 크기만 달라진거지 같은 문제인거죠. P대NP문제로 비유하려면 바늘의 위치를 알려주고 그 위치에 가서 바늘이 있는지 없는지 확인하는 형태로 비유를 해야겠지요. 그 경우에도 좋은 예라고 보기는 어렵겠지만요.

두번째 명단을 작성하는 문제에서도, 직원이 요주의 인물에 대한 정보를 마찬가지로 가지고 있다고 해야지 적절한 비유가 됩니다. 모르는 경우라면 '내가 아무숫자나 생각해볼테니 맞춰봐'하는 것과 똑같죠. 문제를 조금 변형해서 P대NP문제에 맞게 비유하면..
"기숙사에 학생을 뽑는데 학생중에 몇몇은 같이 기숙사에 넣어두면 안되고 몇몇은 아예 같이 넣어두거나 아예 넣지말거나 해야 하는 등의 조건이 주어져 있습니다. 이 조건 목록을 만족하는 학생을 뽑는게 문제입니다. 단, 조건의 갯수는 그리 많지 않습니다."
이 경우 명단이 주어졌을 때 이 명단이 조건을 모두 만족하는지 확인하는건 어렵지 않습니다. 조건을 하나하나 확인해 보면 되거든요. 그런데 조건을 만족하는 명단을 만드는 일은 쉽게 할 수 있는 방법이 떠오르지 않습니다. 명단을 만들었는데 알고보니 만족하지 못하는 조건이 하나 있을 수 있고, 그 조건을 만족시키려고 명단을 다시 수정해 보니 또다른 조건이 걸리고.. 하는 상황이 발생하는거죠. 조건을 만족하는 명단을 금방 만드는 방법을 찾을 수 있으시면.. 100만달러의 주인공이 될 수 있겠군요.

개인적으로는 P=NP임도 P!=NP임도 증명할 수 없다는데 살포시 피자21판 걸어봅니다.
소문의벽
13/04/08 00:18
수정 아이콘
P!=NP가 무슨 의미인지 여쭤봐도 될까요?
13/04/08 00:30
수정 아이콘
!= 를 ≠ 를 뜻하는 기호로 사용하신듯 하네요
항즐이
13/04/08 04:18
수정 아이콘
증명할 수 없음을 증명하는 거야 말로 너무나 어려운 난제라...
Neandertal
13/04/08 00:06
수정 아이콘
좋은 설명 잘 들었습니다...
역시 잘 모르는 분야는 글을 올리는 게 아닌데 제가 너무 욕심이 많았나 봅니다...
사실은 요즘 읽고 있는 책이 수학 관련 교양서적이어서 이것 저것 자료를 검색해 보는 와중에 이런 것을 같이 알면 어떨까 싶어서 글을 올렸는데 역시나 많이 무리가 있었던 것 같습니다...
글을 삭제할 까 생각했습니다만 댓글 올려주신 분들 성의도 있고 반면 교사로 삼아야겠다 싶어서 그냥 나두겠습니다...
13/04/08 00:33
수정 아이콘
오히려 비전공자가 올리는 글이 더 친근하게 다가올 수도 있습니다. 전공자가 쓰는 글은 심오한 통찰속에 더 쉽게 쓰여질 수도 있지만, 너무 많은 것을 전달하고자 하는 욕심에 과부하가 걸릴 수도 있습니다. 좋은 글 잘 읽고 있습니다.
13/04/08 01:03
수정 아이콘
요즘 Neandertal님의 글을 하나하나 찾아 읽는 재미에 빠져있습니다. 흥미가 없던 소재도 Neandertal님이 써주시면 빠져서 읽게 되네요. 박식하시기도 하시고 아이나 어른이나 어떤 수준의 독자든지 흥미를 잃지 않게 쓰시는 센스와 필력이 탁월하세요. 그래서 앞으로도 글 많이 보고 싶어요.^^
항즐이
13/04/08 04:11
수정 아이콘
P=NP 문제는 대학원 박사과정에서 수업듣는 학생들도 꽤 머리아픕니다. 예시보다는 그냥 드립다 기호로만 배우게 되기는 하지만...
(그놈의 Backpacker's Problem ... 도통 내 두뇌회로에 머물러 주지 않는 너.)

사실 이 증명이 어떤 흐름으로 이루어지고 있는지를 알려면 NP hard, NP complete 같은 개념도 알아야 해서 쉽지 않습니다.

예전에 Pgr에 이를 설명해 주신 분이 있었던 걸로 기억하는데.. 한번 찾아봐야겠네요.
젊은아빠
13/04/08 01:00
수정 아이콘
그래, 영어라서 내가 못알아먹는걸꺼야
항즐이
13/04/08 04:19
수정 아이콘
심지어 수업 다 들은 박사과정 학생도 금방 까먹고 으잉? 하면서 다시 찾아봅니다..
Dr.faust
13/04/08 02:04
수정 아이콘
최근 설문조사로는 약 80%의 관련 수학자 및 컴퓨터 과학자들이 P!=NP라고 믿고 있다고 하죠.
2011년인가 2012년에 HP연구소의 어떤 연구원이 증명했다고 해서 잠시 떠들썩 했었지만 결국 증명 과정에 오류가 있었던 걸로......
항즐이
13/04/08 04:18
수정 아이콘
https://pgr21.co.kr/?b=8&n=24165
찾아보니 과연 있군요.

그때에도 참 많은 사람들을 흥분 시키기도 했고, 일단 이해하는 것 자체가 어려워서 많은 분들이 멘붕하기도 했습니다. 흐흐.
한번 찾아보시면 재미있고 유용한 이야기들이 많이 있죠. Pgr의 보물 찾기..
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
43071 [일반] 10일 북한은 어떤 도발을 할까요? [44] 4thrace8804 13/04/08 8804 0
43070 [일반] 전 세계에서 가장 비싸게 팔린 영화 기념품 Top9 [5] 김치찌개6489 13/04/08 6489 1
43069 [일반] 이순신 장군님의 지혜.. [15] 김치찌개6838 13/04/08 6838 2
43068 [일반] 대한민국 GP의 긴장감 [21] 김치찌개7139 13/04/08 7139 0
43067 [일반] 죽음을 앞둔 작가의 프로포즈 [3] legend6076 13/04/08 6076 0
43065 [일반] 서울 한복판에 '욱일승천기'…역사의식 심각 [152] 타나토노트11313 13/04/08 11313 0
43064 [일반] 있겠죠, 만우절에 진심을 말해본 적 [20] SaiNT6247 13/04/07 6247 7
43063 [일반] 글 올릴 때 마다 바뀐다는 인류 최대의 난제 – P vs NP 문제... [29] Neandertal9462 13/04/07 9462 0
43061 [일반] Ben. [14] '3'5758 13/04/07 5758 0
43060 [일반] [애니] 진격의 거인이 드디어 나왔네요.. [64] 굴리12109 13/04/07 12109 0
43059 [일반] Breakthrough [21] Absinthe 6211 13/04/07 6211 1
43058 [일반] 카풀하다가 사람 때릴뻔했습니다... [136] Eva01021044 13/04/07 21044 1
43057 [일반] 흠 저도 쑥스럽지만 가입 인사 올립니다. [22] 레몬맥콜4791 13/04/07 4791 1
43056 [일반] 레슬매니아 29 최종 확정 대진표 및 배경 스토리 [28] 갓영호7715 13/04/07 7715 3
43055 [일반] 증권발 스마트폰은 어떠세요? [19] Pray4u8073 13/04/06 8073 2
43054 [일반] 라디오에서 들을 법한 반가운 팝송 몇 곡. [5] 깊은밤안개속알파카와춤을4142 13/04/06 4142 0
43053 [일반] 지나치다. [96] 절름발이이리8504 13/04/06 8504 20
43052 [일반] 그런데 소수는 정말 무한하긴 한걸까?...(내용 수정) [43] Neandertal8463 13/04/06 8463 8
43051 [일반] 글쓰기의 무게는 무겁지만 가입인사는 해야합니다. [20] 주키니호박4135 13/04/06 4135 5
43049 [일반] [연재] 간단하게 가는 책 소개 '선셋 파크' [9] par333k5087 13/04/06 5087 0
43048 [일반] 피지알의 수렴진화 [39] 골든리트리버6834 13/04/06 6834 20
43047 [일반] 운동할때 들으면 좋은 음악 list5 [36] 삭제됨8676 13/04/06 8676 2
43046 [일반] 누구나 가슴속에 도서관헌팅 한번쯤은 있는거잖아요? [34] 아마돌이7221 13/04/06 7221 1
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로