パスワードを忘れた? アカウント作成

ssigさんのトモダチの日記。 アナウンス:スラドとOSDNは受け入れ先を募集中です。

5096471 journal
日記

SS1の日記: apjさんの面接授業にいってきた。 1

日記 by SS1

放送大文教学習センターでおこなわれた、apjさんの面接授業に行ってきました。6月29日から3日間。

私自身がトンデモ呼ばわりされることはあっても、その逆は無いわけで。 いろいろとアレな気持も抱きつつ、講座を受講する。

講義内容は、いたって真面目な一般大学生向けの物理学の講義となっていて、放送大学でいうと「科学実験法」みたいなのを理解しているか、これから理解しようと志している人に向いた内容だったと思う。ただし、学部生ならもっと厳しく課題を与えるとのこと。

授業内容は、ぎりぎりまで準備を重ねたそうで放送大学のシラバスでは不十分なところがあったので、講義中に出てきた参考文献のメモ書きをつけとく。ノートから起こしてるので、いろいろと間違いがあるカモなので、すんません。

勝手にシラバス

『だれが原子をみたか』,江沢洋著
『熱力学思想の歴史的展開』1~3,山本義隆,ちくま『熱力学の基礎』,清水明,東京大学出版会
『水の書』,荒田洋治著,共立出版
『H2O 水の伝記』,フィリップ・ボール著,NewtonPress
『量子力学』,ともながしんいちろう
『幻の大発見』,アービング・N・クロッツ 朝日新聞社
『伊藤真 実務法律講座 知的財産法』,弘文堂
『わたしたちはなぜ科学にだまされるか』,ロバート・L・バーク,主婦の友社
『トンデモ科学は見破り方』,ロバート・アーリック
『七時間目のUFO研究』,藤野恵美

さってと。今日中にレポートを書かなきゃ・・・ なのだけど、取り上げる予定だった「パイウォーターを使ってるソバ屋(製麺所)」が、パイウォーター表示をやめてて、別ネタでレポートの制作中(というか、これから書く)。

1490303 journal
数学

SS1の日記: 天地不明察 1

日記 by SS1

今、アフタヌーンで連載しているマンガ。天地明察がおもしろい。現在のストーリーは、江戸時代に日本の天文学を復興することになる渋川春海が、算術家の関孝和に和算の設問をしたが、それに誤りがあって大ショックを受ける。というところ。

作図された問題なのでマンガだとわかりやすくていいんだけど、気になったのが、「誤り」を正した元の答えがいくつなのか? ということ。作中では「径矢弦の法を使えば解ける」とかいうんだけど、まあ、ふつーに解いてみようかとおもって。

作図の誤りを直すと、いわゆる「三平方の定理」で解ける問題で、直角二等辺三角形の長辺が、7分の30寸。でもって、短辺と、それに直角のところから垂線を引いて、そのまた短辺との差を求めればよい。はず。

でまあ、計算してみましたですよ・・・ 式は、こんなかんじ。

 (√2-1)*15/7  …式1

で、√2って、算学ではどう記述すんだろうとか・・・ もう、「平方根」とかあったのかな。それに設問で有理数を使っているので、答えも有理数で・・・ と思ったが、無理数の答えは、半紙に書けないと思われ。それに、√2って、当時はどうやって計算するんだろう・・・とか。ここから、脱線して√2を計算する方法を考えてみた。

えーと。√2ってのは、

2=x2 …式2

だから、この式2をいじって、追い込む方法を考える。

式2は、交換法則をつかうと、

x=2/x …式3

とできる。んで、式3から、

{ y=x、 y=2/x } …式4

という関数を作って、グラフにプロットすると、双曲線と斜めの直線のグラフになる。これの交点を求めれば√2になるわけだ。

んでまあ、けっこう苦労したりしたんだけども、次のような性質を利用して式を立てればいい。

0 < x < √2 のときは、 0 < 2/x - x  で、
√2 < x ≦ 2 のときは、 0 > 2/x - x  なので、

x1 = 1
xn+1 = xn + (2/xn - xn)/2 …式5

みたいな、数列を作れば√2に収束する。 式5の最後2で割るのは、こうしないと発散しちゃうため。xの逆数を求めるのがウザイが、まあ、答えが有理数でよければ、分数の天地を入れ替えるだけなので・・・

というところで、√2の計算で燃え尽きた。ので、渋川春海の答えを出すところまでやってないんですが、このやりかただと「径矢弦の法」というより、ニュートン法だよねぇ・・・とか。 作品の舞台は1661年とのことで、まだニュートン生まれてないよねぇ・・・だし。いったいどうやって、答えを求めたんだろう・・・ などと。

1430939 journal
教育

SS1の日記: 放送大学で apj さんの教え子になろう! 1

日記 by SS1

放送大学の文京学習センターの6月の面接授業で、あの「と学会」のクールビューティーこと apj さんが、講師をされるそうです。講義は、ズバリ直球の「科学とニセ科学を考える」です。サマリーはこちら。
http://syl-web1.code.ouj.ac.jp/ouj-f241/dt-10092.html

申し込み開始は、在籍者は2月8日から。新規入学あるいは、この講義だけの受講したい学外者は定員に空きのあるときだけ、その後の追加登録から可能になります。講師の関係者等で聴講されたい場合は、講師に直接お問い合わせしてみると、いいんじゃないでしょうか。

