一部のプログラマーは、理論的なCSクラス(特に私の学生)との関連性をあまり認識していません。これが私が非常に関連性があると思うものです。今まで見たことがない人のために、バラバラに作り上げていきましょう...
A)プログラミングの問題は、言語に関する質問に言い換えることができます。
B)チューリングマシンは言語を認識します。
C)チューリングマシンは(大きな)整数としてエンコードできます。
D)したがって、可能なチューリングマシンの数は数え切れないほど無限です
E)セットのべき集合は、そのセットのすべての可能なサブセットです。
F)集合が可算無限である場合、そのべき集合はより大きくなります。つまり、可算無限です。
G)したがって、言語が無限である場合、その言語には数え切れないほどの数のサブセットがあります。これらのそれぞれが問題を表しています。しかし、これらの問題を解決するためのチューリングマシンは数え切れないほどあります。そして、チューリングマシンの問題を解決できなければ、解決することはできません。
結論...私たちはすべての問題のごくわずかな部分しか解決できません。
私の質問はほとんどここにあります...
私がこの議論を学生に提示するときはいつでも、彼らは数え切れないほど無限に数え切れないほど行き詰まります。彼らは一般的に強い数学の背景を持っていないので、カントールの対角化の議論を介して説明しようとすると、彼らの目を釉薬にする傾向があります。
通常、私は彼らが把握できる何かを与えるようにしています...カウント数直線の任意の部分に有限のボックスを配置し、それらの数の有限量をキャプチャします...しかし、の任意の部分に有限のボックスを配置します実数直線であり、無限の実数をキャプチャします。数えている数よりも実数が多いという一種の証拠。
最後に私の質問...無限の複数のレベルの概念を、その概念を聞いたことがなく、数学的に傾いていない可能性がある人々にどのように説明しますか?
最終編集:この質問をすることで多くのことを学び、フィードバックに感謝します。「コミュニティウィキ」が実際に何であるかを理解しようとして、私はあまりにも多くの時間を無駄にしました。今日私たちがしていることの多くは昨日の理論だったので、私が感じる理論の質問に対して、一部の人々には固有のバイアスがあることを学びました。しかし、この偏見は当然のことであり、理論の価値については意見が分かれていますが、問題はなく、生徒がどこから来ているのかを理解するのに役立ちます。BSコメントは不要だったと思います。
この質問は、世論調査や2009年の予測に関する質問ではなかったと思います。コーディングの質問とコーディングの答えだけが必要な場合は、その要件を再検討することをお勧めします。私はこの質問をコミュニティウィキに移動しましたが、力の不適切な使用によってそうせざるを得なかったと強く感じています。