fc2ブログ

情報集合論(仮名) 無限次元情報体

 この記事は自分用のメモです。情報集合論(仮名) 冪集合の正体についての考察ということは、要するに冪集合は無限次元を表わすと思われます。何故ならば、情報の組をよく観察すると、冪集合が表わすものは行列にしか過ぎません。従って、無限次元を表わしていると考えるのが妥当です。
 この結果は何ら不思議な事ではありません。そもそも情報は、やろうと思えば無限に微分できます。また、情報を無限に合成することも可能です。ならば、どの情報が分割できない情報なのか、どこが限界の情報なのかを考える事は愚問なのかもしれません。人間の情報認識能力が範囲を定めるのであって、情報は無限であり、いくらでも分割できますし、いくらでも合成することができるのです。
 しかしながら、ちっぽけな存在である我々人類は、大いなる自然に対して疑問を繰り返すことにより進歩します。この世の全ての真理を理解できると考えるのは愚かですが、無限から有限の情報を取り出す方法はいくらでも考え出せます。その無限の情報を有限の情報へと写像することが学問なのでしょう。
 その謙虚な心で情報を観察すると、無限に繰り広げられる情報の組にも法則性が見えてきます。生成された情報の組は冪演算回数に比例した深さを持っています。例えば、3つの要素からなる冪集合は、8個の要素を持ち、最高の組み合わせは要素が3個の集合です。すなわち、要素数=深さ(1)となります。また、情報の組は新しい要素となりますので、再度冪演算を実行すると、2の8乗=256個の要素を持ち、深さが2の冪冪集合が作れます。ということは、1次元の要素を多次元に拡張しているだけです。次元数には限りがありませんから、情報は無限次元体だと言えるでしょう。
 情報が無限次元体だとわかれば話は簡単です。全ての問題を抽象化すると、人間が認識して命名できるか否かになります。目の前の現象からどれだけ情報を取り出せるのか、適切な名前を付けられるのか、この2点が正しければ後は写像するだけです。
 さて、無限次元体をどうやって料理するべきか。その料理法が情報集合理論になります。それこそ無限に方法が考え出せますが、その中から人間が思考しやすい方法を選ぶ必要があります。
スポンサーサイト



テーマ : 数学
ジャンル : コンピュータ

お気に入りのプリンターはEPSON製複合機

 年末に近付いてきたので、お勧めのプリンターを書きます。私が愛用しているのはEPSON製の複合プリンターです。




 私が持っているのは2世代ぐらいの前のものです。何年か前に私のプリンターが壊れてしまいました。プリンターがなければ仕事が出来ません。それで、急遽プリンターを買う事になりましたが非常に迷いました。
 プリンターは意外と沢山あります。しかも、仕事用のものですからいい加減には選べません。私は手順立てて考えました。
 先ずは、プリンターの使用目的をはっきりさせました。私が第1に望む事は、名刺・書類・年賀状・その他手紙を美しくかつ早く印刷する事です。あと、スキャナーの調子もおかしいので、種類と名刺をPCに取り込む事が出来れば助かります。
 次に考えたのは予算です。仕事で使うものですから費用対効果を考えます。高ければ書類を美しく印刷できますが、私のお仕事はシステム屋ですので、書類が最高品質の美しさになっても利益が増えません。それよりも大量の書類を印刷するので印刷速度が重要です。それらの条件を考えた結果、2万円前後で印刷スピードが早く、ある程度品質(dpi)が高く、出来ればスキャナー機能があるものがいいと結論付けました。
 選定基準が決まったら後は購入するだけです。早速私はネットでプリンターを検索しました。その結果、探し当てたのがこのモデルのプリンターです。2万円台でスキャナー機能までついていたのが気に入りました。もちろん、印刷スピードと品質もOKでしたし、デザインも好みのものでした。おまけに、使いやすくて言う事なしです。
 今のプリンターは正常に稼働しているので、また壊れたら同じモデルを購入しようと考えています。プリンター選びで困っている人は、一度このプリンターを見て下さい。きっと気に入ると思います。

テーマ : 周辺機器
ジャンル : コンピュータ

