正式なメソッドへのパス


20

数学とコンピューターサイエンスの正式な側面の限られたバックグラウンドのみで博士号を取得する学生を見るのは珍しいことではありません。明らかに、そのような学生が理論的なコンピューター科学者になることは非常に難しいでしょうが、正式な方法を使用し、正式な方法を含む論文を読むことに精通できれば良いでしょう。

正式な方法を含む論文を読んで、最終的にはそのような正式な方法を使用する論文を書くために必要な露出を得るために、博士課程の学生をたどる良い短期パスは何ですか?

コンテキストの観点からは、理論Bと形式的検証の観点から、彼らが学ぶべきものとして考えていますが、オートマトン理論などの古典的なTCSトピックも考えています。


9
「若い男、数学では物事を理解していません。-ジョン・フォン・ノイマン残念ながらそれに慣れるには、少なくとも私の場合は何年もかかります:)
uli

1
なぜ一部の人々(必ずしもあなた、デイブ)がCSの包括的な学士/修士課程(約5年)をいくつかのコース単位に置き換えることができると思うのかと思います。
ラファエル

「理論B」とは、「Bメソッド」のことですか?en.wikipedia.org/wiki/B-Method
スティーブンショー

@StevenShaw:いいえ。理論Bは、オートマトン/複雑さとは対照的に、セマンティクスなどをカバーしています。
デイブクラーク

「理論B」のことは聞いたことがありません。cstheory cstheory.stackexchange.com/a/1523/9552
Steven Shaw

回答:


14

彼の著書「数学の発見、理解、学習、および問題解決の指導について」の序文で、ジョージポリヤは次のように書いています。

問題を解決することは、水泳、スキー、ピアノを弾くなどの実践的な芸術です。あなたはそれを模倣と練習だけで学ぶことができます。この本はあなたにすべての扉を開き、すべての問題を解決する魔法の鍵を提供することはできませんが、模倣の良い例と練習のための多くの機会を提供します:水泳を学びたいなら、あなたは問題を解決しなければならない問題解決者になりたい。

特に論文を書く状態に到達するための短い道はないと思います。それには多くの練習が必要です。

いくつかのポインター:

「数学と形式的側面の限られた背景」が「証明を考えたことも書き留めたこともない」ことを意味する場合、このようなことが始まりかもしれません。

何か場合は理論コンピュータサイエンスカンニングペーパーは、生徒が不安に感じさせる、その後、数学の応じて枝の再教育コースがお勧めでしょう。

数学の記述には多くの情報源があります。おそらく、1978年のスタンフォード大学CS209コースの講義ノート。または、Paul Halmosによるこの記事。


3
私はショートカットを求めていません。むしろパス(短い)。
デイブクラーク

@JD OPの質問は、「数学の限られたバックグラウンドとコンピューターサイエンスのフォーマルな側面」と「フォーマルな方法の使用と論文の読解に精通する」というものです。学生が数学やTCSで使用されている形式主義にさらされているのが限られている場合、理論的なトピックに取り組むのは良くありません。彼は、次のステップを実行する前に、まず基本に取り組む必要があります。私はただ道の始まりを指していた。
ウリ

9

Z、B、TLA、CafeObjなどの形式的なメソッドは、型、データ、および計算の概念をモデル化するために、集合論、論理、カテゴリ理論、ラムダ計算、およびオートマトンに大きく依存しています。

DinesBjørnerとMartin C.Henson編によるLogics of Specification Languages、Monoregraphs in Theoretical Computer Science、Springer Verlag、2008などの包括的なモノグラフに飛び込んで、必要に応じて学習し、そこから引用されたリファレンスを使用することができます または、1つのトピックを一度に学習します。

  1. 集合論
  2. 数理論理学
  3. 時相論理
  4. ユニバーサル代数
  5. ラムダ計算
  6. カテゴリー理論

良い提案ですが、そのモノグラフが最初から少し濃いのかどうか心配です。確かに重いです。
デイブクラーク

5

「正式な」方法は教育目的にはあまり良いアイデアではないと思います。さらに言えば、コンピューターのプログラミングは「正式な」方法です。教育ツールとして成功しますか?

必要なのは、理解、直観、および抽象化に対処する能力です。正式な方法はそれをすべて妨げます。むしろ、構文に焦点を合わせて、試行錯誤、ハッキング、パターンマッチング、模倣を促進します。リストは延々と続く。

厳密な数学のどの部分も、正しく推論する方法を人々に教えます。ドメインが単純であるほど、優れています。ユークリッド幾何学を真剣にやったときに高校で学んだ推論について学んだことすべて。大学の微積分と線形代数が残りを行いました。

別の魅力的な代替手段は哲学的論理であり、人々がステートメントについて考え、情報内容とは何か、そしてその結果は何かを理解する方法を人々に教えます。彼らはシンボルで生徒をdrれさせることなくそれをします。

すべてのトップコンピューターサイエンティストの在庫を取得すると、哲学の正式なトレーニングを受けている人がどれだけいるかに驚くでしょう。哲学の学生たちがコンピューターサイエンスをありふれた科目だと考えるようになったため、私たちはすべてを失いつつあります。生徒に哲学を学ばせることは、ある程度それを打ち消す可能性があります。バートランドラッセルの西洋哲学歴史を通して彼らを働かせてください。それは驚くべきことです。

プログラミング言語の理論で働いているなら、Quineを読んでもらうこともできます。Quineは私が表示的意味論の「神の父」だと思っています。(クワインは、本質的に自然言語の表示的意味論をやっていたWordやオブジェクトクリストファーストレイチーのためのインスピレーションの巨大なソースだった。しかし、この本は非常に難しいだろう。)編集したコレクションクインテッセンスは、初心者のためのクワインのアイデアの素晴らしい源です。

[追加された注記:数学に対する哲学の利点の1つは、学生が議論を見るようになることです。数学では、間違った議論を見ることは決してなく、その教育的価値が制限されます。]


....私は期間微積分とクワインの名前の語呂合わせを含むこれにいくつかの巧妙な、冗談の応答があった...しかし、残念ながら、私はそれを忘れて
デイブ・クラーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.