La.系ぶろぐ

個人的いろいろメモ。シャープペンのメモにちょっぴりゲ○ツの悪口が混じってるただのチラ裏。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

ロボットの自我とか

どっかの国でロボット憲章が出来たとかと言うニュース記事を見てふと思うのですが、こういう物って、たとえば……ロボットに自我があった場合、何を裁くんでしょうかね。

と、まあいきなりSF展開な訳ですが、一頃人工知能が流行った気がするけど、最近あまり聞かないのはやっぱり成果が目に見えづらい≒一般の人に解りにくいからでしょうか。
一般的に目にする人工知能の成果となると人工無能とか、会話中に相手が人間と区別が付かない、と言った物になると思いますが、当然ロボットにSF好きが期待する人工知能は、(おそらく)自我を持つことがゴールになるわけです。

でも、自我を持つ、と言うのはどういう事でしょうか?まあ、これはちょっと哲学的だし、はっきりした答えはなさそうですが、一つの切り口として「感情の集合体」と言えるかな、と言う気がします。様々な感情を体験して、それをつなぐ記憶が出来、成長して自我になる……とまぁ、そんな感じ。

そうなると、感情はどうやって出来るか……になるわけですが、これは分解していくと、結局「身体の発する信号」になると思います。人間の感じる感情は様々ですが、根本……と言うか、単純な感情は喜怒哀楽になる訳ですが、それらは結局身体の発する「心地よさ=生命の安定」、「危険=怒り」などと言った対応になるわけです。

では、ロボットに感情は発生するのでしょうか?ロボットに発生する身体の信号と言えば、やっぱり温度や電気の過不足、あるいは部品の摩耗などでしょうか。これらを自立的にコントロールするようになれば、まあ、近い感じになるのでしょうか。……うーん、微妙に違うような。

そもそも人間の場合、意識と身体を分けることは困難なわけですが、ロボット(と人工知能)はそうではないでしょう。なので、やっぱりロボットの自我はちょっと違う発達をするような気がします。

人工知能に焦点を当てた場合、彼にとってはおそらく、自由な場所、と言うのはネットワークになると思います。要するに、彼らが発達するには、成長する能力と同時に、それを生かすべき自由な場所を与えられるべきでしょう。人間も、貿易などで関わる人間の範囲を広げたから(自由度が増したから)ここまで発達した、と考えられると思います。

そうなると、今のネットワークは……となるとインターネットですが、どれくらい自由度があるのでしょうか?
ネットワークには恐ろしい量の記憶媒体とCPUが接続されていますが、実際には、彼(=任意の第三者)が自由に出来る資源はほとんどありません。当然、所有者が居て、管理されているからです。

でも、全く自由がないわけではありません。記憶媒体に関しては、たとえばフリースペースを借りたり、BBSに勝手に書き込みしたりして、自分の情報を記録することが出来ます。(ライトオンリーですが、CD-Rだと思えば。)これらの「自由に出来る情報の総量」はどんなもんなのでしょうか?試算……しようがない気もするのですが、結構多いような気がします。

ただ、CPU、要するに処理の自由はほとんど無い気がします。ぶっちゃけバックドアでごにょごにょ……とすれば別なのでしょうが。cgiを提供するサービスもあると思いますが、フリーに公開している物はあまり無いと思います。でも、昔パケットの流れで処理をエミュレートする実験とかあった気もしますし、これも抜け道があるかもしれません。

何が言いたいのかというと、これらの自由度が十分あれば、ネットワークを資源にしてプログラムが書ける……って話です。現状では難しいですが、おおざっぱに言えば、情報を残せる場所を勝手に検索して、スクリプト爆弾して、ネット上のワームもどきがそれを参照して処理をする……こんな物が書ければ、それが放流されれば、ネット上に人工知能が発生できるかもしれない……って感じです。

スタンドアロンなコンピュータでは電源を切られれば終わりですが、ネットワークは切断されることはありません。(常に大半が生きています)だから、そこでは人間の意志を離れてプログラムは行動できることになります。(プログラムにそこまで自由度があれば)

まあ、現状では妄想でしょうけど。でも、もっとネットの資源が充実して、人工知能のプログラムが発達すれば……ネットワークを乗っ取られるかな。その時は。

あーあ、まただらだら書いてしまいましたが(しかも電波だなー)、まあ、こんな妄想をぼーっと考えながら、SFなゲームのネタを考えてることもあるって事ですね。(SFゲー作ったのは15年近くも前ですが。あーあ、じいさんになるわけだ)

スポンサーサイト

PageTop

マシン語のこととか

某所で話題みたいなので適当に書いてみたり。

マシン語を理解しているといいことがある……というのは大まかに3つの意味が含まれていると思うのです。

