Graph6 (.g6)

予備知識

    • Graph6グラフデータ形式.
    • 無向グラフの保管に使われる.
    • ASCII形式.
    • 複数の無向グラフの連結情報を保管する.
    • 小さなグラフまたは大規模で密なグラフ(頂点が個まで)に適している.
    • 大規模な疎なグラフを最適化するsparse6と関連している.
    • Australian National UniversityのBrendan McKayによって開発された.

ImportとExport

  • Import["file.g6"]は,指定されたファイルに保管された,単独のGraphオブジェクトまたはグラフのリストとして与えられたグラフをインポートする.
  • Export["file.g6",expr]は1つまたは複数のグラフの隣接行列,辺情報をGraph6形式に与える.
  • Import["file.g6",elem]はgraph6ファイルから指定された要素をインポートする.
  • Import["file.g6",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.g6",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","Graph6"] または Import["file",{"Graph6",elem,}]と指定できる.
  • Export["file.g6",expr,elem]expr が要素,elem を指定するものとして扱うことにより,graph6ファイルを作成する.
  • Export["file.g6",{expr1,expr2,},{{elem1,elem2,}}]では,それぞれのexpri が対応するelemiを指定するものとして扱われる.
  • Export["file.g6",expr,opt1->val1,]expr を特別の値を持つオプションが指定されたものとしてエキスポートする.
  • Export["file.g6",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使い,エキスポートされる要素を指定する.
  • 一般的な情報はリファレンスページを参照のこと
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的な Import 要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "AdjacencyMatrix"行列のリストとして与えられるこのファイル内の全グラフの辺情報
    "EdgeRules"規則の配列として与えられる全グラフの連結データ
    "Graph"Graphオブジェクトとして与えられる,このファイルに保管されたグラフ
    "Graphics"グラフプロットとして与えられる,このファイルに保管された最初のグラフ
    "GraphicsList"グラフィックスオブジェクトのリストとして与えられる全てのグラフ
    "GraphList"Graph オブジェクトのリストとして与えられる,ファイルの中の全てのリスト
    "VertexCount"整数のリストとして与えられる,各グラフの頂点の数
    "VertexList"頂点を表す整数のリスト
  • Import は単純なGraph6ファイルにはデフォルトで "Graph" を使い,マルチグラフのGraph6ファイルには "GraphList" を使う.
  • 複数のグラフを含むGraph6ファイルの要素指定:
  • elem, nこのファイルの n 番目のグラフのデータ表現要素 elem
    elem, {n1,n2,}グラフ n1, n2, の要素,elem
    elem, Allリストとして与えられる全グラフの要素 elem
  • Import["file.g6","GraphList"] は,Graphオブジェクトとして描画される,ファイルの中の全てのグラフのリストを与える.
  • Import["file.g6",{"GraphList",n}] は,ファイル中の n 番目のグラフの描画を与える.
  • "EdgeRules" 要素を使い,graph6ファイルをインポートするときは,可能な非連結の頂点として規則は返されない.
  • 連結していない頂点を含むグラフは"AdjacencyMatrix"要素または"EdgeRules""VertexCount"の組合せを使い,完全に指定することができる.

オプション

例題

  (7)

小さなgraph6サンプルファイルをインポートする:

グラフを表す辺の規則を表示する:

対応する隣接行列をインポートしてMatrixPlotでそれを描画する:

graph6データを表す文字列をグラフの視覚表現に変換する:

Graphオブジェクトをgraph6形式にエキスポートする:

グラフの隣接行列をgraph6形式にエキスポートする:

辺規則をエキスポートする: