グラフプログラミング
グラフは,完全に拡張可能な頂点と辺の特性を与えることで,トポロジーで具現化された構造情報以上のことを表すことができるようになる.例えば頂点は力学系モデルを含むことができ,辺は信号を含むことができるので,グラフでブロック図モデルを表すことができる.頂点と辺の特性は,多くのグラフアルゴリズムで使われるように,深さ優先,または幅優先で走査したときに状態を保存することができる.Wolfram言語はグラフフレームワーク全体をさまざまに拡張することができる豊富な行列,最適化,ブールベースフレームワーク一式を備えており,グラフプログラミングにマルチパラダイムアプローチを提供する.
走査ベースのアルゴリズム
BreadthFirstScan — グラフを幅優先順で走査する
DepthFirstScan — グラフを深さ優先順で走査する
"DiscoverVertex" ▪ "UnvisitedVertex" ▪ "PrevisitVertex" ▪ "PostvisitVertex" ▪ "FrontierEdge" ▪ "CycleEdge" ▪ "BackEdge" ▪ ...
行列ベースのアルゴリズム »
AdjacencyMatrix — 隣接疎行列表現に変換する
AdjacencyGraph — 隣接行列からグラフを構築する
IncidenceMatrix ▪ IncidenceGraph ▪ KirchhoffMatrix ▪ KirchhoffGraph
Transpose ▪ Dot ▪ Eigenvalues ▪ Eigenvectors ▪ ...
最適化ベースのアルゴリズム »
Minimize — 制約条件付き関数を最小化する
NMinimize ▪ FindMinimum ▪ ...
ブール関数ベースのアルゴリズム »
SatisfiableQ — ブール式・関数がTrueになりうるかどうかを検証する
TautologyQ ▪ Conjunction ▪ Disjunction ▪ ...