t_wの輪郭

Feedlyでフォローするボタン
ビット演算

xor

2024/6/3 9:40:00
あれ『Fast top-K Cosine Similarity Search through XOR-Friendly Binary Quantization on GPUs』ビット列のコサイン類似度あれあれxorの微分xorはビットの微分xorでビット列の類似度が出せるあれxorの逆関数はxorxorshiftxorの回転あれあれXOR = (x, y) => (1-Math.cos(Math.PI * x - (Math.PI * y))) / 2XOR = (x,y) => 2 * (Math.max(x, y) - Math.min(x,y)) - 1 あれxorrotate『ARC124 B XOR Matching 2 - Example's Shojin』あれxor(x)=or(X)-and(X)xor(X)=max(X)-min(X)xorは繰り上がり無しの加算実数にしたxorXNORあれあれ

XNOR

2024/6/30 23:18:00

あれ

2024/6/11 9:18:00

x1^w^x2^w^...^xn^w

あれ

2024/6/10 23:25:00

xorrotate_rightrotate_leftで、ベクトル化された微分可能な述語論理が構成できる気がするんだ……。

述語論理の述語と個体を{0,1}のベクトルであるところのビット列で表現したい。

正規表現の微分が定義できるんだから、述語論理の微分ぐらいイケるやろ。

あれ

2024/6/10 23:08:00

xorが回転っぽいので、別方向の回転であるところのrotate_rightと組み合わせたら黄金の回転が生まれ出てこないだろうか。

あれ

2024/6/10 23:02:00

ITエンジニアはみんなxor大好きかと思いきや、ウケが悪いな。私がxor好きすぎるだけかもしれん。10年ぐらい執着してる。

あれ

2024/6/10 22:48:00

XOR = (x,y) => Math.max(x,y) - Math.min(x,y)

この定義からは更に回転している臭いがむんむんにしている。
図で見ると、位相の移動を感じる。


XOR = (x,y) => 2 * (Math.max(x, y) - Math.min(x,y)) - 1

こうしてやると、更に回転っぽくなる。原点を中心に回っている感じがする。


XOR = (x, y) => (1-Math.cos(Math.PI * x - (Math.PI * y))) / 2

xorをcosとsinで定義できた。
xやyが1.0より大きい値にはみ出したときにもxorっぽく振る舞うのが嬉しい。

あれ

2024/6/10 21:19:00
XOR = (x, y) => Math.min(Math.max(x, y), Math.max(1-x, 1-y))

あれ

2024/6/10 21:16:00
XOR = (x,y) => Math.max(Math.min(1-x, y), Math.min(x, 1-y))

あれ

2024/6/10 21:15:00
XOR = (x,y) => Math.max(x,y) - Math.min(x,y)

あれ

2024/6/10 20:41:00

なんかxorから正弦関数と余弦関数の風を感じる。ビットが実部と虚部の二次元で回転しているのが見える。

あれ

2024/6/10 20:28:00

ビット演算のうち、xorとかrotate_rightとかは逆関数が定義できて楽しい。