まあ、しかし。放送大の面接授業って、ちかごろフリーダムだなぁ・・・

--
サマリーに参考文献がないので、関連ありそうなののメモ。

水に関する誤解(疑似科学を通して考える) http://ci.nii.ac.jp/naid/110008592795

水商売ウォッチングLIVE! http://ci.nii.ac.jp/naid/110006413555

科学の目で見る 水を取り巻く事象を考える--『水からの伝言,生体構成水・還元水を検証する (特集 ニセ科学を見抜くための基礎講座) http://ci.nii.ac.jp/naid/40015393003

「水商売ウォッチング」から見えたもの(ニセ科学シンポジウム) http://ci.nii.ac.jp/naid/110007491323

1265395 journal
Java

Cubeの日記: 2012: あけおめことよろ

日記 by Cube

T/O

[CentOS メモ]
Oracle(つーかSun)製 JDK をインストールした後,
以下のシェルスクリプトに適当な名前を付けて sudo で実行すると

#!/bin/bash
if [ ! -f /usr/java/latest/man/ja/man1/java.1.gz ]
then

                pushd /usr/java/latest/man/ja/man1 > /dev/null
                for MAN in `ls /usr/java/latest/man/ja/man1/*.1`
                do
                                gzip $MAN
                done
                popd > /dev/null
fi

alternatives --verbose --install /usr/bin/java java /usr/java/latest/bin/java 20000 \
--slave /usr/bin/orbd orbd /usr/java/latest/bin/orbd \
--slave /usr/bin/keytool keytool /usr/java/latest/bin/keytool \
--slave /usr/bin/pack200 pack200 /usr/java/latest/bin/pack200 \
--slave /usr/bin/rmid rmid /usr/java/latest/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/latest/bin/rmiregistry \
--slave /usr/bin/servertool servertool /usr/java/latest/bin/servertool \
--slave /usr/bin/tnameserv tnameserv /usr/java/latest/bin/tnameserv \
--slave /usr/bin/unpack200 unpack200 /usr/java/latest/bin/unpack200 \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/java/latest/man/ja/man1/java.1.gz \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/java/latest/man/ja/man1/keytool.1.gz \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/java/latest/man/ja/man1/orbd.1.gz \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/java/latest/man/ja/man1/pack200.1.gz \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/java/latest/man/ja/man1/rmid.1.gz \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/java/latest/man/ja/man1/rmiregistry.1.gz \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/java/latest/man/ja/man1/servertool.1.gz \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/java/latest/man/ja/man1/tnameserv.1.gz \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/java/latest/man/ja/man1/unpack200.1.gz

alternatives --verbose --install /usr/bin/javac javac /usr/java/latest/bin/javac 20000 \
--slave /usr/bin/appletviewer appletviewer /usr/java/latest/bin/appletviewer \
--slave /usr/bin/apt apt /usr/java/latest/bin/apt \
--slave /usr/bin/extcheck extcheck /usr/java/latest/bin/extcheck \
--slave /usr/bin/jar jar /usr/java/latest/bin/jar \
--slave /usr/bin/jarsigner jarsigner /usr/java/latest/bin/jarsigner \
--slave /usr/bin/javadoc javadoc /usr/java/latest/bin/javadoc \
--slave /usr/bin/javah javah /usr/java/latest/bin/javah \
--slave /usr/bin/javap javap /usr/java/latest/bin/javap \
--slave /usr/bin/jconsole jconsole /usr/java/latest/bin/jconsole \
--slave /usr/bin/jdb jdb /usr/java/latest/bin/jdb \
--slave /usr/bin/jhat jhat /usr/java/latest/bin/jhat \
--slave /usr/bin/jinfo jinfo /usr/java/latest/bin/jinfo \
--slave /usr/bin/jmap jmap /usr/java/latest/bin/jmap \
--slave /usr/bin/jps jps /usr/java/latest/bin/jps \
--slave /usr/bin/jrunscript jrunscript /usr/java/latest/bin/jrunscript \
--slave /usr/bin/jsadebugd jsadebugd /usr/java/latest/bin/jsadebugd \
--slave /usr/bin/jstack jstack /usr/java/latest/bin/jstack \
--slave /usr/bin/jstat jstat /usr/java/latest/bin/jstat \
--slave /usr/bin/jstatd jstatd /usr/java/latest/bin/jstatd \
--slave /usr/bin/native2ascii native2ascii /usr/java/latest/bin/native2ascii \
--slave /usr/bin/policytool policytool /usr/java/latest/bin/policytool \
--slave /usr/bin/rmic rmic /usr/java/latest/bin/rmic \
--slave /usr/bin/schemagen schemagen /usr/java/latest/bin/schemagen \
--slave /usr/bin/serialver serialver /usr/java/latest/bin/serialver \
--slave /usr/bin/wsgen wsgen /usr/java/latest/bin/wsgen \
--slave /usr/bin/wsimport wsimport /usr/java/latest/bin/wsimport \
--slave /usr/bin/xjc xjc /usr/java/latest/bin/xjc \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/java/latest/man/ja/man1/appletviewer.1.gz \
--slave /usr/share/man/man1/apt.1.gz apt.1.gz /usr/java/latest/man/ja/man1/apt.1.gz \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/java/latest/man/ja/man1/extcheck.1.gz \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/java/latest/man/ja/man1/jar.1.gz \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/java/latest/man/ja/man1/jarsigner.1.gz \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/java/latest/man/ja/man1/javac.1.gz \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/java/latest/man/ja/man1/javadoc.1.gz \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/java/latest/man/ja/man1/javah.1.gz \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/java/latest/man/ja/man1/javap.1.gz \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/java/latest/man/ja/man1/jconsole.1.gz \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/java/latest/man/ja/man1/jdb.1.gz \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/java/latest/man/ja/man1/jhat.1.gz \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/java/latest/man/ja/man1/jinfo.1.gz \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/java/latest/man/ja/man1/jmap.1.gz \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/java/latest/man/ja/man1/jps.1.gz \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/java/latest/man/ja/man1/jrunscript.1.gz \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/java/latest/man/ja/man1/jsadebugd.1.gz \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/java/latest/man/ja/man1/jstack.1.gz \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/java/latest/man/ja/man1/jstat.1.gz \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/java/latest/man/ja/man1/jstatd.1.gz \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/java/latest/man/ja/man1/native2ascii.1.gz \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/java/latest/man/ja/man1/policytool.1.gz \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/java/latest/man/ja/man1/rmic.1.gz \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/java/latest/man/ja/man1/schemagen.1.gz \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/java/latest/man/ja/man1/serialver.1.gz \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/java/latest/man/ja/man1/wsgen.1.gz \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/java/latest/man/ja/man1/wsimport.1.gz \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/java/latest/man/ja/man1/xjc.1.gz

