マエカワの備忘録的な何か

思い立ったが吉日

情報通信システム 其の九 20170615

加法二元通信路の通信路容量

前回紹介した誤り源からの信号と入力信号との排他的論理和を出力信号にするという通信路モデルにおける通信路容量を考えていきます.
結論から言うと

  \displaystyle C=1-H(E)

になります.
ではその証明を…

  \displaystyle \begin{eqnarray} I(X;Y)&=&H(X)-H(X|Y)\\&=&H(Y)-H(Y|X)\\&=&H(Y)-H(X+E|X)\\&=&H(Y)-H(E|X)\\&=&H(Y)-H(E)\end{eqnarray}

こんな感じに式変形ができます.ここで、 \displaystyle H(Y)の最大値を考えることにより、通信路容量がわかります.
では、最大値は何なのか…?
 \displaystyle \vec{p}=(\frac{1}{2},\frac{1}{2})とするならば、誤り確率 \displaystyle Eがどんな値をとろうとも出力確率分布は \displaystyle \vec{q}=(\frac{1}{2},\frac{1}{2})になり一定.このとき \displaystyle H(Y)は最大値 1をとるので、

  \displaystyle C=1-H(E)

と求めることができる.

続きを読む

javaで自動ツイートをしたい

とある講義で、twitterに情報を定期的に上げるプログラムを組みたいということで、javaを用いてやっていこうと思います.

 ということで、twitter4jっていうAPIがあったので活用していきます.
 このAPITwitterクラスのtwitterStatus()メソッドのカッコの中の文字を新しくツイートしてくれるらしいです.
 そして、twitterAPI1.1からOAuthっていうものが必要になったらしく、電話番号登録済みのツイッターアカウントを一つ犠牲にして登録いたしました.Application Manegementっていうところで登録できます.ツイッターのアプリケーションを作るために必要なものらしいのですが、今回の自動ツイートも結局botなのでこいつを使っていきます.

続きを読む

プログラミング言語演習 scheme編

リストを表示するのはこれまでの言語では[]だったが、schemeでは()を用いていく.空白を用いてデータの区分けをする.
iEDのターミナル上の応答型エディタではhistoryや方向キーが対応しないため、少し入力しずらい。

1.リストの先頭に要素を足す

>'(2 3)
(2 3) ;普通のリスト表示.'は次の値がデータですよーってことを表す.
>
>cons 1'(2 3)
>#<procedure:cons>
>1
>(2 3) ;これはなんかやばそう
>
>(cons 1'(2 3))
(1 2 3)
>
>(cons '+(cons 1'(2 3)))
(+ 1 2 3) ;これは1+2+3を表している.
>
>(eval (cons '-(cons 1'(2 3))))
-4 ;evalは評価関数.ここでは1-2-3=-4を実行して表示している.

2.演算の表記

続きを読む