P = NP 문제를 10 세까지 설명


54

이 사이트의 첫 번째 질문입니다. 나는 계산 이론에 대한 석사 과정을 밟고 있습니다. 10 세 어린이에게 P = NP 문제를 어떻게 설명하고 왜 그에 대한 금전적 보상이 있습니까?

당신의 테이크?

머리가 명확 해지면 질문을 업데이트하겠습니다.


11
저의 성향은 이것을 연구 수준의 이론적 컴퓨터 과학 이 아닌 것으로 마무리하는 것 입니다.
Dave Clarke

11
@ 데이브 : 연구자들이 대답해야하는데, 연구자들이가는 곳에 물어 보는 것이 적절할까요?
Jeremy

11
나는 이것이 합리적이라고 생각합니다. "자녀들에게 무 지식 프로토콜을 설명하는 방법"이라는 유명한 논문이 있습니다. 나는 연구 수준으로 간주 될 것이라고 생각합니다. "최고의 답변"을 선택하기 어려울 수도 있지만, 종종 부드러운 질문이있는 경우가 많습니다. 또한이 질문은 충분히 흥미로운 답변이 나오면 사이트에 대한 좋은 광고가 될 수 있습니다. 많은 사람들이 P 대 NP에 대한 설명을 요청할 때 여기에 주어진 답변에 연결될 수 있습니다.
Philip White

7
하지만 실제로 CW 여야합니다.
Suresh Venkat

5
나는 그 질문의 말이 당신이 당신 자신의 질문에 대한 답에 관심이 없다는 인상을 주었기 때문에 동기 부여를 물었습니다 (실제 질문보다는 대화를 시작하는 방법처럼 보였습니다) . 귀하의 답변에 따르면, 당신은 질문을하기 위해이 질문을 한 것으로 보이므로 도움이되지 않기 때문에 대답하는 데 관심이 없습니다. 우리는 스택 오버플로와 다른 문화를 가지고 있지만 현재는 관련이 없습니다.
이토 쓰요시

답변:


33

이 3 개의 슬라이드를 사용하여 NP 문제에 대한 빠른 알고리즘을 만드는 것이 왜 그렇게 어려운지 (불가능합니까?) 보여줍니다.

빈 포장 빈 포장은 NP 완료입니다 1 빈 포장은 NP 완료 2


이해하기 매우 쉽습니다.
toto

4
블록 수가 증가함에 따라 스케일링을 포함하여 "쉬운 방법은 없다"는 확장이 필요하다고 생각합니다
Ian Ringrose

3
아주 좋은 예이지만 문헌에서 Rectangle Packing 문제라고하지 않습니까?
Mohammad Al-Turkistany

1
@ user54609 NP-complete는 다항식 시간에 패킹이 최적임을 확인할 수 없습니다. NP- 완료는 다항식 시간에 솔루션이 실행 가능한지 검증 할 수 있음을 의미합니다 (P == NP가 아닌 경우).
Geoffrey De Smet

1
아, 그래서 결정 문제는 "타당한 해결책이 있는가"입니다. 내가 참조.
ithisa

21

이 대화에서 Scott Aaronson 은이 문제를 다룹니다.

TEDxCaltech-Scott Aaronson-21 세기의 물리학 : Feynman의 그림자에서의 수고

경고 : 이 대화를 할머니 / 10 세에게 직접 보여주지 마십시오. 왜? 그것을보고 당신은 알게 될 것입니다. ;-)

편집 :
아이 8 여왕 퍼즐 을 해결하기 위해 줘 . 또한 시간 제한을주십시오.

그가 해결책을 "찾으면"그는 똑똑한 아이입니다. CS를 바로 가르치기 시작할 수 있습니다. :)
그렇지 않으면 그에게 해결책을 보여주고 그 것이 맞는지 "확인"하도록 요청하십시오.

ClassCheckFindExamplePEasyEasyMultiply numbersNPEasyHard8 queens

P 는 컴퓨터가 쉽게 솔루션을 "찾을"수있는 문제의 집합입니다.

NP 는 컴퓨터가 솔루션을 쉽게 "찾을 수"없지만 솔루션을 쉽게 "확인"할 수있는 문제의 집합입니다.

솔루션을 그렇게 쉽게 "확인"할 수 있다면 왜 쉽게 "찾을"수 없습니까?

