memo373 : WP-1103

Created Wed Nov 3 19:13:12 2010
Last Modified Wed Nov 17 16:35:49 2010

*#1 Wed Nov 3 19:13:12 2010 / Wed Nov 17 16:35:49 2010

memo375 Forward <= Today => Previous memo372

*

*#2 Wed Nov 3 19:13:39 2010 / Wed Nov 3 19:14:40 2010

テキストファイルの行数を表示する

$ wc -l [file]

*#3 Wed Nov 3 19:49:40 2010 / Wed Nov 3 21:46:07 2010


ぐだぐだ書いてるけど結局は
「ゲートにコメントつけるときは気を付けなさい」
で片付く内容。

以下保存用
------------------------

*anapawのゲートがおかしい?問題

ゲートA, Bを用いて次のようなゲートを構成する:

C:=  A & !B
D:= !A &  B
E:=  C | D = ( A & !B) | (!A &  B)

この3つのゲートを同じデータにかけ、ゲートを通るイベントの数を数える。
ゲートXを通るイベントの数をc(X)とすると、包除原理[LINK]より

c(X|Y) = c(X) + c(Y) - c(X*Y)
-> c(X|Y) <= c(X) + c(Y)

が成り立つ。

しかし、実際に各ゲートをかけたときのカウントを見ると、
C: 1118652
D: 1094044
E: 9666014

となり、上式が成り立っていない。

考えられる原因は、
1. NOTゲートのかけかたが間違っている
2. 包除原理の適用方法が間違っている
3. anapawがおかしい

ヒストグラム定義(抜粋)
------
gate
56, 1,301,301,2,-0.5,0.5, 'neut100 M=0'
57, 1,302,302,2,-0.5,0.5, 'neut200 M=0'
and
63, 56,-57, 'only N100'
64,-56, 57, 'only N200'

or
65, 63, 64, 'N100 or N200 only'

hst2
63, 1,1,45,1, 1,1,45, 4, 45,0.5,45.5, 100,0,2000, 'ID vs Au (A&&!B)'
64, 1,1,45,1, 1,1,45, 4, 45,0.5,45.5, 100,0,2000, 'ID vs Au (!A&&B)'
65, 1,1,45,1, 1,1,45, 4, 45,0.5,45.5, 100,0,2000, 'ID vs Au (A&&!B)||(!A&&B)'
------


色々見ていると、 C|D = free、つまりトートロジーになっている。
ついてにC&D = mask all.
-> C|D = !(C&D).
-> C = !D.
しかし、実際の定義では !D = !(!A & B) = A  | !B であり、 C = (A & !B)とは異なる。

*Linked from: