タグ付けされた質問 「advice-request」

理論的なコンピュータサイエンスの研究を行うことに関する実際的な質問

4
理論的なコンピューターサイエンスで重要なアイデアを思いつくにはどうすればよいですか?
私は理論計算機科学の博士課程の学生です。多くの研究者の研究論文を読み、アルゴリズムの設計に使用する多くのツールと数学を見てきました。たとえば、この研究論文[Primality in P]を参照してください。この研究論文は1つまたは2つのアイデアに基づいているとは言いませんが、深刻な数学を必要とする多くのアイデアに基づいています。私はこのようなアイデアを数年から思いつくのに苦労しています。私は長年にわたって1つの問題に取り組んできましたが、心に浮かぶことは何もありません。これまでに頭に浮かんだアイデアはすべて些細なものであり、理論的なコンピューターサイエンスの研究者にとってはほとんど役に立たないものです。自明ではない結果を生成できるようにするための機械をどのように思い付くのか疑問に思っています。 質問:理論的なコンピューターサイエンスで重要なアイデアを思いつくにはどうすればよいですか?「自明でない考え」という言葉には異なる意味があることを知っています。私にとって、それは理論的なコンピューターサイエンスコミュニティにとって公開可能で興味深いものです。いくつかの(数学的な)用語を定義し、定義した用語を使用してアルゴリズムを設計する研究論文を見てきました。どうやってそんなことを考え出すのだろう。 私の研究友人や先輩から得たアドバイスの1つは、研究論文を注意深く読み、数学(定理と証明)を非常に注意深く読み、自分で証明を行い、それらを拡張することです。

3
理論について話す方法
これは議論の余地のある質問かもしれませんが、これは尋ねるべき適切な場所のように思えました。そうでない場合はリダイレクトしてください。 背景は、私は「開業医」(博士課程の学生、私はCS理論を勉強していません)ですが、学部のアルゴリズムと数学の合理的な基盤を持っていることです。それにもかかわらず、理論家との議論は、私が怖がった場合に数学用語を使うことを恐れているかのように、通常非常に表面的なレベルです。現実には、私は理論に完全に満足しており、理論に興味がありますが、それについて議論することに慣れていないので、「理論家」として私にフラグを立てる用語を常に使用するとは限りません。直接のアプローチ(「詳細を教えてください」)が常に機能するとは限らないことがわかります。特に、問題の理論家が専門知識の高い水準を設定する控えめな口調を仮定している場合(これはよく起こります)。 理論家として、このように人をフィルタリングする場合、あなたのフィルタによって「フラグが立てられる」ことを実践者がどのように回避できるかについての推奨事項がありますか?

2
TCSの博士号は、産業研究のキャリアを達成するための最良の方法ですか?
私の夢のキャリアのアイデアは、産業研究のキャリアであり、挑戦的な問題に取り組むことができ、実用的でもあります。そのために、TCSで博士号を取得すること(分散/並列アルゴリズム、オンラインアルゴリズムなどのトピックに興味があります)は悪い考えですか?すべてではないにしても、TCSのPhD志願者のほとんどが学界でのキャリアを追求することが期待されているという考えを持っています-それは有効な教訓ですか? このサイトの定期的なユーザーである著名な学者に気づきました-間違った目標を念頭に置いて博士課程に応募したくないので、特にそのような人からのガイダンスを探しています。私のプロフィールを簡単に説明するために、CSでMTechを卒業し(私の国ではかなり評判の高い研究所から)、約2年前にカーネルレベルのデバイスドライバーでMNCで働いていました。 この質問はこのサイトにとって最も理想的な質問ではないかもしれませんが、質問するのに最適な場所を見つけることができませんでした。ここでいくつかのアドバイスを本当に必要としているので、モデレーターにこれを完全に閉じないように依頼してください。