すると何かと幸せになれる。

1083135 journal
原子力

SS1の日記: オペレータのミスはエンジニアの責任 7

日記 by SS1

今日,NHKで福島原発事故の再現をドラマ仕立てにした番組がやってて,それを見たのだが。まあ,泣けた。

以前に書いたように,私は原発のシステムの改修(放射線量の単位をrem からsv)に変更する作業を4次受けの立場でおこなったことがあって,そのとき,このシステムは非常時に動作しないかもな。という感想を持った話を書いた。

こないだ受講した放送大学の授業でもいってたけど,それがISSのアストロノーツのような優秀なオペレーターであっても,事前にきちんと訓練されていなければできない。という話を教わった。

NHKの番組の記事は,失敗学のサイトなどで報告されているような原発事故の事象の推定をもとに,ステーションブラックアウトに陥った原発の制御室のオペレーターがどのような状況におちいったか,そして,どのような錯誤をもとに深刻な事態の進行を見過ごしたか。という状況を説明していた。

再現ドラマそのものは,まるで,太平洋戦争の戦記物のようで,現場のリアリティをすくい出せていなかったように思うが。そのデタラメな数値を示す計器盤に,現場が錯誤にもとずく操作を進めていく様子には胸を打たれた。

原発の非常時に役に立たない非常用システムに翻弄されるオペレーターの背景には,そういうシステムを作ったエンジニアがいる。オペレーターは情報が封鎖された中で非常時に使い物にならないシステムが,期待どおりに動作していると期待して,オペレーションを行った。

福島第一の事例では,それぞれの原発を担当したPE(professional Engineer)がいるわけだが,このTVを見てどのような感想をもったのだろうか。

アメリカ人だから見てない? ああ,そうかもね。

1056343 journal
数学

SS1の日記: ガロワ体のマトリックスでハミング (…)

日記 by SS1

今度は、面接授業でハミング符号理論のお勉強をしてきました。平日の授業なので、すべて参加することはできませんでしたが。主にハミング符号のところだけ受講しました。

誤り訂正符号設計入門 - 藤原英二 - 放送大学面接授業 シラバス
http://syl-web1.code.ouj.ac.jp/ouj-f232/dt-8554.html

