登録サイト
twitter つぶやき
github プログラム
mathlog 数学解説記事
hatenablog 技術解説記事
speakerdeck スライド
atcoder プログラミングコンテスト
twitter つぶやき
github プログラム
mathlog 数学解説記事
hatenablog 技術解説記事
speakerdeck スライド
atcoder プログラミングコンテスト
LCPにおいて組合せ構造(有向マトロイド)の異なるすべての行列Mをデータベースにしました(n=2,3)。行列Mごとに解のパターンが異なっています。すべてのパターンを網羅しているので、定理やアルゴリズムの正当性の証明にお使いください。組合せ構造の説明はこちら(未作成)、列挙アルゴリズムの説明はこちら(未作成)をご参照ください。データベースはjson形式であり、配列の各要素が一つの行列Mに相当しています。pythonであれば以下のコードで読み込みできます。
M_list = numpy.array(json.load(open('M_n=2.json')))
データベース内の行列Mの詳細情報として以下をまとめました。
組合せ構造(有向マトロイド;カイロトープ):chirotope
再配置同型グループ():reoriented_isomorphism_class
LCP同型グループ():lcp_isomorphism_class
グラフ的同型グループ():graph_isomophism_class
S行列であるか(任意のqで実行可能):is_s_matrix
Q行列であるか(任意のqで解を持つ):is_q_matrix
ファイルはそれぞれ以下です。
データベース(M_n=2.json)の24個の行列Mの相補錐を図示しました。相補錐にすることで解のパターンが一目で分かります。眺めて解の個数のパターンを探したり、Q行列のパターンを探すのに役立ててください。相補錐の説明はこちら(未作成)をご参照ください。