CS에서하는 일은 문제를 해결하거나 아무도 할 수 없다는 것을 증명하는 것입니다.

누군가 NP 문제에 대한 솔루션을 쉽게 찾을 수있는 알고리즘을 발명하면 표는 및 입니다. P=NP

ClassCheckFindPEasyEasyNPEasyEasy
P=NP

그리고 누군가 문제에 대한 솔루션을 "찾을"알고리즘을 찾을 수 없다는 것을 증명 하면 테이블은 동일하게 유지되며 입니다.PN PNPPNP


3
아마도 당신은 Scott의 설명의 본질을 요약 할 수있을 것입니다.
Dave Clarke

2
나는 항상 모든 P = NP 소란이 무엇인지 궁금했다.
Lee Kowalkowski

P ∈ NP 이후 NP의 비 P 부분에 대해 이야기하고 있음을 분명히 할 수 있습니다.
David

+1이 글에서 많은 해답을 얻었지만 이것은 P와 NP가 무엇을 의미 하는지를 정의하려는 유일한 시도입니다!
Mark E. Haase

"솔루션을 쉽게"확인 "할 수 있다면 왜"쉽게 찾을 수 없습니까? " ---이 질문은 아직 답변되지 않았습니다! 그렇지 않으면 나에게 가장 좋은 대답입니다.

19

사람들이 컴퓨터를 사용하는 주요 기능 중 하나는 검색입니다. Google과 같은 프로그램은 "검색 엔진"이라고도하며 하루에 수백만 번 사용됩니다. 컴퓨터는 최근 엄청난 양의 데이터를 검색 할 수 있었기 때문에 Jeopardy에서 인간을 이겼습니다.

그러나 컴퓨터조차 검색하기 어려운 것들이 있습니다. 이상하게 들립니까? 한 예는 역 곱셈입니다. 물론 "5 곱하기 3이란?" 당신은 나노초에 "15"라고 말할 수 있습니다. 그러나 "어떤 두 숫자가 함께 21을 곱한 지?"에 대한 답은 무엇입니까? (답을 기다립니다, 7 x 3) 맞습니다! 자, 어떤 두 숫자가 23을 곱한 것입니까? (답변 또는 좌절을 기다립니다.)

23을 곱한 유일한 두 숫자는 1과 23 자체입니다. 생각이 좀 들었어? 23은 소수입니다. 숫자가 수백 자릿수인지 생각하십시오. 그리고 세상에서 가장 좋은 프로그램은 7 살짜리 아이가 시도한 것보다 곱셈을 훨씬 더 잘 바꿀 수 없다는 것입니다. 컴퓨터가 더 빨리 할 수는 있지만, 컴퓨터가 더 똑똑해 지도록 하는 방법은 실제로 모른다 . 사람들은 이런 것들에 박사 학위를 얻습니다. 그들은 컴퓨터에게 역 곱셈을 조금 더 똑똑하게하는 방법 만 알고 있습니다.

따라서 더 똑똑한 방법이 없을 수도 있습니다. 그러나 어쩌면 존재하지만 아직 찾지 못했습니다. 그 한마디에 P / NP 문제이다 : 지금 당장 대답을 인식 할 수있는 경우 - 23 23 1 번 대만족 - 그 날이 도움이 되나요 검색 답 빨리? 사람들은 대답을 이해하는 사람이 그렇다고해서 백만 달러를이기는 것이 매우 중요하다고 생각합니다.


4
좋아요 팩토링이 우연히 나쁜 예 (또는 그렇지 않은가)라는 것은 중요하지 않습니다.
Raphael

4
팩토링은 Mike Sipser가 Clay Mathematics Institute의 "일반 대중에게 P / NP 설명"비디오에서 사용한 예입니다. 나는 그것이 그를 위해 충분히 좋은지 알아 .....
Aaron Sterling

3
아직 곱셈을 공부하지 않은 학생들에게 부분 집합 합계 문제를 설명 할 수 있습니다!
Tegiri Nenashi

16

P 대 NP 문제는 스도쿠 측면에서 매우 부드럽게 설명 될 수 있다고 생각합니다. 나는 열 살짜리가 스도쿠에 익숙하다고 가정합니다. 나는 나의 설명에서 엄격함보다 단순성을 선호하려고 노력할 것이다.

P = NP를 가상의 10 살짜리에게 설명하려는 나의 시도는 다음과 같습니다.

