Shout

無自覚でも自覚的にでもとにかく言わずにおれない。
思考をとめることは犯罪だと今更気づいた。


030330

昨日の曲の、MSXオリジナルバージョンもあげておきます。

こちら。

素の音にレゾナンスディレイをかけてるので、若干聴きやすいかと思います。
FM、PSGのシンセ音って、聴きすぎると食傷気味になるんだけど、
たまーに聴くと、「おりこうさん」な波形で構成される音が脳みそに刺激的なんですよ。
最近の音楽製作環境(拾って伸ばして切って貼る)で技術と感性のバランスが崩れている方は、
この辺の技術でリハビリするのが良いかもしれません。
(でも「食ってくために」変に世論を先導して、
市場にこの手の音を溢れさせて食傷気味にされる、てのは勘弁してください。。。)


030329

Shoutの日付もずれていたので直しました。
根詰めて仕事をしていた(?)もので、心に余裕がなかったみたい。

心のリフレッシュのために、
先日買ったシンセとシーケンサー、MTRを組み合わせて曲を作ってみる。

こちら。

思い返すと、中学高校の頃は、もう呆れるほどに曲の切れ端を作っていました。
200曲くらい。
その中の1曲をアレンジしなおして、打ち込んでみました。
バッキングのオルガンにmicroKORG重ねてるんですが、
おかげさまで音の厚みが増して良い感じです。やっぱりアナログは音太いわ。


030328

文部科学省の大学評価・学位授与機構の、
01年度の大学評価結果によりますと、
「教養教育」の評価項目において
全大学の3割が「改善の必要が相当ある」とのこと(ソース:毎日新聞)。

わが母校である静○大学(伏字無意味)もしっかり入ってました。。。

まあこんな世間知らずの先輩を輩出してる学校ですからねぇ。
説教できる筋合いでもないが、稀に後輩のいるサークルに顔を出し、
自分が大学時代には通用しそうもないような厭世的脱力系ネタを振れば
それ以上の脱力系で返してくる辺り、確かに行く末に一抹の不安を感じることはあります。

それにしても無知なもので、
このような機構があった事すら知りませんでした。
大学別の評価結果もあり。興味のある方は覗いてみるのも一興かと思います。


030326-2

サイトを始めて半月ですが、
今頃「DRMDigitalwork」の誤植に気づきました。何Degitalworkって。
該当箇所全て直しました。久しぶりに顔から火が出た。



去年の話なんだけど、合唱関係のイベントのあと
自分の大学の、合唱仲間の後輩と仕事の話をした。
その子は美術関係の学科で学び、デザインの会社に就職した。
今は確か、デザイン関係のフリーターをしていると思う。

その子自身、学生時代に
演奏会のポスター図案や、バイト先のメニューのPOPを作っていたこともあり、
素直な感性の絵を作る人だと思っていたんだけど、その子は、
「先輩と同様、自分はずば抜けた才能で物を作る人間ではなかった。」
といったようなことを言う。

その子はそれを恥じる様子もなく自分はそれを心配していないし、
自分もそれを恥じるつもりはない(し恥じてはいけないと思っている)。
イメージが分かりにくいが、
長江にも堤防が必要だし、小川にも堤防が必要なんだと思う
(もちろん自分にとって、その子のセンスは小川であるはずもなく)。

ずば抜けた才能の大河には巨大な堤防を築くパトロンが必ず必要だ。
そうでなくては遠からず大河は災害を引き起こし、疎まれるでしょう。
その子は大河が引き起こす災害を知っていて、自ら堤防を築く。
自分は小川のせせらぎに飽きて、暇つぶしに堤防を築く。

そのバランスを持つものは、巨匠ではない。と。
そうかもしれないけど、
そのバランスが才能なら、あなたの作品は堤防まで含めて作品なんだ。
世の中には、見えない物を見る人がいる。その人がきっと見ている。
あなたの作品は何気ないが、その何気なさの根底を見ている。

自分が仕事をしていて常々感じることは、
良いものと悪いもの、売れるものと売れないものは、似て非なるものということだ。
良いものは売れる。悪いものはもっと売れる。
売れたときに、必ずそれが良いものであるための方策。
あなたの姿勢はそうだと自分は理解しています。
だからあなたは信頼されるんですよ。


