グラフに対する基本的な問題として 最小全域木 最短路問題 最大フロー の3つがあると思う。で、最小全域木は離散最適の課題としてPrim法を使って解いてみたし、最短路問題はベルマンフォードのアルゴリズムをRubyとC++で解いてみた。となったら、最大フローを実装しないわけにはいかないな、ということでフォードファルカーソン法を実装してみました。上の3つの問題では一番ややこしかった気がする。というわけでコードと実行結果。 繰り返しの中で残余ネットワークを更新していって、残余ネットワークにおいて始点から終点へのパスが存在するかを幅優先探索を使って探索していくという流れ。 # -*- coding: utf-8 -*- require "pp" class DirectedGraph attr_reader :nodes attr_reader :weights attr_reader :edges
ネットワーク 定義 G:有向グラフ V:点の集合 E(G)={e=(u,v)|u,v∈V}:Gにおける辺の集合 cap(e):各辺eの容量 s:湧出点、入口, t:流入点、出口 (s,t∈V) N=(G,cap,s,t):ネットワーク f:E(G)→R+(辺集合E(G)から非負実数集合への関数) δ-(v):vを終点とするNの辺の集合 δ+(v):vを始点とするNの辺の集合 ただし、fは次の二つを満たす
控えめな Brainfuck コードを色づけする GM を見て、唐突に思いついたので作ってみました。 可視化する対象のコードは、 竹迫さんのTAKESAKO @ Yet another Cybozu Labs: Brainf*ckで100までの素数を列挙してみるテストと、奥さんのKazuho@Cybozu Labs: brainf*ck でマジメに素数探索。 まず、竹迫さんのコードの全体像。 そして一部拡大した物がこれ。 各頂点が1つの命令で、太い辺が命令の隣接関係、 細い辺が括弧の対応関係です。+が赤、-が青、.が緑になっています。 竹迫さんのコードは実は数字を作って表示するだけのコードなので、 大局的な構造がありません。 大まかに見ると「小さなループが所々にある1本の紐」です。 可視化する際も、頂点を徐々にy座標を増やしながら作るだけでこんな風に ほとんどもつれずに表示されました。 い
[概要] 計算機で扱う問題は,多くの場合グラフ上の問題として定式化できる. 計算量の理論により,これまで多くの問題が``手に負えない''ことが示されてきた. 一方でこうした問題に対する現実的なアプローチがいくつか提案されてきた. 本稿ではグラフに制限を加えるアプローチについて解説する.DNA の切片間の関係などは, モデル化すると特別なグラフになる.こうしたグラフ上では, これまで手に負えないとされてきた問題が効率良く解けることがある. 本稿では,代表的なグラフクラスと,関連したアルゴリズムの最近の研究動向を解説する. [キーワード] アルゴリズム,グラフクラス,計算の複雑さ,理想グラフ [お断り] このページは,電子情報通信学会に掲載予定の同名の解説論文を加筆修正したものです. せっかく書いたので,より広く公開して,かつ,ときどきは更新して行こうかと思っています. リンクも少しずつ充実さ
Description Windows Availability Features Examples Availability Mailing List Publications Related Work Description The VCG tool reads a textual and readable specification of a graph and visualizes the graph. If not all positions of nodes are fixed, the tool layouts the graph using several heuristics as reducing the number of crossings, minimizing the size of edges, centering of nodes. The specific
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く