완료되지 않은 스도쿠 퍼즐이 있고 끝내기를 원한다면 정말 어려울 수 있습니다. 반면에 친구가 문제를 끝내고 산술을 잘하면 친구의 퍼즐 솔루션이 올바른지 확인하기가 어렵지 않습니다.

P = NP 질문은 아직 완료되지 않은 스도쿠 퍼즐을 해결하는 매우 빠른 단계별 프로세스가 있는지 묻습니다. 단계별 프로세스는 매우 명확하고 이해하기 쉬워 컴퓨터조차도이를 이해하고이를 사용하여 스도쿠 퍼즐을 자동으로 매우 빠르게 해결할 수 있습니다. 이렇게 빠른 단계별 프로세스가 있다면 수학자들이 "다항식 시간 알고리즘"이라고 부릅니다 (나이가 나이가 들었을 때의 의미를 설명하겠습니다).

실제로 컴퓨터 과학자와 컴퓨터 프로그래머는 스도쿠만큼 해결하기 어려운 많은 퍼즐과 매우 중요한 문제를 발견했습니다. 컴퓨터가 가능한 많은 작업을 더 빨리 수행 할 수 있도록 도와 줄 수 있기 때문에 이러한 문제를 해결할 수 있는지 아는 것이 매우 중요합니다. 예를 들어 열차를보다 효율적으로 예약하고 비밀 코드를 위반하며 인공 지능이 가능한 스마트 컴퓨터를 만드는 데 도움을 줄 수도 있습니다.

사람들이 P = NP를 풀 수 있다면 아주 좋은 일들이 많이있을 것입니다. 물론 비밀 메시지를 사용하여 개인 메시지를 더 이상 비밀로 유지하는 것이 더 어렵 기 때문에 몇 가지 문제도 있습니다.

대부분의 똑똑한 수학자들은 P = NP가 사실이 아니라고 생각합니다. 다시 말해, 대부분의 사람들은 아무도 정말 어려운 스도쿠 퍼즐을 빨리 풀 수 없을 것이라고 생각합니다. 그러나 P가 NP와 같지 않다는 것을 아무도 입증 할 수 없었기 때문에 Clay Mathematics Institute라는 단체는 P = NP가 사실이라는 첫 번째 증거 또는 첫 번째 증거로 백만 달러의 상금을 제공하고 있습니다. 그것이 틀렸다는 증거.

보시다시피, 나는 "10 살짜리에게 설명해"문자 그대로 조금 가져갔습니다. :)

도움이 되었기를 바랍니다.


10 살짜리 스도쿠 퍼즐이 무엇인지 알 수는 있지만 아주 좋은 시도입니다.
chazisop

2
@chazisop 경험상, 스도쿠 퍼즐의 기본 버전 (예 : 4x4 그리드)이 3 학년과 4 학년 학생들에게 운동으로 주어 졌다고 말할 수 있습니다.
밥 프레이저

n1000

1
@Mohsin, 천만에요. @Raphael, 나는 P와 NP를 떨어 뜨릴 필요가 없다고 생각한다. 열 살짜리 소년은 P와 NP의 의미를 알 필요없이 문제에 대한 나의 정의를 받아 들일 수 있으며 문제를 언급하지 않고 어떻게 문제를 설명 할 수 있는지 잘 모르겠습니다. :) 또한, 나는 완전한 정확성보다 명확성을 선호한다고 말했다. 따라서, "매우 빠른"과 "다항식 시간"을 상호 교환하여 사용하는 것이 불공평하다고 생각하지 않는다.
Philip White

내 요점은 "빠른"사용은 명확성을 만들지 않는다는 것입니다. P = NP라고 가정하면, "유일한"문제는 "빠른"해결할 수 없지만 고도로 다 항적으로 만 가능한 문제에 대한 "빠른"알고리즘을 찾고 있다는 것입니다.
Raphael

8

다음은 어머니에게 설명하는 방법입니다.

해결책을 찾기는 쉽지만 (P는 적지 만 "쉽게 해결할 수있다"는 문제), 주어진 해결책이 올바른지 쉽게 확인할 수있는 문제 (NP는 있지만 "쉽게 확인할 수 있음"이라고하자. ) 및 쉽게 해결할 수 없거나 쉽게 확인할 수없는 문제. 간단하게하기 위해 "쉬운"이 공식적으로 정의되어 있고 각 문제마다 고유 한 해결책이 있다고 가정합니다.