などという言い訳を自分にしながら、 こんなもの(失礼)に登録してみたりして。
まあ自分は小川なわけなんだが。


030326

たまには逃げることも必要さ。
と、ボーゼンと現実逃避中。。。。

家にたまった電子楽器の配線と配置を考え中。
PCなしで音楽を作る環境の構築を目指してます。
だいたい、どうも最近仕事にしろ何にしろ、日常がPC依存気味だ。
バランスをとらなければなぁ。


030325

ベイズ理論

どうも時事にうといのですが、これが面白くて、つい見入ってしまいました。
定理は、
P(H/E,c) = P(H/c) P(E/H,c) / P(E/c)
ただし、
H:仮定(hypothesis)
E:影響(effect)
c:文脈(context)
P():確率(probability)
となります。

読み方としては、
P(H/E,c)は、「ある文脈cで影響Eが起きるとき、仮定Hが発生する確率」
となります。
同様に、
P(H/c):「ある文脈cで、仮定Hが発生する確率」
P(E/H,c):「ある文脈cで仮定Hが発生するとき、影響Eが起きていた確率」
P(E/c):「ある文脈cで、影響Eが起きる確率」
となるわけですね。

例えば、
c:Robocodeにおける1回の戦闘
E:自ロボットがある戦略を選択すること
H:自ロボットの勝利
とすると、

P(H/c):「Robocodeにおける1回の戦闘で、自ロボットの勝利が発生する確率」
P(E/H,c):「Robocodeにおける1回の戦闘で自ロボットの勝利が発生するとき、
自ロボットがある戦略を選択することが起きていた確率」
P(E/c):「Robocodeにおける1回の戦闘で、自ロボットがある戦略を選択することが起きる確率」

これらの確率は、Robocodeにおいてはファイルを用いて統計的に求めることができます。
大きな統計結果を用いることにより、
P(H/E,c):「Robocodeにおける1回の戦闘で自ロボットがある戦略を選択したとき、
自ロボットの勝利が発生する確率」
を求めることができることになります。

例えば、
P(H/c)=50%
P(E/H,c)=70%
P(E/c)=60%
なら、
P(H/E,c)=約58%
となるわけです。

(この例では直接、対象の統計を取ることができるので不適切かもしれません。
でも例えば、「対人口死亡率」「死因」「病気発生率」から、
「自分がその病気を患って命を落とす確率」が求まるなどというのは興味深いです。)

http://www.mrs.umn.edu/~sungurea/introstat/history/w98/Bayes.html

ここによりますと、
P(H/E1,E2,E3,c)といったような、複数の影響が発生した場合に仮定Hが発生する確率も
統計結果と確率生成則から導くことができるようです。

Robocodeに限らず、統計的アプローチの一助になるかもしれません。
勿論巨大な統計が必要ではありますし、
そもそも、P(H/c)=0%ではどう頑張ってもP(H/E,c)=0%だということは忘れてはいけないんですが。


030323

今日は、実のある一日だった。
大切だと思えそうな人と出会えたり。
仕事における自分の考えがまとまったり。
(人は労働の代償としてのステータスを欲する。そしてそこには必ず市場が形成される。など。)
楽しい楽器をGetしたり。
そのお陰でデジタルとアナログの関係を再認識したり。
(今、デジタルはアナログをシミュレートする。
なら、ノウハウは依然アナログとして存在していることになる?
デジタルが進化したら、アナログは進化できるの?
デジタルが実現する論理がアナログの本流を外れて利便を追求できたなら、それは生き残れるの?
結局はアナログに帰結しようとしたりしないの?
古典物理学における「摩擦のない世界」をデジタルでシミュレートしたいだけかも。
これからは「DRMDigitalwork」やめて「DRMAnalogwork」にしようかな。などなど。)


一つ思う。ここから更に生きるために、何らかの覚悟は必要だ。


drm.micro.AVB_0.06.jar

