문제 교육 계산 성


22

계산 함수의 개념을 가르치는 데 어려움이 있습니다. Hilbert / Ackermann / Godel / Turing / Church / ...와 같은 연구원들이 왜 '계산 성'이라는 개념을 발명했는지에 대한 아이디어를 개발하려고 노력했습니다. 학생들은 즉시 물었습니다 : "계산은 무엇을 의미합니까?" 튜링 머신을 가르치지 않으면 대답 할 수없고 "튜링 머신이 계산하면 함수를 계산할 수 있습니다"라고 대답합니다.

그래서,

Turing machine, λ-calculus 또는 이와 유사한 계산 모델에 의존 할 필요가없는 계산성에 대한 설명이 있습니까? 직관적 인 설명만으로도 충분합니다.


10
"컴퓨터가 계산할 수있는 모든 기능"? 학생들이 잘 알기 때문에 보통 프로그래밍 언어에 의지합니다. 또한 알고리즘의 직관적 정의로 "함수를 계산하는 레시피"를 시도했습니다.
Michaël Cadilhac

5
이산 역학 시스템의 진화를 제한된 수의 단계로 제어하는 ​​유한 규칙 세트로 해결할 수 있다면 문제를 계산할 수 있습니다.
Mohammad Al-Turkistany

1
또한, 힐버트의 10 번째 문제를 사용하여 학생들에게 왜 풀 수 없는지, 그리고 풀리지 않는 증거가 수학에서 계산의 개념을 공식화하는 이유를 설명 할 수 있습니다.
Mohammad Al-Turkistany

또 다른 질문 : Church-Turing Thesis는 다른 "합리적이고 일반적인"계산 모델의 일부 기계로 계산할 수있는 경우에만 일부 튜링 기계에서 함수를 계산할 수 있다고 기술합니다 [Goldreich, 2008]. 따라서 모델 독립적 인 계산 성 개념을 생각할 수 있습니까?
MS Dousti 2019

답변:


37

75 년 전에는 컴퓨터가 없었습니다. 따라서 컴퓨터 의 수학적 아이디어를 매우 신중하게 설명해야했습니다 .

오늘날 모든 사람들은 컴퓨터가 무엇인지 알고 있으며 아마도 대부분의 시간 동안 컴퓨터를 가지고 다닐 것입니다. 테이프를 사용하는 기계의 구식 아이디어를 건너 뛸 수 있기 때문에이를 가르치는 데 매우 성공적으로 사용할 수 있습니다. 누가 테이프를 사용합니까? (나는 당신이 모욕을 느끼고 Turing은 위대한 사람이었고 모든 것을 알고 있으며, 나는 당신에게 동의한다는 것을 알고 있습니다.)

수업에 들어가서 물어보십시오. 그래서 iPhone에서 계산할 수없는 것이 있습니까? 이것은 즉시 제한된 자원에 대한 질문으로 이어집니다. 그렇다면 당신은 말합니다 : 당신의 컴퓨터가 실제로 무제한의 메모리를 가지고 있다고 가정하면, 계산할 수없는 것이 있습니까? 그리고 당신은 조금 더 이상화하고 숫자 이론적 기능에 대한 관심을 제한합니다 (현재 페이스 북에 관심이 없기 때문에). 컴퓨터가 어떻게 작동하는지 약간 설명해야합니다 (설명에서 언급했듯이 학생들이 하드웨어를 설명하는 대신 사용할 수 있기 때문에 프로그래밍 언어를 알고 있으면 좋습니다). 결과 도출 이론. 기계에 대한 학생들의 정신적 인 그림이 iPhone이라는 것은 중요하지 않습니다. 실제로, 그것은 중요합니다 :iPhone이 특정 작업을 수행 할 수 없다는 것을 알기에 더 관련 이 있습니다.


2
콘크리트 (iPhone)에서 초록으로 넘어 가기 때문에 저는이 주장을 아주 좋아합니다.
Suresh Venkat

2
흥미로운 퍼즐이 있습니다 : Haskell의 smn 및 utm 정리는 무엇입니까?
Andrej Bauer

18
"75 년 전에는 컴퓨터가 없었습니다." 이것은 단순히 거짓입니다. 75 년 전에는 많은 컴퓨터가있었습니다. 그들은 인간, 주로 여성이었다. 그들은 수학 학위, 기계 및 슬라이드 규칙 추가와 같은 몇 가지 기본적인 기계 계산 도구, 그리고 많은 종이를 가지고 있습니다. 이 컴퓨터는 2 차 세계 대전 당시 폭탄 프로젝트와 폭탄에도 불구하고 맨해튼 프로젝트와 Bletchley Park의 중추였습니다. 이것이 튜링이 모델링 한 컴퓨팅 환경입니다 : 연필과 종이를 가진 사람.
Jeffε

