連続した行と列の間の変更回数を最小限に抑えるために、バイナリデータを含む行列の行と列を並べ替える方法について説明したa spreadsheetになりました。例えば類似度で行と列をソートするアルゴリズム
が始まる:
spreadsheedのタブで説明15の手動手順は、次の表が得られた後
:
私がしたいです知っている:
- このアルゴリズムまたはメソッドの共通名は何ですか?
- 大きなテーブルに適用する方法(2^nがオーバーフローする...)
- Levenshtein distanceなどの非バイナリデータに一般化するにはどうすればよいですか?
- コードへのリンク(エクセルVBA、Pythonの、...)すでにこれを実装する(そうでない場合、私はそれを書くよ...)
感謝がある場合は!
{0,1}^nのユークリッドハミルトニアン経路です。 hampathはTSPと密接に関係しているので(hampathとTSPは一般的なグラフではnp-hardです)、私たちはTSPの近似アルゴリズムを持っていますが、最適解を期待していないので、定数因子近似アルゴリズムがあると思います私は、この特定の空間に対する硬さの証明が存在することを完全には確信していません。これがPであれば驚くでしょう。私はVBAが何をすることができないのか分からないので、近似を実装できるかどうかはわかりませんそこにアルゴリズム。 –
第2の見方をすると、距離は実際にはユークリッドではなく、ハミング距離です。私は硬さの証明や近似アルゴリズムは知らないが、おそらく存在するだろう。 –
関連:[グレーコード](https://en.wikipedia.org/wiki/Gray_code)、またn-aryの亜種として利用できます。 – Norman