13

私は基本的な大学の微積分以上の数学の授業を受けていません。しかし、プログラミングの過程で、ブログや読書から多くの数学や計算機科学を学びました。私はまともな数学の心を持っていると心から信じています。たとえば、プロジェクトオイラーを楽しんで成功しています。

私は飛び込んで、いくつかのクールな数学、特に離散数学、集合論、グラフ理論、数論、組み合わせ論、圏論、ラムダ計算などを学び始めたいと思っています。これまでの私の印象は、これらを受け入れる準備が整っているということです概念レベルではありますが、私は数学の言語と記号に非常に苦労しています。私はただ「言語を話す」ことはしません、そして私はそれを学ぼうとしていますが、私は行くのが非常に遅いです。数式や用語の重い段落を1つでも処理するには、数時間かかる場合があります。そして、ええ、私は用語と定義を調べることができますが、それは私が学ぼうとしていることの理論的な単純さを非常に曖昧にする非常に厄介なプロセスです。

中断したところに戻って、中級レベルの数学の教科書を手に入れ、その考え方を身につけるために演習に真剣に時間を費やさなければならないのではないかと本当に恐れています。しかし、これは驚くほど退屈に聞こえるので、他の誰かがこれについて何かアイデアや経験を持っているのだろうかと思いました。

4

12 に答える 12

9

クラスに参加したくない場合でも、クラスで得られるはずのものを取得する必要があります。つまり、教材の時間と多くの練習です。

ですから、その教科書を手に取り、練習問題を始めてください。他に方法はありません(浸透が実際にどのように起こるかを理解していない限り...)。

于 2009-10-10T18:49:02.437 に答える
8

教室でしか得られない知識はありません。

数学のためのMITコースウェアをチェックしてください

また、彼らのYouTubeサイト

プロジェクトオイラーは、プログラミングに関連する数学について考えるのにも最適な方法です。

于 2009-10-10T19:06:52.073 に答える
6

地元のコミュニティカレッジでクラスを受講してください。あなたが私のような人なら、構造が必要になるでしょう。採点されるというプレッシャーについては、言いたいことがあります。つまり、頭をうなずいてうなずいて理解する以上のことをしたいのであれば、ソロになることは本当に非現実的であることを学ぶことがたくさんあるということです.

于 2009-10-10T18:45:02.880 に答える
6

あなたは私と同じ立場にいるようですね。数学教育について私が知っていることは、そのほとんどが間違って教えられているということです. これが原因であろうと結果であろうと、ほとんどの数学のテキストが間違って書かれていることもわかりました。例外はまれですが、注目に値します。たとえば、Donald Knuthによって書かれたものはすべて、正しい方向への一歩です。

問題を非常に明確に述べているいくつかの記事を次に示します。

そして、知識を保持することを目的とした簡単な学習テクニックに関する記事は次のとおりです。

于 2009-10-10T18:56:28.427 に答える
3

地元の大学で離散数学と証明の授業を聴講することを検討してください。離散数学のクラスでは、いくつかの本当に役立つこと (グラフ理論、組み合わせ論など) を学び、証明のクラスでは、数学的な考え方と書き方について詳しく学びます。

于 2009-10-10T18:53:31.117 に答える
3

@John Kugelmanに同意します。クラスは適切に行うための方法ですが、クラスを受講したくない場合は、インターネットには、私が録音した講義など、役立つリソースがたくさんあることを付け加えておきます。 find は、本や論文よりも親しみやすいものです。

MIT Open Courseware をチェックすることをお勧めします。そこにはコンピューター サイエンスの数学のモジュールがあり、 Gilbert Strang のビデオ レクチャーの線形代数コースを楽しんで取り組んでいます。

Youtube と videolectures.com も、ビデオ講義の優れたリソースです。

最後に、bookboonで CS 向けの無料の数学の本があります。

于 2009-10-10T18:56:25.540 に答える
3

このリストに、The Haskel Road to Logic, Maths, and ProgrammingConceptual Mathematics: A First Introduction to Categoriesを追加します。

--- 後世のための '09 年 11 月 16 日回答 ---

2冊。Diestel のGraph Theory、および Knuth のConcrete Mathematicsそれらのコツをつかんだら、 CAGESを試してください。

于 2009-11-16T22:24:01.300 に答える
1

数学や数理CSのような難解な題材を学ぶには、ある種のコツがあります。なじみのない抽象的なものを学ぶのは難しく、それを行う最も効果的な方法は、段階的に慣れることです。最初に、ざっと目を通す必要があります。最初のパスですべてを理解できなくても心配しないでください。それから休憩を取ってください。休んだ後、もう一度深く掘り下げてください。泡立てて、すすぎ、繰り返します。瞑想すると、最終的に悟りを開くことができます。

数学の言語に慣れるために、どこから始めればよいか正確にはわかりません。上手になるまで、たくさんの論文を読んでしまいました。多くの数学 (特に言語理論) はそれに基づいているため、形式的な数学的論理に関する入門書を探すことができます。正式なものを少しハックすることを学べば、日常の表記が少し簡単に見えるかもしれません。

個人的に興味のあるトピックに関する本に目を通す必要があります。固有の関心は、こぶを乗り越えるのに役立つはずです。また、実際に紹介するテキストを見つけてください。Elementary Foobar Theoryというラベルの付いたスリムで装飾のないハードカバーには警戒するようになりました。

警告の言葉: 圏論から始めないでください -- それは私が今まで出会った中で最も退屈な数学です! 言語設計や型理論との関連性があるので、もっと知りたいのですが、今のところ対処できていません...

さまざまな種類の CS っぽい数学の断片を散りばめた素敵な紹介として、 Hofstadterの Godel、Escher、Bachをお勧めします (もちろん、まだ読んでいない場合)。ただし、正式な数学の本ではないため、親しみやすさの問題には役立ちませんが、非常にインスピレーションを与えてくれます。

于 2009-10-13T07:09:30.293 に答える
1

定期的にあなたと一緒に時間を割いてくれる、その分野の専門家である良いメンターを見つけましょう。

于 2009-10-10T18:58:00.047 に答える
0

プロジェクトオイラーは、問題を文脈から外し、人々が問題を解決できるように問題を落とし込みます。プロジェクトオイラーはあなたに効果的に何も教えることができません。忘れてはいけないと思いますが、人気があれば何の意味もありません。プロジェクトオイラーでは、問題を解決するために知っておくべき断片(およびかなり高レベルの断片)しか含まれていないため、数学を学ぶことはできません。数学を学ぶということは、主題を考え、それについての本を読み、演習を解いたり、解決策を読んだりすることを意味します。それが数学を学ぶ方法です。あなたの読書を通してあなたがプロジェクトオイラーのものに近い何かを見つけることが起こった場合、あなたの運は幸運ですが、そうでなければプロジェクトオイラーは完全に時間の無駄です。数学の特定の分野を選び、それを研究するために時間を費やす方がはるかに良いと思います。理由を説明しましょう:私は3つの非常に高度なプロジェクトオイラーの問題を解決しましたが、それらはすべて、私がその一部を研究しているために偶然持っていた数論からの知識にアピールしていました。プロジェクト・オイラーから何も得られなかったと思います。たまたま、私はすでに数論を知っていて、問題を解決しました。

たとえば、数論が好きだとわかったら、H。Davenport-> Hardy&Wright-> Kenneth&Rosen'sを取り上げて、それらを調べてください。グラフ理論が好きな場合は、無料で入手できるReinhard Diestelの本を読んで、それを調べてください(または、books.google.comをチェックして、好みに合った方を見つけてください)。ただし、プロジェクトオイラーに問題があるという理由だけで、999999の方向に注意を向けないでください。動的プログラミングから高度な幾何学または高度な数論に至るまで、それは明らかに間違った方法であり、それはあなたをあなたの目標に近づけることはありません。

これは驚くほど退屈に聞こえます

ええと...あなたが自分が好きで解決策を見つけたいと思っている問題を見つけたとき、そしてあなたがコンピュータの画面の後ろにいない間にそれを熟考するのに十分な時間があるとき、数学は退屈ではありません。数学は主にペンと紙で行われます(はい、コンピューターを使用できますが、それは実際には重要ではありません)。