3
CS理論対応用数学の大学院研究(PhD)
ほとんどのアメリカの大学は1つの分野のみの申請を受け入れているので、CS理論プログラムと応用数学プログラムの両方の学科のどこかに興味がある場合、CS理論プログラムに適用する利点/欠点を理解しようとしています。 具体的には、降順の関心領域は、1。組み合わせ論(代数および極値の両方)、2。最適化(凸および組み合わせの両方)、3。確率理論、ランダム化アルゴリズム、および情報理論です。 何を誰と一緒に仕事をしたいのか正確にはわかりませんが、大学院プログラムへの応募は大きな頭痛の種になります。これまでのところ、CS理論グループは通常非常に小さく焦点が絞られているため、数学プログラムはより柔軟に適用されます。一方で、その道をたまたま進んだ場合、CSの学位は業界でより良くなると思います。 それで、私の質問を繰り返しますが、彼が何をしたいのかを正確に知らないが、一般的に前述のトピックに興味がある人のために、どちらが良いですか?CS理論または応用数学

4
より多くの出版物が少なくなるのはいつですか?
余分な出版物があなたの記録を傷つける場合がありますか? これにより、誤った結果や物議を醸す結果を公開する明らかなケースを回避できます。また、有限時間の場合は避けてください。考えて書く時間はあまりないので、論文を書くと別のプロジェクトで時間を失うことになります。 ユースケースの例:理論的なコンピューターサイエンスの地位を目指していますが、多くの場合、より広いCSキャノピーの下にあるか、CSとは完全に無関係な非理論的な領域に公開します。一方で、これは幅広い関心と幅を示すことができます。一方、これは焦点の欠如、日和見主義、または分野へのコミットメントの欠如を示している可能性があります。 特定のポジションに合わせて履歴書に「選択した出版物」をリストするだけで問題を回避できますか?もしそうなら、いつ発行するか、仮名(または名前の別の綴り)で発行しないかを検討すべきですか?

1
リストに順番を維持
注文のメンテナンスの問題(または「リスト内の注文の維持」)は、操作をサポートすることです。 singleton:1つのアイテムでリストを作成し、そのポインターを返します insertAfter:アイテムへのポインターを指定すると、そのアイテムの後に新しいアイテムを挿入し、新しいアイテムへのポインターを返します delete:アイテムへのポインタを指定すると、リストから削除します minPointer:同じリスト内のアイテムへの2つのポインターを指定すると、リストの先頭に近い方を返します 私は、償却時間ですべての操作を実行するこの問題に対する3つの解決策を知っています。それらはすべて乗算を使用します。O (1 )O(1)O(1) Athanasios K. Tsakalidis:一般化リンクリストでの順序の維持 Dietz、P.、D. Sleator、リスト内の順序を維持するための2つのアルゴリズム Michael A. Bender、Richard Cole、Erik D. Demaine、Martin Farach-Colton、およびJack Zito、「リスト内の順序を維持するための2つの簡略化されたアルゴリズム」 A C 0にない算術演算を使用せずに、償却時間のリストで順序を維持できますか?O (1 )O(1)O(1)A C0AC0AC^0

1
アルゴリズムの設計と複雑さ-その「方法」でどう考えるか?
私の質問は一般的なものです:アルゴリズムの設計と複雑さの観点から考え始めるにはどうすればよいですか?アルゴリズム設計の大学院課程を受講します。私は以前に登録していましたが、それに追いつくことができなかったため、後で削除しました。このコースを必須条件として受講する必要があります。 このように考える「トリック」はありますか?私はこれが非常に大雑把に言っていることを知っていますが、時々新鮮な視点は主題について異なって考えるのに役立ちます。 このコース(および同様の理論的コース)で私が抱えている主な問題は、私が思いついた解決策が正しいことをどのようにして知ることができるかということです。特定のアルゴリズムが特定の方法で動作または動作することを「証明」する場合、特に理論的な部分はarbitrary意的であると思いますか? コースでは、標準テキスト「CLRSによるアルゴリズムの紹介」を使用します。 教科書/サイト/書籍/などはありますか?それはこの分野に自信を持つ方法を提供するかもしれない? 皆に感謝します、 ジェイソン・デイン

