スタンフォードのティムのダイクストラ

美しいコースラに沿って、スタンフォードのティムによるアルゴリズムコースがまもなく再開されます。 そして彼について書くことはできません。 そして、 遠隔教育に関するこの投稿に照らして、これはさらにそうです。



そもそも、これは私がこれまでに取らなければならなかった最も興味深いコースです。 そして、私は最悪の大学ではなく、長年を過ごしました。 このコースは、 アルゴリズム:設計と分析と呼ばれます。 このコースでは、グラフのさまざまなアルゴリズムについて説明し、各アルゴリズムに適したデータ構造について説明します。これらのアルゴリズムの理論と簡単な証拠があります。 2番目の部分では、特にP = NP問題と非多項式時間のアルゴリズムについて説明します。



このコースがとても好きだった理由。 講師は非常にクールだからです! 彼は非常に関与している、彼はそれをすべてこのように言います。 そして、毎週、選択した言語で新しいアルゴリズムをプログラムし、実装を使用して質問に対する答えを見つける必要があります。 正しい答えが得られるまで、サイト上の質問への回答を送信します。 毎週、私が言ったように、新しいアルゴリズム。 そしてそれに応じて締め切り。 それは私を夢中にさせました。私は仕事から家に帰り、週末にアルゴリズムを手放しませんでした。休暇に行き、国の最高点に座り、マージソートをプログラムしました。



私にとってそれが発見された宝のようだったので、私はそれが他の人々にそれを助言するために再び発表されるのを6ヶ月待ちました。





例として、ランダムアルゴリズムで2SAT問題の可解性をどのように見つけたかの写真を次に示します。



2SAT問題:ブール変数{X1、...、Xn}の特定のセットがあり、制限条件は(X1 OR X5)、(¬X2OR X3)、(X5 OR X9)、...の形式で与えられますこれらの条件をすべて同時に満たすことができるかどうかを判断します。

コースで提案されているアルゴリズムは、満たされていない条件の1つで変数の1つの値を取り、ランダムに変更します。

2SAT

x軸に沿った図では、ランダムクーデター(セットランごと)の数であり、yに沿っては、満たされていない条件の数です。 このような条件の6つの異なるセットが与えられ、それらのうちどれが解決可能(満足)でどれがそうでないかを決定する必要がありました。 一連の条件が満たされている場合、そのようなランダムな変更は解決策を見つけます。 そうでない場合、満たされていない条件の数は、特定の値を中心に変動し始めます。 たとえば、写真の左から2番目の行では、しばらくしてシステムが相互に不満足な条件のペアに収束し、これらのランダムな変化がいくつかのランダムな変動内でシステムを振動させていることがわかります。



今では、このコースが開催されたとき、興味深いものが集中しているという点で、これらは私の人生の上位4か月であったように思えます。 そして、私はまだ考えています、多分あなたはどんな種類の計画会社とどのようなポジションがそのようなものに毎日対処する必要があるかについて私にアドバイスを与えるでしょう。



All Articles