講師の藤原英二東工大名誉教授は誤り訂正符号理論の専門家で、中でも拡張ハミング符号の改良である「奇数重み符号(M.H. Hsiao 1970」の応用をいろいろ研究してきた方です。

その中で,でた演習問題(同講義レジュメ、p.36,と書いても参照できる人はいないけど・・・・)がHP電卓で解くには手頃だったので、その結果からレポート書いて持っていったら,先生にウケたのでその話とか。

ハミング符号は、Wikipediaにあるように、一般化すると行列演算として検査行列(H)で表現されます。で、授業では放送大学生向けにわかりやすく、ビット列のANDとXORで論理回路を組む時のような解法で教えてて、んでまあ、電卓でもそういうコードを書いてみて、いろいろいじってたんですが、ふと、ベクトル演算でやってみたらどうなる? と、書き換えてみたら、こっちのほうが実行時間が短かったという・・・ ベクトルのほうが早いって、どこの地球シミュレータですか!

ちなみにHP48の実効速度は50FLOPS(地球シミュレータのCPU一個分の約1.6×10^‐14倍)くらい。とはいえ、組み込みのMATRIX型を計算に利用すると実効速度きっかりの演算速度を出してくれる。こりゃべんりだ。てなわけで、あれこれ試していると、普通の学生よりハミング符号理論の理解が進んだようでした。

行列を素手で演算するととっても大変なんですが、面倒なところを電卓がやってくれるならこれくらい楽なのも無い。というわけで、HP電卓のマトリックス演算でハミング符号をn次の2元数{0, 1}にして計算してみた。hp48のMATRIX演算には、いろいろ制限があるので、それに合わせた計算手順になってます。なお,以下の話は先生に添削してもらったわけではないので,間違ってるところもあるかと。

ハミング符号をHP電卓で生成してみる

Wikipediaにあるハミング符号(7,4)の検査行列をHP電卓のMATRIX型で表現するとこんな感じ、

H:[[ 1 0 1 1 1 0 0 ][ 1 1 0 1 0 1 0 ][ 0 1 1 1 0 0 1 ]] ハミング行列

で、データ列は、こんなかんじ。

D:[ 1 0 1 1 ] データ列

んでまあ、ハミング符号(De)の生成は、

De='D*TRN(H)'

というかんじなので、このまま演算してくれれば・・・ とおもったが、そこまで簡単でもなかった。いろいろやってみるとHP電卓は、n×nのマトリックスとn桁の行列みたいな計算はできるけどその逆順の演算や、次元の拡張を伴う計算はできないみたいなのね。んで、生成式はこんな感じに、ハミング行列は,WikipediaによるとH = [ A Im ]で,生成符号がG = [ Ik AT ]なので
HP電卓上で:

[[ 1 0 1 1 ] 1 1 0 1 0 1 1 1 ] 'A' STO
[ 1 0 1 1 ] 'D' STO

として。で、'A*D'を評価すると・・・

1:'A*D' [EVAL]
  ↓
1:[ 3 2 2 ]

ってなる。これがECC (Error Control Code)になる・・・ んだけど、パリティは保存されてるけど2元値になってないので、2元値{0,1}に変換するプログラム(parity)を書いて,上記パラメタで実行する。

1:[ 3 2 2 ] parity
  ↓
1:[ 1 0 0 ]

んであとは,[ D*I4 D*A ] ってして行列にしてくれればいいんだけど,そもそもHP電卓では単位行列をかけても1次の行列は,

2:[[1 0 0 ]
    [ 0 1 0 ]
        0 0 1]]
1:[ 1 2 3 ]
    *
  ↓
1:[ 1 2 3 ]

てかんじで,そのまま結果の行と列が入れ替わらないなのだね。あと,2つの行列をつなぐとかも組み込み演算子ではできないみたい・・・ そんなわけで,次式

De=[ D*I4 D*A ]

を計算するプログラムをつくった。

@
@ スタック上の演算結果のマトリックスからパリティを取り出し,
@ 2元値{0, 1}に変換する演算
@
《 →ROW → n 《 1 n START 2 MOD n ROLLD NEXT n →ROW 》》 'parity' STO

@
@ ハミング符号のエラーチェックコード(ECC)の演算
@
《 A D * parity 》 'ECC' STO

@
@ エラーチェックコード(ECC)とデータ部(D)を連結する処理
@
《 D →ROW → n 《 ECC →ROW n + ROW→ 》》 'De' STO

行列の結合はスタック上にいったん分解して,それを組み立てる方式。

で,Deを実行すると,

'De' [EVAL]
        ↓
1:[ 1 0 1 1 1 0 0 ]

という生成されたハミング符号が得られる。こうやって説明すると大変だけど,書いたプログラムは前述の3行だけ。リストやバイナリ演算を使うととてもここまで簡単にはならない。なんでも湘南工科大学ではテスト時に電卓持込み可だけどテスト中にプログラム電卓を片っ端からリセットしてまわる先生がいるらしいが,これだけ短ければ安心だね^^。

ハミング符号からシンドロームを求める

さてと,こうして作ったハミング符号の復号はざっと説明しよう。電卓に実装したプログラムは基本的にHの各要素のパラメタ(シンドロームという)を細かくいじるのが目的なのだが,Hの中身はAと単位行列を除きいっしょなので,Aからハミング行列H=[ A I3 ]を求めて,そこから受信データ Yのシンドローム(S)を演算する。

《 A SIZE 1 GET IDN 》 'Im' STO
《 A →COL → n 《 Im →COL n + COL→ 》》 'H' STO

で,Hを実行すると。一番最初に書いた行列Hが得られて,あとは一ビットの誤りのある受信データYから,シンドロームの計算をしてみる。

[ 1 0 0 0 0 0 0 ] 'E' STO @ エラーベクトルの定義
De E + parity 'Y' STO @ 受信データの定義
《 H Y * parity 》 'S' STO @ シンドロームの計算

で,Sを実行すると。

[ 1 1 0 ] というシンドローム列が得られる。[ 1 1 0 ] というシンドロームは,行列Hの一列目と同じであるため,この値からエラーベクトル(E)を生成することができ,そこから,正しいデータを求めることが可能になる。

符号間のハミング距離を計算してみる

さて。このような1ビット訂正を行うには,ハミング符号の最小符号間距離が3以上なければいけないとのこと。最小符号間距離とは,すべての異なるハミング符号の組み合わせで最小のハミング距離のこと。ハミング距離についてはwikipediaにある。

・・・でまあ,この解説を読んでいると脳がフリーズするわけだが,じっさいにやってみるとそんなに難しくはない。具体的に符号(V1)と符号(V2)の距離を測ってみよう。

[ 1 0 0 0 ] 'D' STO De S @ V1を求める
[ 0 1 0 0 ] 'D' STO De S @ V2を求める
        ↓
