# HTTF
## bit を作る部分2
* 次数を埋め込む
* ネットワークで正則グラフじゃないグラフ出てきた気がするが忘れた
* クリーク埋め込んで反転後に次数列がどうなるか観察する
* クリークでダメなら正則グラフ頑張って書く
* 頂点swapは出力を並び替えるだけでグラフの形は変わらないらしい
* 正則グラフじゃなくても次数が埋め込めればいいね
* エラー後に分布が離れてる次数列を埋め込む
* 焼きなまそう!
* 正則グラフを複数埋め込む
* N = 100 にする
* bitsetにする
* ランダムグラフを生成して消す
* 最初は近傍を大きく
* 距離が小さいペアを焼き鈍す
* 次に小さいペアを超えるまで
* epsが大きくなるほどflip後の距離が小さくなるので温度を下げる
* 候補を列挙したあとに消す仮定でminがminなものを消してるが、それは2つあるはずで、消したあとにminが大きくなる方を消す
## 推定
* Eでフリップ後のbitの数と比較する
* エラー後の分布の平均との距離を測る
* L2距離より良い距離がほしい
* (2, 0, 0, 0)と(0, 0, 0, 2)より(0, 2, 0, 0)と(0, 0, 2, 0)の方が近いのに、これが反映されない
* 重み付き平均をとるか
* これいらなそう!w
* KL/CEなども試す
* KLはいいぞ
## 焼きなましチェック
0003.txtで13と14の分布がほぼ一緒(E=75)

びっくりするほど改善してなくて草

## その他
* どっちの解法が優れてるのか$(M \times \epsilon)$の空間にプロットしたほうがいい
* 相対スコアが思ったより効いていて、絶対スコアが信用ならん
* 4556503.68
* 4225704.35
## パラメータで解法を分ける
正則グラフとbitの数の埋め込みの性能がきれいに分かれている
なんか知らんがMが大きいかepsが小さいスコア伸ばしても相対スコアカスです

* 山登り: 6288657.96
* 正則グラフ: 5158143.17
* ベースライン: 3664411.54
* アンサンブル: 5736102.85
### N = 64 vs N = 96
a, b = -0.0035, 0.38

↓ ぜ〜んぶ誤読でした、カス!
## bit を作る部分
* 最小距離2kのbitの集合を作る
* k bit を 1 bit として bit が2の倍数個立っている 2 進数 $(0, 2, 4,..., \frac{N}{k})$を列挙
* $2^{\frac{N}{k}-1} \ge M$ 個のbitが作れる
* $p( \lt k) = \sum_{i = 0}^{k} \binom{N}{i} \epsilon^i(1 - \epsilon)^{N - i}$: 誤差が $k$ 個以内に収まる確率
* $p(\lt k) \ge P$ となるような最小の $N$ を求める
* 全列挙
## 順列を推定する部分
* 推定
* 尤度
* 距離がkの組み合わせをswap