이제 사람들은 "쉽게 해결할 수있는"과 "쉽게 확인할 수있는"이라는 두 가지 개념 사이의 흥미로운 관계를 (수학을 사용하여) 증명할 수있게 되었기 때문에 일부 문제는 쉽게 해결할 수없고 일부는 쉽게 확인할 수 없습니다. 이러한 결과의 기본 예는 쉽게 해결할 수있는 문제도 쉽게 확인할 수 있다는 것입니다. 솔루션을 찾아 주어진 솔루션과 비교하면됩니다.

많은 실질적인 문제 (교수와 교실에 학생들을 배정 할 수 있는지, 마진이 거의 없는지를 결정하는 것과 같은)를 결정하기에 충분히 열중 할 정도로, 그것을 해결하는 "쉬운"방법이 있는지는 알 수 없지만 솔루션이 올바른지 쉽게 확인하는 방법이 알려져 있습니다. 사람들은 많은 노력을 기울이고 실패한 후에도 불가능하고 실패했음을 증명하려고 노력했습니다. 어떤 사람들은 쉽게 확인할 수있는 모든 문제를 쉽게 해결할 수 있다고 생각하고 (우리는 그것에 대해 더 많이 생각해야 함) 반대로 일부 사람들은 이러한 문제에 대한 쉬운 해결책을 찾기 위해 시간을 낭비해서는 안된다고 생각합니다.