想定外が問題なのではなく大事だと考えているものが問題

 私はここ最近のニュースを見て、強い憤りを覚えています。その理由は「想定外」と「異例」が連呼され、それがまるで免罪符のように使われているからです。今度の震災に限らず、日本政府はあらゆる社会的問題に「想定外」を連呼し、その対策をする事もありません。今回の地震と原発事故に関して最大限に譲歩し「これほどの規模になると考えていなかった」という意見は受け入れるとしても「その後の対策も想定していなかった」で済ますのは許せません。国民の命を一体なんだと思っているのでしょうか。
 私は情報システムの設計も請け負っています。その時全ての事を想定して防御策を練っているわけではありません。無限の可能性の全てに対し防御的な仕組みを作る事はコスト的に不可能です。しかしながら、防御的な仕組みではなく、もしもの場合に備えて「大事なものを守るための策」は当然練っています。これはどのようなシステムでも言えると思いますが、守るべき重要なものに対して注意を払って仕組みを作るのは当たり前です。
 それにも関わらず、現政府が守ろうとしているのは政府関係者のプライドや立場などです。今までの対応をみると、政府関係者が大事だと考えている事は国民の命ではないと思えてなりません。何故ならば、原発事故が発覚して直ぐに政府は「問題ない」と発言したからです。
 もし国民の命を大事だと考えているのであれば、「万が一に備えて100Km離れてください。」と緊急避難を呼び掛けるでしょう。しかし実際に現政府が行った事は「10km離れれば安全」、「いや30Km離れれば安全」などと「安全」を繰り返す事だけでした。その言葉は明らかにもしもの場合に人命が失われる事を考慮していません。安全だと思わせる事を第一に考えているところをみると「安全神話」を必死で守ろうとしているとか思えません。
 想定外の事故が起こる事は否めませんし、想定外の事故に多額のコストをかけられない事も承知しております。しかしながら、国民の命を優先していない政府の対応には疑問を感じざるをえません。これは今度に限った話しではありません。多くの問題が「想定外」です。想定外を免罪符として使っているようですが、国民の命を守るべく策を練っていないその言動は「国民の命以外のものを重要視している」としか思えません。想定外が問題なのではなく、国民の命を一番大事なものとして考えていない事が問題なのではないでしょうか。

テーマ : 情報処理技術
ジャンル : コンピュータ

学習目標と進歩状況

誤解なきよう始めに言っておきますが、これは私自身の為のメモです。


【プログラミング言語】
  • .NET・・・WF、WPF、WCF、LINQについてしっかり学習する。あと、F#は重要なので実務レベルまで学習する。
  • Mono・・・Boo、Nemerle、Cobraについてある程度使えるようになる。
  • Java・・・最近使っていないので復習する。
  • C/C++・・・重要な言語なので復習する。さらにBoostとSTLを学習する必要がある。
  • D・・・Cの後継言語なのでしっかり学習する。
  • Perl・・・大分忘れているので改めて復習する。
  • Ruby・・・もっとしっかり学習するために、コンパイラのソースコードをじっくり読む。
  • Python・・・あまり知らない言語なので他言語と比較しつつ深い知識を得る。
  • 関数型言語全般・・・必要性が高まっているので、復習と学習を行う。
  • Erlang・・・これらかの時代必要とされる並列処理について学ぶ為に学習する。
  • Prolog・・・新しい発見が隠されていると思うので復習する。
  • Scala・・・重要な言語だと思うので学習する。
  • マークアップ言語全般・・・これも最近知識が曖昧になっているので復習する。特にXML関連は要注意。
  • SQL・・・1999と2003の規格範囲の知識が少ないので学習する。
  • 機械語・・・基本的なことしか知らないので、よく使う機械語を理解する。
  • アセンブラ・・・簡単なアプリが作れるまで鍛錬する。
  • MSIL・・・実用レベルまで学習する。
  • アプリケーションフレームワーク・・・今までは自分で作っていたが、最近のフレームワークは完成度が高そうなのでちゃんと学習する。