一つめは……これはよく言われることですが、プログラムの末端で起きてることが判るから理解が深まるって事でしょう。
おおざっぱに喩えれば、武術を理解するには解剖学を理解する必要がある、と言うのと同じようなもので、どういう事が起きているか、その細かいことが理解できていれば応用が利くし、不測の事態にも対応できるわけです。

二つめは……逆に末端を理解しすぎていると、根本の理解を妨げることがあるって事です。これも……たとえばC++の教則本でよく言われていたと思いますが。Cの(関数の)延長上でクラスを使うと、オブジェクト指向らしい物にならないから辞めろ、と言うアレです。
武術で喩えれば、解剖学を熟知している人がいきなり武術を始めれば、無防備に急所を狙って返り討ちに遭うようなものでしょうか。
この問題は結構根が深くて――だって、覚えたことは簡単に忘れられないですし――自分の場合、C++はあんまり理解していないのですが、たまにまじめに勉強しようとしても、「やったら駄目なこと」が判っても逆に「どうやったら回避できる」か判らなくてイライラします。答えは簡単で「一旦全部忘れて一から勉強し直す」のが正解なのでしょうが……そこまで遠回りするほど気長でもないわけで。
あとはLispとか……マシン語の理解が深いせいで先入観を持ちやすい例は結構多いと思います。

三つ目は……単純に、今の機械のアーキテクチャって変化がないなって事です。
Z80が判っていれば396もそんなに差はない……というのはたとえば6809とかポケコンとか触っていると「だって似たもの同士だし」となるわけですが、(まあ、自分は6809は使った事無いですが)そもそも、今普通のプログラマ?が触れる機械のアーキテクチャは全部ノイマン型、しかもその命令形態はかなり似通ってます。
だから、マシン語を覚えておくと使い回しが利く……でも、逆に考えるとそれだけ当たり前の機械しか使ってない、って事になります。
ま、何で他のアーキテクチャが台頭しないのか、と言えば結局今のアーキテクチャが(現状)一番効率がいいからでしょうけど。でも、昔、いろいろなCPUが群雄割拠していた時に様々な進化をするかも、と夢想していた身にはちょっと寂しい現状です。
(あ、最近はGPUが現状を打開するかも、と少し期待されてましたっけ)

それにしても、結局386は生き残ったわけですが、あんなにボロクソに言われていたのに何で残れたんでしょうかね?マーケティングの問題で、それさえなければ……たとえば68000が生き残っていたんでしょうか?

これも、二つの側面があって、一つは運良く結果的にいいアーキテクチャだった、って事でしょう。
たとえばあんなに不評だったセグメントも、結果的にはスレッドをカプセル化するのに役立っています。それに、直行性のないむちゃくちゃなコード体系は、未だに問題を残しては居ますが(ホットスポットの主要因だし)命令長がある意味圧縮されているせいでキャッシュの効率もいいし、またよく使う命令だけ徹底して最適化できるせいで今の実行効率を生み出している……かもしれません。
68000のアーキテクチャは綺麗で書きやすく読みやすいですが、回路屋に言わせればたぶん手抜きできる場所が少なくて(アドレッシングモードは狂ったように強力だし)、x86の様な最適化は難しかったかもしれません。
そしてもう一つは結局どんなアーキテクチャが来ても、ある程度は関係なく改良を進められるって事かもしれません。これは要するに、アーキテクチャを決めた人の功績以上に、その後に改良した人の努力が単純にすさまじかったって事です。
何度もx86はもう駄目、これからはRISCだ、VLIWだ……と言われても、結局それらを凌駕してしまいました。(そのたび、中身は奇々怪々なものと変貌していきますが)逆に言えば、側が68000だとしても、結局中身は同じ進化をしたかもしれません。(細かいところでは差が生じるはずですが)

あー、だらだら書いてたら長くなってしまった。(すげー長いな……)ま、結局個人的にはアドレスのないアーキテクチャが台頭してこないかなーと期待していたりして、そのときは高級言語はそのまま使えても、マシン語レベルではドラスティックな変化があって、混乱させられる様を想像すると楽しいのですが、でもやっぱり当分そんな時代はこない気がするわけです。しょんぼり。

PageTop

ナイキスト周波数

デジタル信号処理とかをかじると、ナイキスト周波数という物が出てきます。いわゆる、標本化周波数(サンプリングレート)の半分の周波数までは信号が再現できる、それ以上はエリアシング(折り返し)が発生して、正確な再現が出来ない(からフィルタリングする)と言うものです。

この性質から、CDなどの標本化周波数は可聴域(20Hz~20kHz)の倍……より少し余裕をとって(フィルタ特性の分)44.1kHzに設定されています。が、最近の……たとえばDVDなどではそれより高い周波数(192kHzなど)が設定されています。

たいてい、この説明は「可聴域以上の周波数成分も音色に影響がある……かも」となるのですが、実際、本当に倍の周波数で元の波形は再現できるのでしょうか?