우리가 알게 된 것은 문제 (예 : 학교에가는 방법을 알고 있다면 바로 앞에있는 빵집에가는 방법을 알고 있음)와 쉽게 확인할 수있는 다른 모든 문제와 관련된 쉽게 확인할 수있는 문제 ( NP- 완료, 그러나 "핵심 문제"라고 부르겠습니다. 누군가 언젠가 누군가 주요 문제 중 하나가 쉽게 해결되면 쉽게 확인할 수있는 모든 문제도 쉽게 해결할 수 있습니다 (P = NP). 한편, 누군가가 주요 문제 중 하나를 쉽게 해결할 수 없다는 것을 보여 주면, 다른 어느 것도 쉽게 해결할 수 없습니다 (즉, P <NP).

따라서 문제는 열광적이고 실제적으로 상대적으로 중요하지만 (일부에서는 "쉬운"의 대체 정의에 초점을 두어야한다고 주장하지만) 사람들은 토론에 많은 돈과 시간을 투자하고 있습니다.



1

나는 핵심 개념을 잘못 표현하지 않고 10 세 또는 평신도에게 그 문제를 설명 할 가능성에 대해 약간 회의적입니다.

찾기와 검사 솔루션의 "쉬움"과 "경도"의 관점에서 공식화 된 모든 설명은 Cobham의 논문을 가정합니다. 이것은 일반적인 경우에는 틀린 것으로 생각되며 기껏해야 일반적으로 경험할 수 있습니다.


이것은 질문에 대한 답변이 아닙니다.
Dave Clarke

왜 안돼? 문제는 "10 세 아동에게 P = NP 문제를 어떻게 설명 할 것인가"였으며 제 대답은 문제를 잘못 설명하지 않는 적절한 설명이 존재하지 않는다는 것입니다. 물론 내 대답에 동의하지 않을 수 있지만 왜 질문에 대한 답변이 아니라고 주장합니까?
Antonio Valerio Miceli-Barone

3
내 의견으로는, 나는 동의하지 않지만 가능한 대답입니다. "실제 세계에서 효율적으로 해결 될 수있는 일련의 문제"와 같은 것으로 P를 무의식적으로 식별 할 수 없다는 것은 사실입니다. 그러나 이것이 P =? NP 문제를 직관적 인 수준의 열 살짜리 아이. 예를 들어, 열 살짜리 아이들은 원의 넓이를 배웁니다. 영역을 엄격하게 처리 하려면 세심한주의가 필요하지만 영역 개념을 직관적 인 수준으로 유용한 방식으로 가르 칠 가능성을 배제하지는 않습니다.
이토 쓰요시

P

1
P

1

전함 또는 최근 비디오 게임과 같은 다양한 클래식 보드 게임의 승리 전략은 NP 완료로 입증되었습니다. 이는 초보자에게 핵심 이론을 제시 / 설명 할 수있는 훌륭한 방법 / 각도입니다.

NP 완전한 결정 문제로서의 전함 Merlijn Sevenster ICGA 저널 2004 년 9 월

minesweeper는 수학자 RW Kaye의 NP 완전한 FAQ 입니다. 수학 지능의 2000 년 봄호 (볼륨 22 번호 2, 페이지 9-15)

게임은 어려운 일이지만 누군가해야합니다! Giovanni Viglietta의 arxiv 논문. Pac-Man, Tron, Lode Runner, Boulder Dash, Deflektor, Mindbender, Pipe Mania, Skweek, Prince of Persia, Lemmings, Doom, Puzzle Bobble 3 및 Starcraft의 계산 복잡성을 분석합니다.

팩맨은 종이 위의 극한 기술 잡지 기사입니다.


또한 참조 NP-COMPLETE 퍼즐의 설문 조사 켄달, 파크스, Spoerer 및하여 알고리즘 조합 적 게임 이론 : 알고리즘 재생 게임 Demaine 및 헌에 의해을
vzn

0

그리고 여기에 문제가 있습니다.

키도!

우리는 인생에서 많은 문제에 직면한다는 것을 알고 있습니다. 당신은 도전을 말할 수 있습니다. 일부는 어렵고 일부는 더 쉽습니다. 예를 들어, 종종 두 개의 숫자를 추가해야합니다. 그리고 지난 저녁, 우리는 체스 판에 있었고 우리 이웃과 이겨야했습니다. 글쎄, 두 단계를 추가하는 것은 제한된 단계와 관련된 간단하고 직접적인 문제입니다. 이러한 문제를 P 클래스 문제라고합니다. 솔루션을 얻기 위해 반복해서 반복해야하는 불연속적인 단계로 인해 매우 간단한 문제가 많이 있기 때문입니다.

어제 밤 우리 가슴 게임에서 이길 수있는 가장 좋은 전략은 무엇입니까? 우리는 첫 번째 폰을 ​​한 단계 또는 두 번째 폰을 ​​한 단계 옮길 수 있습니다. 또는 두 번째 폰을 ​​두 단계로 옮길 수 있습니다. 그러나 우리에게 또는 레시피를위한 방법이 있습니까? 그래서 당신은 각 단계마다 하나의 가능성이 많기 때문에 열심히 끝내는 것을 볼 수 있습니다. 칼 세이건의 말과 같이 수십억과 수십억이

하지만 모든 이사회의 위치를 ​​말하고 검사원인지 물어 보면 어떻게 될까요? 분명히 당신은 몇 번의 시험으로 왕에게 법적 조치가 남아 있는지 신속하게 알 수있을 것입니다.

따라서 해결하기 어려운 문제이지만 몇 가지 간단한 단계만으로 솔루션을 쉽게 확인할 수 있으면 NP 문제라고합니다.

이제 P = NP가 무엇을 의미하는지 묻습니다. 실제로이 질문은 우리가 간단한 추가를 위해하는 것처럼 수십억 가지 가능성을 모두 거치지 않고 체스 게임을위한 최고의 전략이나 순서가 지정된 이동 목록을 찾기위한 더 간단한 해결책을 찾을 수있는 방법이 있다는 것을 의미합니까? 이 간단한 질문은 아직 답이 없습니다. 우리는 그것이 진실인지 거부인지에 대한 증거는 없지만, 그렇게한다면 획기적인 결과가 될 것입니다. 그것이 사실이라면, 우리 문명은 매우 복잡한 탐사선을 P 계급 문제로 바꿔서 해결할 수 있습니다. 사람들은 몇 초 만에 암호를 깰 수 있고, 메시지는 훨씬 더 많이 해독 될 것이며,이 문제는 밀레니엄의 가장 중요한 문제 중 하나로 간주됩니다.


텍스트를 강화하는 것이 좋습니다. 이 소리내어 읽어 보셨습니까?
András Salamon

내가 생각하는 수학적 정의처럼 모든 것을 강화해서는 안됩니다.
Mohsin Hijazee

텍스트를 너무 많이 조이면 일반 개념에는 다음 개념으로 넘어 가기 전에 한 개념을 이해하기에 "공간"이 충분하지 않습니다.
Ian Ringrose

n×n

이 링크는 이전보다 더 명확합니다 : cstheory.stackexchange.com/questions/6563/…
Juan Bermejo Vega
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.