【コンパイラ】
  • yacc/lex・・・随分使っていないので復習する。さらにソースコードを解析して、構文解析の技術を向上させる。
  • 命令型言語・・・オブジェクト指向関連の機能、テンプレートの実装法を調べる。
  • スクリプト言語・・・命令型言語との差異を研究する。
  • 関数型言語・・・基本的な部分しか実装したことが無いので、より本格的なコンパイラを作ってみる。その過程で、関数型特有の機能の実装法を学ぶ。
  • 論述型言語・・・優先度は低いが、ひとまず復習してみる。簡単なコンパイラをもう一度作ってみる。
  • 問い合わせ型言語・・・ちゃんとした問い合わせ言語を解析してみる。
  • CLR・・・Monoのソースコードと仕様書からもっとしっかり学ぶ。
  • Java仮想マシン・・・実際のソースを見てJava仮想マシンを学ぶ。
  • GC・・・GCの実装法が分からないので調べる。
  • Perl6・・・重要になりそうなので暇があったら調べる。
  • ネタ指向言語・・・学習の成果としてお遊びのコンパイラ実装してみる。


【データベース】
  • XMLデータベース・・・未知の領域なのでしっかり学習する。
  • オブジェクト指向データベース・・・概要程度は学習する必要があると思われる。
  • トランザクション・・・DBMSの実装能力を得る為にもっとしっかり学習する。
  • MySQL、PostgreSQL・・・最新バージョンをまだ使用していないので学習する。
  • Oracle・・・随分使っていないので基礎から復習する。
  • SQL Server・・・2008について調べる。SQL/CLIについて学習する。
  • DBMS実装・・・玩具程度のものしか実装したことが無いので、トランザクションを学んである程度使えるものを実装してみる。


【ネットワーク】
  • 全般・・・基礎から復習する。
  • TCP/IP・・・実装方法を調べる。
  • プロトコル・・・新しいプロトコルについて調べる。
  • ネットワーク管理・・・最近の管理技法について調べる。
  • ネットワーク機器・・・最近チェックしていないのでどのようなものがあるか調べる。


【OS】
  • 全般・・・モダンオペレーティングシステム等を読んで基礎から復習する。
  • カーネル・・・CD-ROMを使ったインストール、ブートストラップ、ファイルシステム、デバイスドライバについて調べる。MonaとOSASKが参考になるかもしれない。
  • Windows・・・デバイスドライバについて本格的に学習する。AdvancedWindowsを精読する。
  • Linux・・・基礎から復習する。特にプログラミングについては初歩から学習しなおす。
  • FreeBSD・・・Linuxの学習が終わったら調べる。
  • コマンドプロンプト・・・WindowsとLinuxのコマンドプロンプトを使いこなせるように学習する。


【ツール】
  • Subversion・・・バージョン管理は重要な事なのでちゃんと学習する。
  • GDB・・・デバッガは簡単なものなら実装したことがあるが、本格的なものはまだないので研究する。
  • Make・・・OS実装作業に必要なので学習する。
  • GNU Autoconf・・・Makeでは貧弱なのでこのツールを修得する。
  • GNU Automake・・・Makeでは貧弱なのでこのツールを修得する。
  • GNU Libtool・・・Makeでは貧弱なのでこのツールを修得する。
  • Emacs・・・もっと学習する。テキストエディタは自作した方がいいかもしれない。
  • Eclise・・・自作開発ソフトの参考になると思うので深いところまで学習する。
  • RSS・・・情報収集に役立つので学習する。
  • Ethereal・・・最近使っていないが重要なソフトなので復習する。


【その他】
  • 英語・・・中学生レベルの基礎から高校生レベルまでちゃんと学習しなおす。一番苦手なのでもっとも集中して学習する必要がある。
  • 数学・・・基礎からしっかり学習し、グラフィックプログラミングの基礎地盤を作る。
  • 簿記・・・日照簿記3級から2級までの内容を復習する。
  • ハードウェア・・・本格的なOSを実装するにはハードウェアに関する知識が必要なので少しずつ学習する。
  • 人工知能・・・強化学習、ニュートラルネットワーク、カオス理論について調べる。


テーマ : 情報処理技術
ジャンル : コンピュータ

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター