いずれも人間同士が友達同士であるかどうか、駅がつながっているのかどうか、そして電気回路そのものを表すことになる。いずれも共通しているのは何と何がつながっているか、またはつながっていないか、ということである。グラフとはどのような形でつながっているのかを一切気にせず単に点と点がつながっているかどうかを表した数学的なモデルである。以下のNetworkXでもグラフの定義に従って集合とその2元部分集合族でグラフを作っているのがわかる。集合であればよいので様々な社会モデルをグラフに表すことができる。nx.Graph()G.add_nodes_from([0,1,2,3])G.add_edges_from([(1,2),(1,3)])nx.draw_circular(G)plt.savefig("graph.png")plt.close()有名なグラフグラフ理論は他の数学と比べて絵で簡単に表せることあって取っ付き易い。絵にする、つまり平面などにグラフを描画するのもグラフ理論の大事な研究対象の1つであるがここでは触れない。ここでNetworkXで有名なグラフを描画する。名前の由来はグラフを見てもらえれば一目瞭然である。$V=V'$かつ$E=E'$であるときをいう。このとき$G=G'$と表す。頂点集合の元が違うだけで同じ構造を持つグラフは存在したとしてもこれでは違うものになる。そこで構造が同じグラフは見かけが違っていても同じとみなすためにグラフの同型を定義する。グラフの不変量とは同型写像によっても値が変わらないものである。頂点数、辺数がそれに当たる。同型なグラフは同じグラフであると見なすのでグラフの不変量を調べることはグラフを調べる上で不可欠である。幾何学と同様に上手い不変量を定義してそれを調べることで面白い性質を見出していくのである。H))こう書くとグラフの同型判定が簡単にできるように思えてしまうがそれは大きな間違いである。定義に従って$n$頂点をもつ2つのグラフが同型でないと判定するには$n!$個ある頂点間の同型写像1つ1つをチェックしなければならない。辺の本数が異なれば直ちに同型でないと判定できるが一般的な方法は知られていない。関連して、頂点数$n$の同型でないグラフは何個存在するのかを考える。同型判定が難しいのにどうやって考えればよいのか。頂点数$n$のグラフの総数は$2^{\binom{n}{2}}$個ある。これは辺の候補が$\binom{n}{2}$個あり、それぞれあるかないかを考えるので$2^{\binom{n}{2}}$ある。これは同型なグラフもすべて違うものとして考えているので互いが同型で無いグラフの個数はこれよりも少ない。次に考えるのが同型写像の個数の上限である。V$の総数高々$n!$であるのでそれで割れば同型でないグラフの下限が求めることが出来る。難しいと分かっているからこそこのように工夫して面白いことを知ることが出来る。その1Tweet広告を非表示にする関連記事2017-06-20cmathとmatplotlibでMandelbrot集合を描画する。その2前回、グラフの定義を行いその同型も定義した。»プロフィールid:XaroCydeykn数学や計算機、読んだ本について書くブログのような何かです。(1)最近人気の記事はてなブログをはじめよう!XaroCydeyknさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。