2:[ 1 0 0 0 1 1 0 ] @ V1
1:[ 0 1 0 0 0 1 1 ] @ V2

- ABS 2 ^ @ |V1-V2|^2
        ↓
1:4 @ V1-V2のハミング距離は4

で,調べたい符号間距離が出せる。簡単には二つの符号間のエラーベクトル(E)を求めて,そのEの1が立ってる数を数えればいいんだけど。|V1-V2|^2でも大丈夫。理由は… だって距離なんだし(…)。ちなみに,シンドロームのベクトルの1の数を重み(Weight)と呼んで,演習中にいちいち数える必要があったんだけど,これも一個ずつかぞえるプログラムを組むより,こっち使ったほうが速かった(…)。

さて。ハミング符号では,この符号間距離が必ず3以上になるように設計されている。そのとき,最小符号間距離が3である。と呼ぶ。そのため,受信データの1ビットのエラーを訂正することができる。というのは,1ビットエラーの受信データのハミング距離はもともとの符号からは1で,それ以外は2以上になるから。このためエラー前の正しい符号を特定して訂正できるわけだ。

んで,先生のおっしゃるには,「最小符号間距離を5以上にした符号をつくれば,2ビット訂正ができるよ」。というわけで,これが受講後の演習課題になってるわけだが,これが面倒なのよ・・・

そんなわけでエラー訂正にからむ情報理論は,まあ,なかなか面白いなぁと思ったのだが,誤り訂正符号の基礎理論はハミングが考案した1950年から,さっきの奇数重み列の1970年までで,あらかた出尽くしてしまっているそうだ。だから数理科学者になるともうすることが無いらしいし,工学の立場でも研究分野がなかなか見当たらないらしい。

そこで東工大時代の藤原英二氏は,JAXAと多ビット訂正可能な宇宙用メモリーの開発をされたとか。ググると,2件くらい関連特許がありますね。

http://aerospacebiz.jaxa.jp/patent/detail.php?did=1911
http://aerospacebiz.jaxa.jp/patent/detail.php?did=1912

今回の授業でよかったのは,この特許の明細が解読可能になったことかな?
ただし,今回のように「HP電卓で計算してみた」が,できるようになるのは,HP電卓のデータ型に多元ガロワ体が実装されてからになると思う。つーか,数式ソフトで多元ガロワ体の行列サポートしてるやつとか,あるのかな?

--

受講レポートでいつもつけてる自分の放送大学籍番号は,たぶん出席日数不足で単位落としているので省略しました。

あと,あたりまえですが,ハミング符号の演算は実用的な長さ(64ビットとか)になると,バイナリ計算でやるほうがベクトル演算よりもHP電卓のインタープリタでも早くなります。ベクトル演算では演算量が,ハミング符号のサイズそのままに増加するので,データ長が長くなると不利になります。というかベクトル演算が早いのはバイナリ演算では演算結果を読みやすい書式に書き直すコストがかかっていて,その差が出てるのかもしれない。です。

なのでPC上で実用的な誤り訂正符号をシミュレーションする場合は,HP電卓みたいな数式ツールを使うより,VHDLシミュレータをぶん回すほうが早いと思います。ただまあ,論理上の整合性を検討したい場合は,VHDLを使うとコードの整合性の検証に手間をとられることを考えれば,素で定義した行列演算のほうがトータルで速いと思います。それとハード向きの並列演算をソフトで実装した時のコストを体感的に理解するなら,こういうプログラムを書いてみる価値はあると思います。

ちなみに,1ビット誤り訂正と2ビットの誤り検出を行う二つの符号の,ハミングSEC-DED符号と奇数重みSEC‐DED符号を自分がHP電卓に実装したアプリで比較すると,ベクトル演算を用いる場合はハミングSEC-DED符号が早く,バイナリ演算では奇数重みSEC‐DED符号が早くなりました。この差は,パリティ演算にかかるコストと行列演算にかかるコストの並列性の違いが原因だと思います。CPU上では,複数のXOR演算でもレジスタ値なら一発で計算できるので。ただこれも,私の書いた実装ではそうなった・・・ というお話。

--

12/18 読み返したら(笑)がウザかったので,(…)に変更。

913719 journal
日記

SS1の日記: 母の節電 5

日記 by SS1

ゆえあって、実家に滞在中。 理由は、まあ… そのうちネタにするかも。

んで、母の手料理につきあうことになるわけだが… 朝食は、ごはんとダシ抜きの味噌汁と浅漬け野菜に塩ジャケに納豆。子供時代に急性腎炎を患った身にはつらい塩分量の朝食がならぶ。

のけぞったのが電子レンジの使いかた。シャケを焼くのに使ってたんだが、母は焼きあがった直後の、レンジがファンを回しているすぐその場で、電源をコンセントからぶっこぬくのである。げげげげ。電気の切れたファンはキューンと鳴いて沈黙する。おかあさん何してるの? と聞いたら、

「節電のためよ。電気がもったいないから」

とのこと… いや、んなことされたら節電以前に壊れちゃうと思うんですが…

それで、思い出したんだけど、Windows95登場当時の、親戚のおばさんから聞いた話し。んで、OSのインストールをしていたらしいんだけど、

