問題タブ [isomorphism]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
935 参照

haskell - 逆関数が同型を意味しないのはなぜですか

という名前の 2 つの関数がf :: a -> bあり、それが逆g :: b -> aであるとしf . g ≡ idます。

今じゃないg . f ≡ id?(したがって、同形性を意味します)

同様の例を書き込もうとしたところ、次のようになりました。

ghci で:

しかし、逆関数は同型を意味していないようです。だから、私がここで間違っていることを誰かに教えてもらえますか?

0 投票する
1 に答える
835 参照

javascript - 口ひげテンプレートで、ノードとブラウザで同じことを要求する

この質問は Hogan を例として使用していますが、どのテンプレートにも当てはまります。

私は同形のものを作ろうとしています(クライアントとサーバーの両方で動作します)。クライアントで口ひげファイルが必要な場合:

次に、 browserify + a transform は、これが拡張子によって口ひげファイルでtplあり、オブジェクトであり、関数の1つが.render.

上記の行を NodeJS で実行すると、まったく同じ結果が得られます。

デフォルトでは、Node はこのファイルが JavaScript ファイルであることを想定しているため、結果は次のようになり、エラーが発生します。

0 投票する
0 に答える
105 参照

algorithm - ノードを 2D に配置するアルゴリズム - ダイアグラムの作成

ノード/頂点をコンパクトで明確な方法で配置するためのライセンスのないアルゴリズムはありますか?ダイアグラム?

言い換えれば、最も明確に配置された位置でグラフを同形化するにはどうすればよいでしょうか?

ああ、ノードは長方形です (先ほど言ったように、これは図用です) 内容によってサイズが異なる場合があります

0 投票する
6 に答える
2455 参照

graph - グラフの集合からの同型の棄却

同型を削除したい 15M (Million) DAG (有向非巡回グラフ - 実際には有向ハイパーキューブ) のコレクションがあります。これの一般的なアルゴリズムは何ですか? 各グラフはかなり小さく、N が 3 から 6 (今のところ) である次元 N のハイバーキューブであり、N=6 の場合にそれぞれ 64 ノードのグラフになります。

networkx と python を使用して、このように実装しました。これは、300k (千) のような小さなセットで問題なく機能します (数日で実行されます)。

それを行うより良い方法の 1 つは、各グラフを正規の順序に変換し、コレクションを並べ替えてから、重複を削除することです。これは、バイナリ is_isomophic() テストで 15M グラフのそれぞれをチェックすることをバイパスします。上記の実装は O(N!N) (同形時間を考慮していない) のようなものであると思いますが、すべてを標準的な順序に変換してソートする必要があります。変換のための O(N) + 検索のための O(log(N)N) + 重複の除去のための O(N)。O(N!N) >> O(log(N)N)

Canonical グラフのラベル付けに関するこの論文を見つけましたが、疑似コードではなく数式で非常に簡潔に説明されています。

tldr:バイナリ同形チェックでチェックするグラフがありえないほど大量にあります。これが行われる一般的な方法は、正規の順序付けによるものだと思います。パッケージ化されたアルゴリズム、または公開されている簡単に実装できるアルゴリズム (つまり、疑似コードを含む) はありますか?

0 投票する
1 に答える
221 参照

set - fun を使用した Coq での Curry-Howard 同型定義

Coq での定義、具体的には CHI を使用した定義で問題が発生しています。基本的な原則については理解できましたが、これを定義しようとすると」

それが私に言い続けているという事実のために、私はどこにも行きません:
"Error: The type of this term is a product while it is expected to be "C"
以前のスクリプトで使用した通常の戦術を既に試しましたが、これは同じ方法 (楽しい) を使用して解決する必要があると確信していますが、試みているように見えるすべてがそのエラーメッセージで終わります。任意のヒント?

0 投票する
1 に答える
1151 参照

matrix - Incidence matrices

Permutation of any two rows or columns in an incidence matrix simply corresponds to relabelling the vertices and edges of the same graph. Conversely, two graphs X and Y are isomorphic if and only if their incidence matrices A(X) and A(Y) differ only by permutations of rows and columns.

Can someone explain me what does it mean, with an example. What exactly does "permutation of any two rows or columns" over hear means?

0 投票する
1 に答える
1314 参照

matlab - ウルマンのサブグラフ同型アルゴリズム

誰かが、MATLAB で動作するウルマンのグラフ同型問題の実装を教えてくれるか、リンクしてくれませんか。または、少なくとも C を使用している場合は、MATLAB で実装しようと思います。

ありがとう