10
@Jeffe : 자, 당신은 내가 무슨 뜻인지 알고 있습니다.
Andrej Bauer

8
@JeffE : 우리는 당신의 가설을 테스트 할 수 있습니다. 동료에게 가서 "짧은 치마를 입은 컴퓨터"의 그림을 그리도록 요청하십시오. 얼마나 많은 사람을 끌어들 였는지보고하십시오.
Andrej Bauer

12

"입력에서 출력으로 이동하는 '유효한 절차'가있는 경우 기능을 계산할 수 있습니다." 이 주제를 소개 할 때, 나는 과거에 그들 (학생들)이 2 차 방정식을 푸는 데 효과적인 절차를 가지고 있지만 5도 이상의 방정식을 푸는 방법은 없다고 지적했습니다. 이것은 '유효한 절차'를 공식화하는 방법에 대한 논의로 이어질 수 있지만, 그 논의는 당신이 일어나고 싶어하는 일이므로 버그가 아닌 기능이라고 생각합니다.


3
Nitpicking : Abel–Ruffini 정리 는 5도 이상의 다항식에 대한 대수적 해법, 즉 근호의 해 는 없다고 말합니다 . 그러나 Bring radical 과 같은 방법 으로 quintic equations의 closed-form 솔루션을 얻을 수 있습니다.
MS Dousti

당신의 nitpicking은 실제로 맞습니다. 계산 가능성을 논의 할 때 "허용 된 작업"과 같은 것에 대해 이야기하고 싶으며 다항식에 대한 솔루션은 더 자세히 볼수록 복잡 해지는 것 중 하나입니다. 그러나 소개를 위해, "유효한 절차"라는 단어와 2 차 공식에 대한 언급이 훌륭한 출발점이 될 것입니다. 그것들은 완전히 정확하지는 않지만 직감은 IMO입니다.
피터 부스

8

아마도 핵심은 이러한 모든 모델이 계산 성의 개념을 포착하는 것을 목표로 한 것입니다. 그들 모두가 동등하다는 사실은 그들이 포착하려는 개념이 강력하다는 것을 의미합니다. 따라서 이것이 딜레마를 피할 수는 없지만이 견고성은 "기능을 계산하는 튜링 머신이 있으면 계산할 수 있습니다"라는 개념에 대한 신뢰를줍니다.


6

"컴퓨터가 설득력있게 대답 할 수없는 질문이 있습니까?" "나무가 숲에 떨어지면 소리가 나는가?"와 같은 철학적 질문에 대한 토론을 주도합니다. 또는 "내세가 있습니까?" 우리는 인간 언어가 역설이나 수학적으로 표현할 수없는 개념과 관련된 예 / 아니오 질문을 표현할 수 있다는 데 동의합니다.

그런 다음 컴퓨터에 표현할 있는 개념 ( 예 : 정수 및 그래프)에 대해 계산할 수없는 질문이 있는지 수사 학적으로 묻습니다 . 예, 하나의 예는 유명한 정지 문제입니다. 프로그램의 설명을 검토하고 무한 루프가 있는지 여부를 말하는 것입니다. 직관적으로, 무한 루프는 블랙홀과 같으며 무한 루프를 관찰하는 모든 프로그램은 무한 루프 자체에 갇힐 수 있습니다. 따라서 해당 문제에 답하는 절차는 영원히 실행될 수 있으므로 "알고리즘"의 정의에 의해 어떤 알고리즘도 정지 문제에 답할 수 없습니다.

그런 다음 튜링 머신의 증거로 다시 뛰어 들었습니다.


0

함수는 특정 패턴에 의해 형성되거나 생성 된 입력을 받아들이면 계산 가능합니다. 특정 패턴은 모든 입력에 관계가 있어야 함을 의미하며 특정 입력은 이전 또는 다음 입력에 의해 생성 될 수 있습니다. 입력에 이러한 유형의 시퀀스가 ​​없으면 수용 할 수있는 모델이나 함수를 개발할 가능성이 없습니다. 더 말하고 싶은 한 가지는 기계와 인간 사이에 기본적인 차이가 있다는 것입니다. 비 순차 입력을 위해 기계를 구성 할 수는 없었지만 인간은 그렇지 않습니다. 또한 이것은 실제 인간 행동 로봇을 만드는 데 큰 방해가됩니다.


문제는 계산 성을 가르치는 것입니다. 답변을 해당 질문에 대답하는 자료로 제한하는 것이 좋습니다. OP가 학부생을 가르치고 있으므로 개인 의견 (예 : 마지막 세 가지 진술)이 적용되지 않을 수 있습니다.
Vijay D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.