「ダイアログで設定をしてて、その設定を「あ、間違った」と思ったら、その都度ファミコンのノリで、リセット・ボタンを押して初めからやり直していたら、そのうち、うん、とも、すん、とも言わなくなったので、返品したわ」

とか言っていたのを思い出した。

まあ、そんなわけで、日本の組み込みシステムは、そんな、私の母親たちや、おばさんに、日夜鍛えられているというわけです。

いや、ほんま、メーカーのサービスの方々へは、いつもご迷惑をかけて申し訳ありません。母に代わり謝罪いたします。

894501 journal
日記

SS1の日記: 酔根草と青い蓮のいろいろ

日記 by SS1

放送大学の茗荷谷の学習センターが新築された。こないだはじめていってきました。現在は、筑波大の分校に併設された形になった。さいしょ、そのお隣のスポーツセンターを覗いて某講習会のひととかいたら襲撃しようかなどと思っていたのだが、朝から晩まで授業で、とてもそんな余裕はかけらもなかった。授業は、古代中国の不老長生思想のなんとか。

古代中国の不老長生思想,加藤千恵、放送大学面接授業
http://syl-web1.code.ouj.ac.jp/ouj-f222/dt-5659.html

八卦掌がらみで,中国の気の自然哲学とかつついてる身には、とても参考になる話ばかりだった。なんつーか、知らないといろいろ、とっかかりがつかめないことがあるのだよね。たとえば、仙人になるための入門書といえば「抱朴子(ほうぼくし)」だよね。とか、そういう基本的なところがわからなくて、ものすごい遠回りになったりすることがある。講師の加藤氏は、自身も太極拳を習っているとかで、太極拳の気の感じ取り方や起式をちろっとデモってたりした。面接講座の受講者には、ご婦人のみなさまも多く、某講習会とも、なんか、じんわりとオーバーラップしているような… という気もした。

講義は、前漢あたりから崑崙山の信仰。太陽のヤタガラス(?烏)や、月のヒキガエル(蟾蜍)の話(淮南子精神訓)から、なんでもペアにするのが好きな中国神話の話とか、石棺に描かれる羽人の話、瓢箪から宇宙(壷中天)の話、抱朴子、それから唐の時代の煉丹術ブームから、宋代の内丹/気功ブームのあたりまで。シメが清末とおもわれる内経図などの紹介。

Wikipedia、内経図
http://ja.wikipedia.org/w/index.php?title=%E5%86%85%E7%B5%8C%E5%9B%B3&oldid=37099325

その内経図は、Wikipediaのものと同じなんだけど、私はこれ見てて、なんか谷中七福神を連想した。てっぺんが飛鳥山で、そこから七福神をめぐって、最後に不忍池へと至る。でもって山手(京浜東北)線のかわりに脊椎が走っている。そんなかんじ。江戸時代って、江の島弁天とか体内めぐりみたいな観光地があったし、図像をみると人物をかぞえてみると7人だし。関係があるのかなと。んで、講義の後に講師に伺ったら、「関係ないと思うけど、それレポートにしてよ。」とのリクエスト。ええぇ… てなわけで、「中国内経図と谷中七福神の体内めぐり」というレポートを作ろうかと思ったが、時間がない(提出期限は明日だ)ので、またまたお茶濁し感想文の準備などなど。

文京学習センターの図書室が大変なことになってる

というのは、けっこう良い蔵書を備えていた放送大の文京学習センターの図書室なんだけども、たとえば、講義で言及されていた石田秀美氏の本で『こころとからだ―中国古代における身体の思想』とか、ついこないだまで学習センターの図書室に置いてあったのに、こぎれいに広くなった地下一階の図書館からは、どこかへ消えてしまっているのだ。じゃあ、ニーダムくらいはあるか、と思ったが無い… あれも、ない、これもない、で、放送大の学生にとっては、とても困った状態になっていた。現在、筑波大の大塚図書館と併合されて、その蔵書が、印象で10分の一に減らされていたのだ。

放送大の教養学部の学生としては、教科書だけあってソースがない。興味を持っても参考書籍がない。疑問を感じても批判資料がない。そういう、学習機会を奪われた状態。某国の愛国教育じゃないんだから、かんべんしてほしいっす。

併設の筑波大の図書館は、専門書やジャーナル類は拡充されているんだけども… 研究者が論文を書くならいいのかもしれないが。だいたい、蔵書が開架のみで閉架が無いって、どうなのよ。と思う。図書館というより、コンビニ?

筑波大学大塚図書館
https://www.tulips.tsukuba.ac.jp/otsuka/

ちなみに、学芸大の世田谷学習センターも近々蔵書を20分の一にする予定とか。下馬の学習センターは図書館情報大学の跡地を利用して運営されていて、それが歴史的に効いているのか人文・文学系に強く、けっこうハマる書籍が多かった。ドイツの幻想文学者であるエーベルスなんかを初めて読んだのもこの図書館だった。あと東洋文庫さがすなら、ここ。という感じだったのだが、これからどうなるのか… あたまのいたいことである。

芝と煉丹とマンガと魯迅