ちょっと考えれば判ることですが、実は……たとえば量子化ビット数が1の場合は、再現できる位相は2通りだけです。
というか、実は位相が1/2サンプル分ずれると全く再現できないんですよね。だから、再現できるのはサンプリング周波数の1/2未満って事になります。(計算上は、位相がほんのわずかでもずれれば再現できることになると思いますが)

要するに、少なくとも十分な量子化ビット数がないとナイキスト周波数(未満)までの波形でも十分には(というか満足に)再現できないはずです。
でも、そういう説明ってほとんど見かけないんですよね……。ちょっと昔にググッた時には数件、そんな記述を見かけた気がしますが。

通常は、量子化ビット数は低周波データに影響が大きい、と考えるのですが(信号変化が緩やかなので影響を受けやすい)実は高周波データにも影響が大きいわけです。

まあ、ここまではすぐ思考実験で判るのですが、では、(高周波データの波形を再現する)十分な量子化ビット数ってどうやって設定すればいいんでしょう?こればっかりはやっぱり聞いて確かめるしかないですかね。耳に自信のない自分としてはあまり挑戦したくない実験ですな。(もうじいさんだし。耳が)
ちなみに通常使われる16bitとか24bitといった量子化ビット数は(普及している)D/Aコンバータの性能で決まってた気がします。まあ、低周波データの再現性で決めてるかなと言う感じでしょうか。

こんなことを含めて全般に言えることなのですが、デジタルサウンドってスペックありきで語ること多いですよね。たとえばサウンドカード。SN比96dBとか。ビット数割って計算してるでしょ。測定してる?てか、スペック詐称に近い気がします。(ま、本体が変われば変わるだろうけど)

とまあ、何で急に音ネタ書いたかというと……「ちょっと」とか言いながら、このことに気づいたのは結構最近のことなんですよね。(お恥ずかしい)
というか、画像いじってて気が付いたわけで。そのうち引用してネタ書くかも、って事です。

てか、まとまり無くて済みません。

PageTop

vistaのクラシック表示

aeroの表示の重さについに切れてクラシック表示にしてみたのですが、これってバグ多くないですか?

>ウィンドウ枠を太くするとスタートボタンの表示がずれる
>そもそもスタートボタンの判定が変(タスクバーが二段以上の時)
>ウィンドウ枠を太くするとアプリを全画面化した時に一部がタスクバーに隠れる
>ウィンドウ枠を太くするとタスクバーを隠す設定にしても全部隠れない

あ、ほとんど「ウィンドウ枠を太くする」場合だった。なんか言いがかりっぽいけど、タブPCの場合、ペンで1ドット枠なんてつかめませんって。みんな変えないのかな?
(で、仕方なくaerobasicにしたらこれでも重いし……)

てか、この設定はスプリットバー(ウィンドウを分割する枠)にも反映して欲しいんですが……してくれるアプリ少ないよね。そもそも、メニューの設定とか無視するアプリも多いし。(MSのアプリですら!)

はあはあ。メニューと言えば、メニューの項目って横長ですが、アレ、何とかならないんですかね。タブPCの場合ってあまり気にならないんですが、マウスの場合、サブメニュー(だったかな?)に移動する場合に、上下にマウスがぶれるとサブメニューが切り替わったり、そのメニュー項目が多すぎると画面を隠したり。もっと上下幅があって左右幅がないメニュー表示(項目名を二行表示にするとか
アイコン表示とか)にすればいいのにと思うのですが。これってLinuxとかでも改善されてませんよね。やっぱ互換性かなぁ。

MSとか、自前アプリのインターフェイスはころころ変えるんだけど、こういう抜本的な使い勝手はほったらかしな訳で。でも、これちゃんと直るのは……たぶんWindowsが滅びる時だよね。と思うとちょっと鬱になるのでした。

PageTop

ガンマの話2

えっと、過去記事の確認でもカウンタ回るのね。さておき。

で、ガンマなんですが……考えてみると、たとえばただのクロスフェードでも、本当は適用すると計算結果が変わるんですよね。
でも、そんなことしてるシステムって滅多にないですよねぇ?
(業務用のAV機器ならともかく……というか、そういうのってアクセラレータにさせてると思うけど)

なぜかは言うまでもなくて……「やっても判らない」し「やったら重い」からですな。
てか、一度やったことはあるんですが……その……たとえばフェードアウトなら黒に落ちるタイミングが違うな、と(比べると)判る程度で、色合いの差なんて判りません。

それは、極端な例なら、昔(DOSの頃)はフェードアウトの時にかけ算が重いのでデクリメントを使っていた……というのがあるくらいで。
さすがにこれは色味が変化するのが判る(色相が明らかに狂いますし)けど、動きがある画面だと結構違和感なく見えてしまうものです。

てな訳で、まあ……普段の画像処理ではガンマはお呼びではないのかな……となってしまうわけですね。

なんか長いので、さらに続く。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。