読者です 読者をやめる 読者になる 読者になる

15 puzzle を Graph で表現する

目次へ

MathWorld の Puz-Graph

MathWorld の Puz-Graph に載っているノートブック Puz-Graph.nb をダウンロードして実行してみた。Combinatorica パッケージを使うものであった。GridGraph が System でも同じ名前の関数があるので警告メッセージが表示された。

Mathematica 10 の Puz-Graph を作る

置換リストのplist = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} から15パズルの行列表現を作りこれを使って解析を行ってきた。これに関連ずけることを前提に plist から Graph を作ることを出発点とした。

Graph オブジェクトから index や label を取り出す次の関数を作った。

  • plist から graph15 を作る。
     g = graph15[ plist ]
  • g から plist を取り出す。
     findPlistFromGraph15[ g ]
  • g の vertex の index から label を取り出す。
     findVertexLabelFromIndex[ g, 1 ]
  • g の label から vertex index を取り出す。
     findVertexIndexFromLabel[ g, 1 ]

まとめ

Mathematica Document Guide

備忘録

作業フォルダー: /workmath/15puzzle/Vojda-Graph/work-Graph/Puz-Graph/blog

目次へ