タグ

data-structureとshortest-path-problemに関するnabinnoのブックマーク (4)

  • 「だんご屋のひまつぶし」完全解析 - すぎゃーんメモ

    「だんご屋のひまつぶし」とは 最長手順の問題は…? 組み合わせ、グラフ問題 プログラムで解く 状態の列挙 グラフの構築 最短経路問題を解く WASM化して、ブラウザ上で解く もしもすべて異なる団子だったら さらに一般化していくと 到達可能性 頂点数 数を固定し、高さを変える 高さを固定し、数を変える まとめ Repository 「だんご屋のひまつぶし」とは 「ハノイの塔」の派生型のようなパズル。 高さ3の串が3あり、3色の団子2個ずつ計6個が刺さっている。これらを1個ずつ移し替えて、ある状態からある状態へと遷移させる、というゲーム。 移動できるのは各串で一番上にある団子だけ。 団子の大きさのような概念はなく、高さ3以内であればどこにでも動かせる。 単純なルールだがなかなかに奥が深く、じっくり考えて動かさないと最適な手順で達成するのは意外に難しい。 パズルオーディションというもので最

    「だんご屋のひまつぶし」完全解析 - すぎゃーんメモ
  • 手続き型言語OCaml - fetburner.core

    この記事はML Advent Calendar8日目の記事として書かれました。 7日目の記事はでこれきさんのfoldみぎひだりです。 Standard MLやOCamlをはじめとしたML系の言語は関数型言語として有名ですが、参照、配列、例外といった副作用を伴う機能も扱う事ができます。 また、ML系の言語で手続き的に書いたからと言ってその言語の魅力が損なわれるわけではなく、 強い静的型付け、型推論やparametric polymorphismなどの恩恵を受けられるので、むしろ良く設計された手続き型言語のように映る事でしょう。 積極的にMLで手続き的な処理を書いていこうな。 2015年12月8日1:05 Kleene's algorithmの実装を間違えていたので修正 2015年12月8日17:54 プログラムの例をリファクタリングした 手続き的な処理と言えば僕はグラフ関連のアルゴリズムが思

    手続き型言語OCaml - fetburner.core
  • ワーシャル–フロイド法 - Wikipedia

    ワーシャル–フロイド法の概略は以下の通りである: 入力: (有向または無向)グラフ の各辺の長さ 出力:頂点 と頂点 を結ぶ最短経路を全ての に対して出力 計算量: 簡単の為 上のグラフ のみを考える。 を 以下の整数とし、 とする。 の 各頂点 に対し、 を に制限したグラフ上での から への最短経路を とする。(経路が無い場合は 「なし」とする。) とし、 を に制限したグラフ上での から への最短経路を とする。 内での から への最短経路は、 を経由するか、あるいは 内にあるかのいずれかであるので、 次が成立することが分かる。ただしここで記号「」は「経路 を進んだ後に経路 を進む」という経路を表す。 : が より短い場合 : そうでない場合。 よって に対する最短経路 が全ての に対して分かっていれば、 に対する最短経路 が全ての に対して求まる。 ワーシャル–フロイド法は以上の考

    ワーシャル–フロイド法 - Wikipedia
  • 最短経路問題 - Wikipedia

    グラフ理論における最短経路問題(さいたんけいろもんだい、英: shortest path problem)とは、重み付きグラフの与えられた2つのノード間を結ぶ経路の中で、重みが最小の経路を求める最適化問題である。 2頂点対最短経路問題 特定の2つのノード間の最短経路問題。一般的に単一始点最短経路問題のアルゴリズムを使用する。 単一始点最短経路問題 (SSSP:Single Source Shortest Path) 特定の1つのノードから他の全ノードとの間の最短経路問題。この問題を解くアルゴリズムとしては、ダイクストラ法やベルマン-フォード法がよく知られている。 全点対最短経路問題 (APSP : All Pair Shortest Path) グラフ内のあらゆる2ノードの組み合わせについての最短経路問題。この問題を解くアルゴリズムとしては、ワーシャル-フロイド法が知られている。 このよう

  • 1