でも遊びはちゃんとやります(^^;


030321-2

本日は休日出勤。
休み時間に、性懲りもなくMicro Botのバグ取り。

drm.micro.AVB_0.05.jar

コードのダイエットは本当に頭の体操になります。
今日もおかげさまで、頭が活性化して
煮詰まっていた内部仕様を解決するアイデアがひらめくこともあったり。

さてさて、明日も仕事。。。


030321

仕事中、急に射撃アルゴリズムがひらめき、
思わずMicro Botに実装してしまいました。

drm.micro.AVB_0.04.jar

ソースを見ていただければ分かるかと思いますが、
私家版Virtual Bulletsといったところです。
今は程ほどの命中率ですが、
うまくカスタマイズすれば、性能があがるかもしれません。

ソースはオープンとしましょう。
技術資料は、時間ができたときにおって整備します。
(今月中は難しいですが。。。)



それから、現在、空爆について語る言葉はありません。


030320

現在、Robocodeの試合が恒常的に開催されるEternal Rumbleが3月末まで休止中です。
(ちなみに、URIが「http://eternal-rumble.com/」だとリンクが開けないです。
URIが変更になったのでしょうか??)

会社のRobocodeイベントも月末まで動きなし。
ちょっとRobocodeは小休止、といったところですね。。。


いままでさぼってた分、会社の仕事頑張らないと(!)


030319

自分の会社にて現在、Robocodeの大会が催されております。
Robocodeの経験者が少ないこともあって、「勉強会を開催して欲しい」との旨上長より指示ありました。
そこでまず気合を入れて技術資料を作成。
もったいないので、このサイトにもアップしておきます。

こちらです。

しかしこれを見て、どうも「なんだか面倒臭そう」と出場辞退者続出の悪寒。
わーどうしよ。。。


030317

反戦思想についてはShoutしなければいけないと思う。
人としての感情を持っているうちに叫ばなければ。

イスラエルにて、アメリカ人女性の「人間の盾」が亡くなったそうです
イスラエル軍の民家破壊に反発し、軍のブルドーザーに轢き殺されたそうです。(3/19 リンク先修正。)

アメリカは彼女の死を悼むのでしょうか?

アメリカが合理的に振舞うのだったら、彼女の死を黙殺するしかないと思う。
中東に対する「人間の盾」に代表される世論をかわしながら、
アメリカは戦端を開こうとしているのだから。

この予想通り事が進行するのだとしたら、
「民意は、戦乱の抑止力にはならない」という諦念が、恐怖が湧きあがります。
恐ろしい話です。人道への怒りは強大な火力の前に無力だろうからです。

中東の民主化を声高に叫ぶ民主国家があります。
しかしその主たる民は、権力の前に無力です。
そしてそれを実行する国は合理性をアピールする。

このジレンマは、全てを焼き尽くす炎による黙殺によってでしか解消できないのでしょうか?
もしそうなら、最早人類はいつ焼き殺されてもいいように覚悟を決めて毎日を生きるしかないのでしょう。


青臭い話ですが、命を失った者は青臭い話ができないものです。


030316

Micro Bot作成の面白さを感じる最中、
RoboWikiにて、http://robowiki.dyndns.org/perl/robowiki?MinibotsVsMegabotsという
興味深い議論を発見しました。
曰く、
「なぜ多くの上位RobocoderはMini Bot/Micro Bot製作に明け暮れるのか?
それがpe.SandboxDTに勝つ、最上の方法とは思えないんだが。」
ということらしいです。

David Alves氏は自身のDT勝利経験に照らし合わせ、
「DT勝利への試行錯誤はMini Bot作るよりつまらん。」とバッサリなのが心地いいんですが。。。。
彼自身はVirtual Bulletsを通じて
アルゴリズム的弾丸命中率の限界を知ってしまい、
知的好奇心がDT勝利へと向かわなくなってしまったのかな?と邪推してみたり。

また、
「コード制限は、優秀な戦略アルゴリズムを試しにくくしたり、
古い悪形のコーディングを促すといった影響がある(ので私はMega Botを作ります)。」
という意見もあります。
これは強いロボットを作る、という観点からの自分の意見にとても近いです。

上位Robocoderでも何でもない場末の自分としては、Micro Botを作ることは勝ち負け以前に、
「あるアルゴリズムを最小コードで実装するゲーム」
の意味合いが強いです。
自分がこういうことをする原動力って、Javaのようなインタプリタ型言語の
性能に対するアンチテーゼだ、と漠然と考えています。
自分が仕事で関わる組み込み分野では、一人前にJavaVMが乗っていても
その性能はPCの足元にも及ばない。
高速開発の波に飲まれて、ソフト技術者レベルでの
性能改善アプローチが難しくなってきていることに対する戒めを
ゲームを通じて行おう、という動機が大きいです。

(組み込みソフト技術者が最後に技術のよりどころにするのは
「ハードスペックの最適制御」に他ならない。
(今はソフト技術者がハードまで設計できる時代ですが。。。)
近年のアジャイルの波に飲まれて、仕様ばかりが先走りするなかで
「動くものを作る知恵」がこれまで以上に技術者に求められている。
て、話が脱線しすぎですね。)

「Mini/Micro Bot流行現象は、DT打倒が最終目標だとしても
そのためのモチベーションを低下させないRobocoder達の知恵」と
推測で勝手に総括してみたりして(違うかな?)。


030315

Micro Botのダイエットに励む。

drm.micro.AVB_0.03.jar

単純な照準アルゴリズムをいれて、Wallsにぎりぎり勝てるようになった。
しかしロボットのJammingに引っかかりやすくなり、トータルで弱くなった(^^;

コードサイズは、http://user.cs.tu-berlin.de/%7Elulli/codesize/から
ダウンロードできるcodesize.jarにより計測。
0.01:679に対し、0.03:496に縮小。
でも、同一ロジックのNano Bot化はちょっと無理そう。。。。
近似ロジックならできるかも知れないけども。

それにしても、int a = 0;から
a = (a + 1) % 10;でループカウンタを作る、
a = 1 - a;で2値循環を作るとかいうのは、
今でもわくわくしますね。
ParceptualBotとか流行ったのも、このような動機付けなんだろうなぁ。


030314

今日はホワイトデー。


















だから何だってんだ。調子のんな。三倍返してろ。

思うのは年賀状と同じで、
チョコは義理でも、返すのはきちんとしたほうが良いです。
商業主義とやっかむ見方もあるかもしれません。
しかしその日、確かに貴方は景気に貢献したのです。

貴方の贈り物がシケた物なら、彼女の微笑みはこわばっているかも知れません。
しかし今は景気が悪いです。多少の無理は利きます。
今年のゴディバは来年チロルチョコかも知れませんがこれも多分景気のせいです。

貴方の贈り物が過剰な物なら、彼女の微笑みは何か違うでしょう。
貴方は何か違和感を感じるかもしれませんが、
少なくとも、来年もう少しリッチな海老が貴方の手元に届くでしょう。

その結果は、貴方がお返しをすることによってもたらされたのです。
貴方と彼女のお互いの価値観の相違が白日の下明白になったのです。
貴方がそれを怠れば、全て目に見えず消え去ってしまいます。



なんと言うか、Robocodeのことを書こうと思ったが、悲しくなったのでもう寝よう。あ〜。


030313

DuelistMicroGLを練習相手に、会社の昼休みにMicro Botを作成。

drm.micro.AVB_0.01.jar:ソース込み

照準方式は皆無。レーダースキャン座標へ即攻撃の、1on1専用ロボット。
これが意外と、ランキング上位のロボットに勝てたりする。
そうかと思えば、sample.Wallsには勝てなかったりするが(^^;

丁寧な強さを持つロボットには歯が立たないが、
なかなかどうして、意外な飛び道具的強さを持つロボットがあっさり作れたりする。
RobocodeGLの潜在能力の証明となりますかね??


030311

RobocodeGLは、David Alves氏の手によって

http://davidalves.net/robocode/gl/

よりVersion0.1.4がリリースされている模様。
サイケ気味だったロボットの配色も直り、
アンチエイリアスのおかげで画像はより綺麗に:-)(とバージョン履歴に書いてある。)
戦闘中にスコア表示も可能となり、通常Robocodeの置き換えとしても
遜色ないレベルに達してきました。

本リリースに含まれるロボット、DuelistMicroGLについて。
本ロボットが対戦中、RobocodeGLで表示している扇状の物体はVirtualBulletだと今頃気づく。
命中確率の高い位置のVirtualBulletが
青->水色->緑ー>黄色->赤
と色彩変化し、DuelistMicroGL自身は命中確率の最も高いVirtualBullet角度で
実弾発射するわけですね。
(最近巷ではやっているらしい照準方式のVirtualBullet(含むWave)は
どうやらGuessFactorAiming原理の高効率(?)実装である模様。
要は「絶対にどれかがあたる量で仮想弾丸をばら撒いて命中確率の偏りを知ろう」。
強い照準方法を模索している方は一度ご確認するのが良いかと思われます。)

彼がサービス精神旺盛だ、と思ったのは、
VirtualBullet回避動作を研究する人は、このロボットが
そのまま実験相手として使える、ということについてなんですね。

以下、VirtualBulletが苦手なdrm.Magazine、
VirtualBulletにそこそこ耐えるdrm.CobraBoraとのDuelistMicroGL対戦画像。


drm.Magazineが、VirtualBullet命中域を明確に狭めている(=実弾命中確率が上がる)のに対し、
drm.CobraBoraは割とうまくVirtualBullet命中域を分散していることが分かります。

VirtualBulletによる照準をうまくかわすには、
・VirtualBullet命中域を均等に分散する。
・VirtualBullet命中域を意図的に偏らせ、フェイントでかわす。
といった手段が考えられますが、
これらの手段を実装したとき、即座に効果を視覚的に確認することができるわけです。


どうやらRobocodeGLがロボット開発の一助になるという噂、本当かも。


030310

RobocodeGLなんですが、PC、ビデオカードの環境によって
「ものすごく速い!」とはならないです。当たり前の話かも知れませんが。。。
不用意な発言を3/10付でロボコードメーリングリストに流してしまったものと、
反省しております。
RobocodeGLの体感速度記述は、
Pentiumiii 1GHz + Memory 400MByte + GForce3上の動作によるものです。


「命懸けより心がけ」
とは良い言葉だと思います。M島さん。
本人に直接言えばいいのに、
こんなところにこっそり書くのはどうかとも思うけども。
命は懸けようと思わなくても嫌でも崖っぷちに立たされたりしますが、
心がけは意識しなければ決して変わらない。
なら、普段意識すべきは独善的なエゴで「ない」ことが
実は多くを得られる豊かな生き方なのだと考えました。

日本国民としてもっと打算的に。
命を懸ければ金を稼げるが心をかけても金はそこそこ手に入る。
意識しなくても呼吸するくらいの本能を自分は持ち合わせてる。
心をかけても利益はそこそこあげる位の本能を自分は持ち合わせてる。
それ位は自分を信じてみたい。
沢山儲ける者と自分をわざわざ総体比較したりしなけりゃ、それはきっと可能。
彼に蔑まれることを恐れなけりゃ、それはきっと可能。

経済の枯渇は恐ろしいこと。しかし、精神の枯渇は恐ろしいこと。これらは相克する。
ともかくも、こんな些細な知恵に気づけなくなっている、
さもしい自分を恥じれるうちにきちんと恥じなければ、
もはや生き方に何の改善も見込めないよ。



030308

昨日ご紹介したようなRobocodeのViewクラック系改変は他にも行われてました。
Disscusion Forum、RoboWikiより。

http://offthecuff.8bit.co.uk/robocodeGL/

これは表示系を GL4javaに任せて、
OpenGLで戦闘状況を表示するものですが、表示がもう、大変速い。
レーダー表示あり、Meleeでも一切処理落ちなし(当方、Pentium!!! 1GHz)。
表示スピードのオプションを上げれば速度は青天井。
ロボットの配色がサイケ気味になるのが難点ですが。。。

あと特殊な機能として、戦場に自由にお絵かきができる。
robocodeGL専用の、視覚効果にこだわったロボットが作成可能みたい。
RobocodeII開発に携わるDavid Alves氏絶賛のパッチです。

そういえばRoboWikiにJava Soundを利用した効果音の鳴らし方が
書いてあったような。。。
こうしてRobocodeはAV面の進化を遂げていくのか??
動き、絵、音があればライブパフォーマンスっぽいこともできそうだし、
第一「おもちゃを骨までしゃぶり尽くす」姿勢は個人的にとても好きです。

特定おもちゃが変な懐古趣味じゃなくして
トレンドを維持しつづけたら粋じゃないですか。
(あくまでおもちゃが、だけども。)


030307

サイトの体裁を整えてみました。
サイトを見ていただけた方に、不快な思いをさせないように。

今まであまり個人サイトというものを見ることがなかったんだけど、
最近は期せずしてサイト間の抗争を見る機会があったりして、いろいろと見る。
「インターネットでの不用意なドグマ垂れ流しは不幸な事態を招く」
ということを痛感する次第。
難しいですね。特に某掲示板のような匿名多数が世論のように作用することにより、
エンターテイメント性の高い、アクの強いドグマでなければ
社会生活まで脅かされる危険があるという現実。

この手の恐怖に漠然と怯えて生きてみて(考えてみれば社会に出て6年ずっとか)、
世論に迎合することと思考を止めることは限りなく近いことが、
今は身に染みて分かる。

そういうわけで、これから自分なりのドグマの模索を始めることにする。
何かの弾みでポックリ逝く前に。


それにしても、Robocode界隈で変わった物を作られている方がおられることを、
RobocodeのDiscussion Forumから知る。

http://www.cs.rit.edu/~mai3116/Robocode3D.htm

良く考えてみればViewの部分を拡張すればこういったことは可能だったよ。
技術者として魂が燃え上がるというもの。

さあ。

さあ作ってみよう。

とりあえず地味に、戦車のgif&pngリソース書き換えから始めようかと。
へたれでゴメン。


030110

こんなものがある。

http://store.yahoo.co.jp/osamanoidea/w700750.html

プログラム可能な電子ブロック。その名もROBOCUBE。
AUXポート(携帯電話接続に利用)、フルカラー発光機能、4和音サウンド機能、RS232Cポート、
モード切替スイッチ(プログラムモード、実行モード)、IrDA(パームやPCとの通信)、
その他にカレンダー機能、アナログ演算機能、パラレル処理機能、ゲートウェイ機能、省電力機能を持つ。
また、車輪搭載。
マイクロコンピューターで制御されたDCサーボ機構を内臓。速度制御、回転角度制御、
ソフトウェアリミットなどの機能。回転角度情報をパソコンに取り込む事も可能。最大12個まで接続可能。
またLED表示器、光センサブロックなど搭載できるブロック組み立ておもちゃ。
PC上でVisualBasic、C、JAVAで制御プログラム記述可能。

何が言いたいかというと、
もしかしてRobocodeで作成したロボットのアルゴリズムを制御プログラムとして
ROBOCUBE対戦できるんじゃないか???ということだ。
光センサは発光、受光器つきで砲台、レーダーとして使えそうな雰囲気。
サーボ制御できるので車輪制御はもちろん、砲台、レーダー回転制御もできるかも知れない。
Robocodeの1ドットをリアルの5mmと対応させ(ロボの大きさを10cm:20ドットとして換算)、
800×600ドット(4×3m)の戦場を用意して、
リアルSandboxが今、雄叫びを上げる!!

Meleeリーグは1000×1000ドット(5×5m)。
参加ロボット10台として、
1台のロボットのお値段が121,200円。10台で1,212,000買いません。
もし実現する方がいたら、
彼がなんだか命懸けで生きてるってことを少なくとも自分は信じたい。


chiptuneのベースにしたらどうか。踊りつき、LEDつき、カレンダーつきです。
メジャーになるとは思えないので、まず分かってくれる友達を作ろう。

メーカー 株式会社システムワット殿
http://www.watt.co.jp/robocube.html
思ったよりたくさんの構成パーツがある。

back


DRM is Atsushi Sugiyama.
E-mail: nudi-drm@boreas.dti.ne.jp