したがって、実際の問題、または高度な数学を知っていることで恩恵を受けるプログラミングの問題を見つけ、どの数学を勉強しなければならないかを知っている場合、その方法で学ぶことは動機付けになる可能性があります。

やる気がないと感じたら、きちんと勉強するのは難しいです。

あなたが学ぶと言うとき、あなたが実際に何を意味するのかという問題もあります。本の章の終わりで問題を解決した後、学習プロセスは停止しますか?さてあなたが決める。あなたはあなたがその主題を学び終えたと考えることができます、あるいはあなたはあなたが終わっていないと考えてそれについてもっと読むことができます。たった1つの方程式とそのバリエーションに関する本全体があります。

正式なトレーニングなしで学ぶことができるプログラミング関連の数学の量は限られていますが、それで十分です。しかし、多分あなたは自分自身を教えることができます。

それはすべてあなたのリソースとモチベーションに要約されます。

数学を知るには、プログラミングではなく数学を行う必要があります(プロジェクトオイラー)。

于 2010-03-07T09:25:30.233 に答える
0

数学表記は、いくつかのコンピューター言語に似ています。

  • 簡潔
  • 厳しい
  • 多くのイディオムに基づく
  • かなりの量のローカルなバリエーションと慣習

コンピュータ言語の場合と同様に、「象全体を一度に洗う」必要はありません。一度に 1 つずつ取ります。

あなたのための暫定的な計画は

  • あなたにとって興味深い、または重要な数学の分野を特定します。(あなたはすでにその感覚を少し持っているようですが、CS はあなたがその文化を育むのに役立っています。)
  • この分野のいくつかの正式なクラスを受講(または単に監査)します。この投稿のいくつかの回答に同意します。地元の大学での対面コースが望ましいですが、最初は、または特定のクラスを最大限に活用するために、まずMITでこの分野を独学することをお勧めします。 OCW、同様のオンライン リソース、および関連書籍は問題ありません。
  • 数学の分野が、記法や基礎となる概念、または(ほとんどの場合、機械的な計算と変換技術)に流暢であるという点で、あまりにも高い前提条件を導入している場合。問題ない!少し遡って、これらの基礎 (そしてこれらの基礎だけ!) を学び、再び前進してください。
  • 必ずしも数学者ではなく、幅広い数学文化と露出を持っている「教祖」を見つけてください。物理学の人々も優れています。このグルを使ってガイドしてください。大きなピースがどのように組み合わされるかを教えてくれます。

注:それ自体のために数学表記法を学習しても得られるものはほとんどありません。むしろ、C# のイディオムは、空で学ぶよりも、特定のタスクに関連付けられたときに使用した方が覚えやすいと言うのと同じように、文脈の中で学ぶべきです。ただし、関連する SO の投稿では、数学表記を解読して学習するためのリソースがいくつか提供されています。

于 2009-10-10T19:27:55.617 に答える
0

圏論の学習を始めるには、David Spivak の科学のための圏論(AKA科学者のための圏論) をお勧めします。これは、類推による理解を可能にし、より抽象的な概念を理解するための基礎を迅速に構築できる多くの例があるため、比較的理解しやすいからです。

論理的に推論する能力と、セットとは何かについての直感的な概念が必要です。集合と関数から、基本的な圏論を通じて、随伴関手、関手の圏、層、モナド、およびオペランドの紹介に進みます。全体の 2 つの主要なスレッドは、カテゴリの観点からデータベースをモデル化することと、 ologsと呼ばれる注釈付きの図でカテゴリを記述することです。参考文献は、Spivak 博士による最近の論文を含む、より高度で専門的なトピックへの参照を提供します。

この本を読むことで期待される成果は、Mac Lane の「働く数学者のための圏論」など、数学者向けに書かれた圏論のテキストや論文を理解できるようになることです。

PDF 形式では、http://math.mit.edu/~dspivak/teaching/sp13/から入手できます(動的バージョンが最新であるため、推奨されます)。オープン アクセスの HTML バージョンは、https://mitpress.mit.edu/books/category-theory-sciencesから入手できます(いくつかの演習への回答を含む追加コンテンツが含まれているため、これをお勧めします)。

于 2015-07-13T22:31:47.303 に答える