1
簡潔なデータ構造アルゴリズムの概要が必要
(すでにメインサイトで尋ねられましたが、ここでもより良い報道を求めています、申し訳ありません) 私は簡潔なデータ構造について知っていたので、私はその分野での最新の開発の良い概観を切望しています。 私はグーグルで検索して、頭からのリクエストに関するグーグルの検索結果の上部に表示される多くの記事を読みました。私はここで重要な何かを見逃したとまだ疑っています。 私にとって特に興味深いトピックは次のとおりです。 親、左/右の子、サブツリー内の要素数を取得する効率的な操作を使用した、バイナリツリーの簡潔なエンコード。 ここでの主な質問は次のとおりです。私が知っているすべてのアプローチは、このノードの呼吸優先順で列挙されたツリーノードを仮定します私の仕事に適しているようです。深さ優先レイアウトで指定された巨大なバイナリツリーを処理し、深さ優先ノードインデックスは他のノードプロパティのキーであるため、ツリーレイアウトを変更するにはコストを最小限に抑える必要があります。したがって、BFツリーレイアウト以外を考慮した作品への参照を取得することに関心があります。 外部メモリ内の大きな可変長アイテム配列。配列は不変です。アイテムを追加/削除/編集する必要はありません。唯一の要件は、O(1)要素のアクセス時間と可能な限り低いオーバーヘッドであり、単純なオフセットとサイズのアプローチよりも優れています。ここに、タスクの一般的なデータについて収集した統計をいくつか示します。 典型的なアイテムの数-数億、最大数千ミリアード; アイテムの約30%の長さは1 ビット以下です。 40%-60%のアイテムの長さは8ビット未満です。 32〜255ビットの長さを持つアイテムの数パーセントのみ(255ビットが制限です) 平均アイテム長〜4ビット+/- 1ビット。 アイテムの長さのその他の分布は理論的には可能ですが、実際に興味深いケースはすべて上記に近い統計値を持っています。 複雑な記事へのリンク、不明瞭なチュートリアル、文書化されたC / C ++ライブラリなど-似たようなタスクで役立つもの、または経験に基づいた推測でそのように見えるもの-すべてが感謝されます。 更新:質問1に追加するのを忘れました:扱っているバイナリツリーは不変です。それらを変更する必要はありません。ノードから子または親に常に移動するさまざまな方法でそれらを移動するだけで、そのような操作の平均コストはO(1)でした。 また、典型的なツリーには数千ノードのノードがあり、RAMに完全に保存するべきではありません。

4
もっと「理論志向」になるには?
これについては、前もっておび申し上げます。閉じた正しい答えのないソフトな質問です。これはおそらく私の質問をするのに最適なフォーラムです。 私は、米国のトップ15の学校の理論グループの3年生です。これまでのところ、私はきちんとやっています。私はこれまでに第一著者の理論論文と第一著者の実用論文を持っています。私のアドバイザーは私のスキルを磨くのを手伝ってくれましたが、行き詰まってしまいました(そして無力になりました)。 これまでのところ、私の顧問は、常に正しい方向を示し、研究問題への答えを見つけるのに役立った正しい質問(抽象的すぎず、具体的すぎない)を提示する助け手と指導力でした。もっと「自立した」、つまり正しい質問をして結果を証明しようとすると、悲惨に失敗し、すぐに圧倒されたと感じます。私は理論博士課程の学生の成熟度をまだ持っていないように感じます。そこでは正しい質問を自問し、答えを出すことができます。言い換えれば、正しい定義といくつかの手持ちを考えると、私は物事を行うことができますが、そうでなければ、それは非常に困難になります。証拠を書くことになると、私のずさんなことも助けにはなりません。 スキルを磨き、物事をより早く把握し、手持ちをあまり必要としない「理論志向」になる方法についてのアドバイスを探しています。一つの答えは単に仕事を続け、経験が私を賢くすることを願うことですが、これがどのように機能するかはわかりません。私が持っている唯一の解決策は、実際に私の地域の最近の論文を調べて、できる限り詳細に証拠を手書きで書き、証拠を書くスキルを直し、直観を構築することです。 どんなアドバイスも非常に役立ちます。質問が不明な場合や詳細が必要な場合はお知らせください。

