私は大学院生であり、計算理論のコースを受講しており、求められるとコンテンツを作成するのが大変です。教科書(マイケル・シプサーによる計算理論入門)と講義をフォローできます。しかし、何かを証明するか、特定のTMの正式な説明を考え出すように求められたとき、私はただ窒息します。
そのような状況で私は何ができますか?私の問題は、抽象概念を実際に使用できる程度まで完全に理解することだと思います。新しい抽象的な概念にアプローチし、最終的に直感を構築するための構造化された方法はありますか?
私は大学院生であり、計算理論のコースを受講しており、求められるとコンテンツを作成するのが大変です。教科書(マイケル・シプサーによる計算理論入門)と講義をフォローできます。しかし、何かを証明するか、特定のTMの正式な説明を考え出すように求められたとき、私はただ窒息します。
そのような状況で私は何ができますか?私の問題は、抽象概念を実際に使用できる程度まで完全に理解することだと思います。新しい抽象的な概念にアプローチし、最終的に直感を構築するための構造化された方法はありますか?
回答:
抽象化は、コンピュータサイエンスのほとんどの分野に当てはまりますが、残念ながら明示的に教えることは困難です。
私の意見では、概念を理解することは、物を機械的に計算または証明できるよりも重要です。確かに、あなたはいくつかの基本的な方法の周りのあなたの方法を知る必要がありますが、肉はどこかにあります。
まず、コンテンツをある程度把握する必要があります。このため、不明な点がある場合はいつでも次の質問をすると便利です。
これらの質問に答えた(またはフォローアップの質問を見つけて同じように扱った)後も問題が解決しない場合は、教師(またはここ)にアクセスしてください。今では、焦点を絞った、正確に定式化された質問を定式化できるはずです。このような質問に答えることは、教師の仕事です(そしてStackExchangeの哲学です)。
それ以外は、運動と経験です。プルーフを読んだ後、プルーフを再現してください。それらを暗記するのではなく、重要なアイデアを引き出すように注意してください。しばらくすると、主要なステップ間のギャップを埋めることで、すべての基本的な証明を再現できるようになります。後で、ステートメントと証明のパターンが表示されるようになります。これは、人々が声明を見て、「ああ、確かに、定理YでメソッドXを使用し、次にZを使用して必要なものを取得する」と言う方法です。これは、長年のトレーニングによって強化されたパターン認識です。我慢して。
基本的な演習については、いくつかの教科書を見つけてください。頭の一番上から、Graham、Knuth、Patashnikによるコンクリート数学を参照できます。この本は、コンピューター科学者にとって貴重なツールボックスであるだけでなく、解決策(!)を含む多くの演習も含まれています。回答を検索する前にそれらを解決し、検索する必要がある回答を再現することを忘れないでください。
別の有用な本は、Cormen、Leiserson、Rivest、Steinによるアルゴリズムの紹介です。数学の基礎に関するかなりの章が含まれています。また、多くの演習が含まれています。ソリューションは、リンクされたページ(補足コンテンツ)から入手できます。著者の一人によるビデオ講義もあり、それは本とうまく行くかもしれません。
証明に関する入門講義については、カーンアカデミーの線形代数証明をご覧ください。私はそれらを見ていないが、願わくばそれらが基本的かつ有用であることを望んでいる。カーンアカデミーにはさらに多くの証拠があります。私は、線形代数の証明がコンピューターサイエンスに最も適していると考えています。他の人も見るのをためらわないでください。
理論上うまくいかない人は、基本が間違っているだけであることが最初にわかります(最初の1〜3の講義では、資料は非常に簡単だと思ったので、あまり注意を払っていませんでしたが、講義5〜7では物事がスピードアップし、要約するには遅すぎます)。
@fbernardoが言ったように、最初から始めるのは良い考えかもしれません。FLAほどではありません(TC、IMHOを勉強するときは意味がありません)が、間違いなくSipserを開いて、順番どおりに質問を1つずつ解決してください。経験を積むと、より高度な概念に不可欠な直観力と基本的なツールが得られます。
Sipserの最初の章の基本的な質問(TMで学習する場合はオートマトンの章ではない)に対処できない場合、基本的な証明方法(帰納法など)や基本的なセットなど、さらに基本的な概念が不足している可能性があります。理論と離散数学。
とにかく頑張って!
タイトルで一般的な質問をし、その質問の少なくとも2つの基本的/具体的なポイントを尋ねます。それぞれに良い(別々の)答えがあると思います。
ここでは、最初の項目(本質的に広範でそれに値する)のみに対処します。これは、STEM(科学、技術、工学、数学)教育の部屋にあるゾウのようなもので、短い手間がかかり、しばしば驚くほど光沢があります。証明を構築する方法を教える方法を本当に誰も知らないように見えるかもしれません。このsubjは、ジオメトリ、三角法、微積分のクラスから始まりますが、厳密な要素になることはめったにありません。ほとんどの教師はオプションとして扱います。「ものを証明する方法」に専念するクラス全体が、STEM教育に対する優れた、または重要な追加または変更になると思われます。
以下は、物事を証明する方法をすばやく検索した参考文献です。他にも多くの優れたリソースがあると思います。最近では、検索で検索できるテーマに関するビデオもおそらくたくさんありますが、「ものを証明する方法」タイプのビデオの素晴らしい総合的な組織を見たことはありません。
証明の重要な部分は、数学の基本を習得し、それをすべてツールまたは建築部品として使用することです。たとえば、セットが何であるか、タプルが何であるか、違い/類似性が何であるか、いつ一方を使用し、他方を使用しないかなどを知っています。
別のアプローチは、ドリルのように扱うことです。簡単なものから難しいものまで、自分で練習の練習をたくさんしてください(このような本をもっと知っていたら、たくさんあるように思わないでください)。
リチャード・ハンマックによるBook of Proof-キャラクターやテクニックなどの基本的なキャストを紹介する優れた無料オンライン参照
Imre Lakatosによる証明と反論 -証明に対する反復的、進化的アプローチを強調するsubjの古い古典
ダミーの証明と定理 -ダミーシリーズの書籍によるWebページ