「芝(し)」とは、先ほどの「抱朴子」にある、「服薬」の原材料のこと。霊芝つうとキノコのサルノコシカケだけども、他にも石芝、肉芝、いろいろあるそうな。さがすと、古い図像にも「芝」が登場するそうで、で、「こんなかんじ~」と板書してたんだけども手にもつ「芝」の図像を見たのだけども。マンガが好きな人にはわかる、ゆうきまさみの『鉄腕バーディ(2003-2008)』に登場する「酔根草」とそっくりだったりする。

煉丹術もかなりアレ。そもそも火薬の発明は、さきほどの「服薬」の一環として、外丹術があり。仙人になるために、まず穀物を立って、食べ物として丹薬を食することで、人に非ざるその生き物に近づこうとしていた。で、そのとき、うっかり、火薬をつくってしまったとか(本講義、レジュメ、2011.11.加藤8-1、月刊しにか2000.5)。つまりですね、中国の人は仙人になるために「かやく」を「ごはん」にしようとしていたってわけです。近畿のひとたちにとってはびっくりな話ですね。

そういう、古代中国人のアレな所業をネタにしていた人として、魯迅もとりあげられてました(レジュメ、加藤7-1、魏晋の風土および文章と、薬および酒の関係)。こちらでは、明代の五石散の服薬と同じようにおかしな風習として、清末の阿片吸引の慣習になぞらえて揶揄している。

魯迅と阿片で、思い出すマンガに、エルジェの『青い蓮(The Bule Lotas)』がある。これは、日清日露後の中国で、エルジュの描くタンタンと日本軍が戦う話である。タイトルの『青い蓮』とは阿片窟のことで、むかし日本でタンタン展やってたころに読んだ解説書によれば。その英国人ジャーナリストは、日本軍の経営する阿片窟で、The Bule Lotasとは、『リヴァイアサン』(ホッブスだったかな?)に登場する「青きロトスに酔い…」とかのパクリで、そもそも日本人はそこまで教養があったっけ? などとしめていた。当時の日本人の教養については、まあ微妙… たとえば、真珠湾攻撃の作戦成功暗号電文が「トラ・トラ・トラ」、つまり、ジョイスの「虎よ虎よ」であったりするわけだし。で、なんともいえないんだけど。阿片戦争を無かったことにしてる英国人らしい発想だなと思った記憶はある。

「タンタンの冒険」展,Bunkamura ザ・ミュージアム、2003.3
http://www.bunkamura.co.jp/museum/lineup/02_tintin/index.html

タンタンの冒険 : その夢と現実,マイクル・ファー著,小野耕世訳,2002.3日本版発行。
http://opac.ndl.go.jp/recordid/000003587512/jpn

んでまあ、「青い蓮」なんだけど、そもそも実在しているのか。というのがわからなかったり。スイレンはあるらしいんだけどね。んでも、スイレンはロータス(蓮)じゃなくて、リリイ(睡蓮)じゃなかったっけ? とか。あ、でも、Wikipedia みると、写真が載ってるな。

スイレン属
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%A4%E3%83%AC%E3%83%B3%E5%B1%9E

さて。話をもどして。講師の加藤先生によれば、そーいう、調べれば調べるほどわけがわからないよ、になる「芝」を調べつくした研究者がいらっしゃるそうで。その研究者の大形徹さんが、2006年に「芝とは何か」という論考を学会で発表されているんだそうな。

大形徹、大阪府立大学大学院、中国思想(神仙思想・霊魂観念)教授
http://www.human.osakafu-u.ac.jp/staff/red/r_oogata_tooru/index.html

んで、今回の講義のレジュメに、そのときのスライドの引用(大形徹、芝とは何か:パルメット文様の考察を通して 2006.10.27、から,
1,4,5,10,11あたりのスライド)があるんだけども、そこでいきなり、青い蓮と酔根草が…(笑)。いやまあ、マンガ読みとしては、びっくりしました。

これは日本のマンガ史的にみると、

2002年の小野耕世氏による、エルジェ関連の翻訳と考察
2003年のゆうきまさみの『鉄腕バーディ』の連載開始

…んでもって、道教思想研究者の大形徹氏が、

2005年に青睡蓮と芝の関連についての考察を学会で発表

という順番になる。講師いわく、この説には批判者も多いとのこと。まあ、フィクションのほうが自由にできるわけだから、マンガが先行しても不思議じゃないんだけども、プロパーの研究者はたいへんだなぁと思いました。

学籍番号:***-***223-*

--
ほんとは、こういうのは、facebook みたいなクローズなとこを使うほうがいいのかな。と、ちょっと思う。んまあ、でも、大学講義の感想をブログに書いちゃいけないという法律はないし… 裏サイトぽいとこのがあれだし。てなわけで。

879863 journal
日記

SS1の日記: 聴覚表示と視覚表示の比較

日記 by SS1

表のストーリーと関連のあるネタがあったので、そのメモ。
http://srad.jp/story/11/11/11/0132211/

聴覚表示と視覚表示の比較
Comparison of auditory and visual presentation modes (from Deathridge, 1972)

あんま、いいソースがみあたんないんだけど、こういう話。
http//www.noiseandhealth.org/viewimage.asp?img=NoiseHealth_2000_2_6_27_32649_4.jpg

もとのストーリーに話をもどすと、聴覚表示と視覚表示には、それぞれ特性があって。メールや電話のどちらかを使うか、という判断も、その性質をしっかり理解した上で選択されている。というのが実態ではないかと。

852182 journal
日記