3
あなたの分野外で定期的に論文を読むことは有益ですか?
自分の分野に関係のないものも含めて、自分の分野外の論文を定期的に読むことについてどう思いますか。私の直感は、それが私自身の問題で私を助けるかもしれない全く異なる見方やテクニックを与えることができるということです。しかし同時に、新しい知識が彼自身の仕事で彼を助けなければ時間の無駄になるので、私はそれについて少し懐疑的です。 これについてどう思いますか?自分の仕事に関係のない結果を探す他の方法はありますか?TCS +シリーズについてはどうですか?

1
博士課程の開発; 文献レビュー戦術
正しい領域かどうかはわかりませんが、ここに行きます。 通信ネットワークの信頼と評判管理の博士号(グラフ理論、確率論的分析など)を始め、たくさんの本を読んでください。 誰もが学術的リーディングを管理するための最良の方法や、文献レビュー/進捗レポートなどについて注意すべきことをアドバイスできますか?

3
CSの研究分野を(M.TechからPhDへ)切り替えるのは簡単ですか?
私はかなり厳しいジレンマに直面しています:- 私は2年前にCSでM.Techを修了し、VLSIテストの分野で論文を完成させました。私は自分の仕事が好きでしたが、その中で自分の博士号を取りたいとは思わない-私は博士号を取得する手段として(近似/オンラインアルゴリズムで)理論的なコースを追求したいと強く望んでいた。 ただし、私はTCS(理論コンピュータサイエンス)での研究経験がないため、米国の適度に優れた学校に入学する可能性を損なうと思います。一方、VLSIでの研究経験(およびVLSIの分野でよく知られている私の顧問/委員会メンバーからのLORは、私が良いプログラムに参加するのに役立ちました(しかし、その分野での私の熱意はすでに元気になっています)。 そのため、最初の研究分野(UG / MSレベル)からの移行に成功し、PhDのまったく別の分野に乗り出すことができた人々から連絡をもらいたかったのですが、移行の理由をどのように説明しましたか? SOP、それがトップの学校に入学する可能性に影響したかどうかなど。また、質問を閲覧している学者にとって、あなたはそれをどう思いますか?常にあなたの興味に一致する経歴を持つ学生を優先しますか?

7
TCSにドキュメンテーション前のポジションはありますか?
博士号を取得する前に、研究を記録した最近卒業した学士号または修士号の学生が研究者として働くためのポジションはありますか? TCSには、博士号を取得したばかりの卒業生が教員職に応募する前に研究を行うためのポスドクの文化があります。学士号または修士号の学生が博士号を申請する前に研究を行うための同様のメカニズムはありますか?特に、彼らがすでに研究記録を持っている場合(たとえば、いくつかの発表された論文)。私はそのような役職について聞いたことがありますが、通常、それらはあなたの現在または将来の監督者を通じています。これらの個人的なつながりよりも正式な、業界または大学/研究センターでの他のオプションはありますか? このようなポジションの目標は、フィールドで、または長期にわたってコミットする前に博士号取得を検討している研究所で働くことです。 関連する質問: コンピュータサイエンティストの修士号を取得している場合、どのようなキャリアオプションがありますか? 異なるPhDプログラム間の決定 編集: いくつかの回答をした後、純粋に(またはほぼ完全に)研究の立場であるという点で、ポスドクに類似することに関心があることを強調したいと思います。PhDアプリケーションの準備のためにコースを受講するプログラムは、PhDアプリケーションの準備をすることではなく、研究を長期的にやりたいことを確実にするための研究を行うことなので、面白くありません。

8
CS修士号または博士号を取得するには、どのような数学のコースを受講すればよいですか?
私は独学でプロのプログラマーです。私はそれはかなり得意ですが(Ruby、Unix、Clojure、Java、Objective-C)、今はCSでマスターまたはPhDプログラムを申請することで、次のレベルに引き上げようと考えています。この目標に備えるために、数学のどのトピックを勉強すればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.