SS1の日記: 世界史のなかの東アジア史

日記 by SS1

こないだのつづき。ほんとはクラウゼヴィッツを掘り下げたかったんだけど,時間切れなので。んで感想文とか書いて,お茶を濁す予定なので,その草稿。というより,こないだの記事がサマリーの範囲を超えていなかったので,その補足など。

こないだの「戦争と平和の世界史」で,おもしろかったのは2点あって,ひとつは,世界史のなかに置かれた東アジア史,ただし授業のコマに半島史はなくて,日本史や中国史の一部として,半島での歴史が紹介された。

基本的に常識レベルの話なんだとおもうけど,そこに軍事史としての視点や,世界史としての視点を講師が入れていたのがおもしろさのポイントだった。

東アジア史における半島史は,日本の軍事史の一部として,白村江,元寇,明治維新のいろいろ,日清,日露があって・・・ とそのなかで説明されるわけだけど。日本人なら疑問に思うように,たとえば「安重根」が聖人あつかいされることとか理解できないわけですが,半島の軍事衝突史をみると,新羅(唐)が勝ったとか,高麗(元)に三別抄が負けたとか・・・ ようするに,半島の正規軍が独力で勝利した歴史,というのが無いのだね。だから,半島の為政者にとって,戦争とは非対称なものしかなかったわけで,そのなかで逍遥すべき人物をえらぶと犯罪者やテロリストしか残っていなかったのだと思った。

http://japanese.yonhapnews.co.kr/headline/2011/10/31/0200000000AJP20111031001300882.HTML
韓国カトリック教会 安重根を「準聖人」に選定

元寇と三別抄

こないだ元寇船が発掘されて話題になってるけど,講義では三別抄の話が中心。軍事史としての視点で見ると,三別抄が高麗(元)に抵抗して,元寇が1年から2年遅れたことが,日本に有利に働いたなんて話。でも,鎌倉幕府は三別抄に援助しなかったよ。とか,三別抄は別に日本のために抵抗したわけではなくで,降服しても「おそらく三別抄には,将来がなかった」からだよ。とか,そんなかんじで。んで,軍事史でみると一から二年の猶予は,絶大な効果があるわけで。でもって,元は南宋攻略があるから,日本から撤退したよ。なんて話。

神風はあったの?

あと,日本には「神風」がふいたなんて記録は無いよという話とか。中国の記録に「風が吹いて船が沈んだので引き返したよ」とかいう将軍の報告があるだけなんだとか。日本の記録では,朝になったら船がみんな消えてたよ。みたいなかんじ。

三別抄と沖縄

でもって,はさんでた小ネタとして,沖縄の城(ぐすく)が,韓国で見た城の様式ととてもよく似てるよ,なんて話から,三別抄の生き残りが沖縄に逃げて,ぐすくを作ったのかもね。なんつう話に。沖縄史を知ってる人ならわかるとおもうけど,沖縄(つうか琉球弧)では,東アジアで紛争があると,そのなかで難民(つうか,迫害確定の人々)が亡命してきて定着した歴史がある。直近だと,国民党の進駐から逃れてきた台湾人が沖縄で帰化したりしてる。まーだから,あるかもなーなんていう感想を持った。

東アジアと日本

いや,ものすごく大きな影響与えてるはずなのよ,軍事史的に。日本は。でも上記にあるように元寇でも「日本が勝った」とかいわずに「神風が吹いた」という話になってる。全般に見ると,たとえば台湾のオランダからの独立とか,日本は強く影響を与えているはずなのに,だって台湾の国姓爺こと鄭成功は長崎の平戸出身なんだべ。でも,日本は無関係ということになってる。そんなわけなかろーとか思うわけだけど。このあたりは深い歴史の闇の中。

戦争と平和の境界

今回の講義全体のテーマとしては,戦争と平和の境界がしだいにあいまいになっていくさまが描かれていた。おもに石津氏の講義なんだけども,世界の軍事史のなかで「平和」の話なんてかけらもないわけだが,そのなかで,戦争と平和の境界が変容していくさまを描く。

・軍人と平民の境界が崩れる(アメリカ独立戦争と民兵)
・前線と銃後の境界が崩れる(国民国家と総力戦)
・平時と戦時の境界が崩れる(冷戦と24時間待機の戦略軍)

でもって,現代は敵と味方の境界がくずれた非対照戦争の時代になった。なんてはなしから,受講者に「あなたにとって平和とはなんですか?」と問う。いや,そんなの聞かれてもわかんないっす。

このテーマの参考文献は,マーチン・ファン・クレフェルトの『戦争の変遷』から。

んでまあ,『戦争の変遷』を読んでるところなんだけど・・・ うーん。とりあえず,日本に引き寄せて考えてみるとして,戦争に勝利する,あるいは負ける。という話は,まず,クラウゼヴィッツのように戦争目的を定義するか,ゲームやスポーツのように勝利条件を定義する必要がある。日本の,とくに近世までの日本は,このあたりの定義を意図的にあいまいに,あるいは別のルールを持ち込もうとしたように思える。それは「武士道」なんて言葉ではおさまらない,政治的な概念だと思う。

とりあえず,世界史が軍事に駆動されていること,そこから日本の世界史の中での位置づけを考えさせられるところが,おもしろかったのでした。

学籍番号:***-***223-*

typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...