fc2ブログ

情報集合論(仮名) 無限の正体と新しい濃度

 この記事は自分用のメモです。情報集合論を考えるのにあたって、避けては通れないのは無限の概念です。情報は本質的に無限であり、無限を避けるという選択肢はありません。私が思うに無限とは、生成関数を持ち、生成関数の定義域内であれば、いかなる区間を指定しても値を取り出せる情報集合です。有限と無限の違いは限りがない点です。では、限りがないというのはどういう状態なのでしょうか?
 限りないとは一般に上限を表わす概念だと思います。つまり、無限集合の場合、有限集合とは違い、どれだけ大きな値でも指定できるという事です。ならば、無限の根源は何でしょうか?根源がなければ情報を生成できるはずがありません。
 そもそも情報とは人間が考えるものであるから、無限情報集合の根源は生成関数(情報の定義の仕方)だといえます。という事は、無限集合とは、いかなる区間を指定しても、何らかの値を返せるという事を意味します。ただし、情報の定義から考えて、生成関数の定義域内という制限があります。そうしないと、何でも同一視するという事になってしまい、情報を判別できなくなります。情報は区別できるものであり、その定義に反していますから、その情報が任意の情報であるために何らかの条件が必要です。
 具体例として自然数について考えてみます。自然数の生成関数はf( x ) -> x + 1です。定義域は0もしくは、生成関数から生成された情報です。そして、自然数の条件は、x != 0(0以外の数値)です。自然数集合は無限なので、定義域内のいかなる区間を指定しても情報を生成できます。なお、0は空集合とみなします。
 そうなると次に濃度が問題になってきます。濃度とは個数の拡張概念なので、有限集合と無限集合の双方に使えないと不便です。しかしながら、既存の濃度の概念は、「1対1対応」しかないので不完全です。現状では整数と自然数は同一濃度であり、大雑把すぎて無限の性質を細かく分類しているとは思えません。現在の濃度の定義は、個数というよりも、個数の次元数を意味していると思います。
 現在の濃度で困る事を具体的に考えます。整数集合と自然集合の濃度が同一であれば、情報技術では困ります。何故ならば、必要なビット数が違うので、表現できる最大値が変化するからです。この現状は情報技術としては大変困ります。こんな曖昧な状態ではシステムを実装できません。同一限界値を求めた場合(値の区間をそろえたい場合)明らかに、自然数集合よりも整数集合のほうが1ビット多く必要となります。
 そこで情報集合論では濃度の定義を生成関数に区間を指定してできる個数に変更します。例えば、整数集合は区間-10~+10を生成関数に指定すると21個の情報が生成できます。一方自然数集合は、1以上なので10個の情報しか生成できません。従って濃度は、自然数集合の個数を変数Xで表すと、整数集合の濃度は 2x + 1 となります。ここで問題となるのは、統一基準をどうするのかという点です。これについては、自然数の生成関数を基準にし、Γ(ガンマ:ジェネレートのG)とするのが良いと思います。Γ表記の濃度は、自然数集合の濃度 = Γ - 1、整数集合の濃度 = 2Γ - 1(-0を許さない場合)。 こうすることにより、異質な無限情報同士を比較できると思います。また、無限情報集合の性質の分析を生成関数の分析にすることができます。これは非常に有意義です。普通では太刀打ちできない無限の性質を分析できるようになります。

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

情報集合論(仮名) 限界は人間の錯覚

 この記事は自分用のメモです。無限次元体を相手にしたとき明らかになる事実は、限界があって人間がそこに到達するのではないというものです。理論的な上限は、人間が命名し、条件を定めた時点で発生します。例えば、要素数が3の集合に冪演算を実行すると、8個の要素を持つ冪集合が生成されます。ならば、要素数4の集合を作ってから、冪演算を実行したほうが要素数が多いのは明らかです。これは人間が作る学問の本質だと思います。
 原子よりも細かい要素が発見されると、人間の学問は発展します。その原因は情報が増えたからです。ということは、人間が認識できる情報を増やせばよいのです。人間の五感を文明の力で増やせば問題は解決です。それを繰り返せば、人類が保持する知識集合の要素数が増えます。この考えから私は量子力学とカオス理論を連想します。
 無限に存在する情報に対し、人間の能力は有限です。情報をどのように取り出すのか、それにより解釈が異なりますし、ほんの少しの情報の差だけでも多大な誤差をもたらします。人間は主観で物事を考えがちなので、あたかも世界が変わったかのように感じます。しかしそれもまた錯覚であり、情報の切り口を変えたのにすぎません。情報は無限次元体であり、どのようにカットしても、人間が納得できれば真実として存在するように感じるのです。ある意味全てが錯覚だといってもよいでしょう。
 人間はおごり、真理を明らかにするという考え方で知識体系を構築します。しかしながら、所詮人間の能力は有限です。真実の欠片をつなぎ合わせて自己満足しているだけです。先入観を捨て、謙虚な心で無限次元体を分析する必要があるでしょう。

テーマ : プログラミング
ジャンル : コンピュータ

情報集合論(仮名) 冪集合の正体についての考察

 この記事は、自分の考えをメモするためのものです。冪集合は要するに、情報の組に過ぎない。すなわち、情報は任意の数組み合わせることができるという事だと思います。それを踏まえて、カントールのパラドックスを考えると、集合の集合は情報の組を含むのか否かが問題になってくると思います。
 情報の組を集合の集合に含むのであれば(おそらくそうだ)、素朴集合論は情報の重複を認めないのですから、いつしか情報が尽きて、そもそも冪演算が実行できない時が来るのでしょうか?この問題については、無限と極限に該当する問題だと思います。人間が知る全ての情報の集合は無限です。ならば、その集合の要素から成る組は無限となります。
 無限個ある情報の組みを作ろうとすれば、濃度の定義から2の無限乗個の情報ができるとわかります。ということは、一応上限の概念があることになります。しかしながら、人間が認識できる情報は人類が存続する限り増えるでしょう。もし、人間の文化が破壊されれば、情報の数は一時的に減りますが、人類が存続している限りまた増えます。
 これらの事から導き出される答えは、任意の集合から生成される冪集合は、集合の場を上限とし、無限大に大きくなるということだと思います。この値は理論的には収束しますが、上限値そのものが常に増加しているので、アキレスと亀状態だといえるでしょう。
 ただしこれは、冪演算を1回しか実行していないときにのみ成り立つ理論かもしれません。冪演算を無限回繰り返すことができるのであれば、情報は無限大に発散するかもしれない。しかしながら、素朴集合は重複を許さないのですから、理論的には組み合わせ数にも無限値の限界があるような気がします。すなわち、上限が変数で常に変動する場合、濃度がどのようになるのかが問題になるのです。
 この問題は宇宙のビッグバン説を連想させます。無限に広がり続ける情報宇宙。ただ、変化するのであれば関数ととらえることができるかもしれない。上限を変数とする関数。もしかしたら、これが無限の正体なのかもしれません。
 今までの考えをまとめると、人の情報N<2のN乗(冪集合)<冪冪集合<...<場の情報量であり、冪集合と場の情報量の間に、無限の距離があるということです。しかしながら、一時的には理論的な上限値が存在するでしょう。それは、無限関数を意味します。この無限関数の定義を目指すと面白いと思います。おろらく、カントールが目指していたものもそれなのでしょう。連続体仮説にその片鱗がうかがえます。残念ながら途中で終わっていますが。。。
 連続体仮説の問題は、実数の濃度を上限としているところです。私は実数の濃度にこだわる必要はないと思えてなりません。また、自然数に拘りすぎていると思います。実数も自然数もただの情報です。情報そのものを変数としてとらえれば、何も自然数や実数に縛られる必然性はありません。私の感覚としては、何らかのオブジェクトです。無限を研究するのですから、数に拘る必要すらないでしょう。ならば...

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

情報集合論(仮名) 等価性と集合

 この記事は、自分用のメモです。集合演算を実行するには、要素に等価性が必要です。等価性がなければ、集合の要素が片方の集合に含まれているか否かを判定できません。従って、等価情報集合が必要です。

//情報
type Info<'a, 'b, 'c>
  (
    f : 'a -> bool, //フィルター関数
    m : 'a -> 'b,  //マッピング関数
    parentGetDataFunc : ( List<'c> -> List<'a> ) option //親の関数
  ) =
  //フィールド
  let _filter = f
  let _map = m
  let mutable parentFunc = parentGetDataFunc
  member private this.Filter with get() = _filter
  member private this.Map with get() = _map
  member private this.PrentFunc with get() = parentFunc
  //親を考慮してデータを取得する
  static member (=>)( data : List<'c>, x : Info<'a, 'b, 'c> ) : List<'b> =
    let newData = x.PrentFunc.Value( data )
    newData => x
  //親を考慮しないでデータを取得する
  static member (=>)( data : List<'a>, x : Info<'a, 'b, 'c> ) : List<'b> =
    data
    |> List.filter x.Filter
    |> List.map x.Map

type Data<'T>( name : string, value : 'T ) =
  //フィールド
  let _name = name
  let _value = value
  //プロパティ
  member this.Name with get() = _name
  member this.Value with get() = _value
  //メソッド
  override this.ToString() = _name + ":" + value.ToString()

[<EntryPoint>]
let main argv = 
    //結果表示
    let PrintResult name data =
      printfn "%s" name 
      let f x = printf "%s " <| x.ToString()
      List.iter <| f <| data
      printfn "\n"
    //テストデータを準備
    let source =
     [ 
      yield "実験データ" :> obj
      for i in 1..10 -> ( "正数", i :> obj ) :> obj
      for i in -10..-1 -> ( "負数", i :> obj ) :> obj
      yield "終了" :> obj
     ]
    PrintResult "元のデータ" source
    //人間が認識する情報(情報集合)には必ず名前が必要
    let filter ( x : obj ) = 
      match x with
        | :? ( string * obj) as s  -> ( fst s ).Length > 0
        |_ -> false 
    let map ( x : obj ) =
      let name, value = x :?> ( string * obj )
      new Data<obj>( name, value )
    let humanSet = new Info<obj, Data<obj>, Unit>( filter, map, None )
    let humanFunc = fun ( x : List<obj> ) -> x => humanSet
    //等価性が必要な情報
    let equalFilter( x : Data<obj> ) = 
      match x.Value with 
        | :? System.IEquatable<int> -> true
        | _ -> false
    let equalMap( x : Data<obj> ) = 
      new Data<int>( x.Name, x.Value :?> int )
    let equalSet = 
      new Info<Data<obj>, Data<int>, obj>( 
        equalFilter, equalMap, Some( humanFunc ) )
    let data = source => equalSet
    PrintResult "等価情報集合" data
    //終了
    0

等価性を持つ要素がそろえば集合演算ができます。ただその前に、「素朴集合は要素の重複を認めない」という前提があるから、もう一つの情報集合である「重複なし情報集合」の定義が必要です。

テーマ : プログラミング
ジャンル : コンピュータ

情報集合論(仮名) 集合演算を考える

 この記事は、自分用のメモです。べき演算を考える際に、集合演算そのものの性質について考えてみます。素朴集合論の専門書では集合演算が、何の証明もなく定義されていますが、集合演算の性質について検討する必要があります。素朴集合論にパラドックスが生じた要因の一つは、集合演算の性質そのものの考察が足りないからだと思います。
 一番簡単な和集合演算から考えます。和集合は任意の数の集合を合成します。和集合演算の効果は単純なのですが、そのまま聞き流してはなりません。何事にも前提というものがあります。前提を考えると、和集合は合成する集合が正しく、論理空間が必要です。論理空間がなければ、集合の等価性が定義できません。等価性が定義できなければ、演算の結果そのものが検証できませんので、等価性は非常に重要な条件です。また、論理空間がなければ、和集合の否定演算が定義できませんので、やはり和集合を包含する全体集合である論理空間が必要です。
 和集合が満たすべき条件は積集合演算も同じです。やはり、演算に参加する集合が正しく、論理空間がなければ演算が実行できません。差集合演算も同様です。ということは、べき集合演算にも論理空間が必要だとの考えに至ります。ただし、べき演算の結果を考慮すると、和集合と同じ論理空間だとは思えません。具体例をもとに、その点をよく考えねばなりません。
 X = { a, b, c }ならば、冪集合P(X)は{ φ, { a }, { b }, { c }, { a,b }, { a,c }, { b,c }, { a,b,c} }となります。冪集合P(X)に{ a,b,c }が含まれている点に注目します。この新しい集合の論理空間はなんでしょうか?素直に考えるのであれば、演算対象となる集合を含む集合ということになります。従って、べき集合演算は、論理空間となる全体集合を変える性質を持つ演算と言えると思います。冪集合の濃度は2の要素数乗ですから、この考察結果は正しいと思われます。
 

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

情報集合論(仮名) 型の設計

 この記事は、自分用のメモです。基本イメージでは普通に型を定義していましたが、むろん正式にすると型を設定するまでに考察する必要があります。前回のプログラムを情報集合論として、正式に定義すると以下のようになります。

//情報
type Info<'a, 'b, 'c>
  (
    f : 'a -> bool, //フィルター関数
    m : 'a -> 'b,  //マッピング関数
    parentGetDataFunc : ( List<'c> -> List<'a> ) option //親の関数
  ) =
  //フィールド
  let _filter = f
  let _map = m
  let mutable parentFunc = parentGetDataFunc
  member private this.Filter with get() = _filter
  member private this.Map with get() = _map
  member private this.PrentFunc with get() = parentFunc
  //親を考慮してデータを取得する
  static member (=>)( data : List<'c>, x : Info<'a, 'b, 'c> ) : List<'b> =
    let newData = x.PrentFunc.Value( data )
    newData => x
  //親を考慮しないでデータを取得する
  static member (=>)( data : List<'a>, x : Info<'a, 'b, 'c> ) : List<'b> =
    data
    |> List.filter x.Filter
    |> List.map x.Map

type Data( name : string, value : obj ) =
  //フィールド
  let _name = name
  let _value = value
  //プロパティ
  member this.Name with get() = _name
  member this.Value with get() = _value
  //メソッド
  override this.ToString() = _name + ":" + value.ToString()

[<EntryPoint>]
let main argv = 
    //テストデータを準備
    let source =
     [ 
      yield "実験データ" :> obj
      for i in 1..10 -> ( "正数", i :> obj ) :> obj
      for i in -10..-1 -> ( "負数", i :> obj ) :> obj
      yield "終了" :> obj
     ]
    printfn "元のデータ"
    let f ( x : obj ) = printf "%s " <| x.ToString()  
    List.iter <| f <| source
    printfn "\n"
    //人間が認識する情報(情報集合)には必ず名前が必要
    let filter ( x : obj ) = 
      match x with
        | :? ( string * obj) as s  -> ( fst s ).Length > 0
        |_ -> false 
    let map ( x : obj ) =
      let name, value = x :?> ( string * obj )
      new Data( name, value )
    let humanSet = new Info<obj, Data, Unit>( filter, map, None )
    let data = source => humanSet
    printfn "%s" "情報集合" 
    let f ( x : Data ) = printf "%s " <| x.ToString()
    List.iter <| f <| data
    printfn "\n"
    //終了
    0

名前も付けられないようなごみデータはふるい落とすということです。F#はもともと型システムがあるのでちょっと婉曲的な表現になりました。
 このプログラムで表したのは、フィルター条件の設定です。フィルターは必ず1つ以上の情報を除去するものでなくてはなりません。そうしないと、条件を付ける意味がありません。すなわち、必ず親集合の濃度は子集合の濃度よりも高くなります。これにより集合理論のパラドックスを防ぎます。
 しかしながら、集合論のパラドックスの解決法を明確に示すには、べき演算の性質を考える必要があります。分かっていることをいちいち示すのは骨が折れますが、自分の理論を検証するためにやるしかない。

テーマ : プログラミング
ジャンル : コンピュータ

情報集合論(仮名) 基本定義を表現

 この記事は自分用のメモです。基本イメージをはっきりさせるために、情報集合論の基本定義をF#で実装しました。

//情報
type Info<'a, 'b, 'c>
  (
    f : 'a -> bool, //フィルター関数
    m : 'a -> 'b,  //マッピング関数
    parentGetDataFunc : ( List<'c> -> List<'a> ) option //親の関数
  ) =
  //フィールド
  let _filter = f
  let _map = m
  let mutable parentFunc = parentGetDataFunc
  member private this.Filter with get() = _filter
  member private this.Map with get() = _map
  member private this.PrentFunc with get() = parentFunc
  //親を考慮してデータを取得する
  static member (=>)( data : List<'c>, x : Info<'a, 'b, 'c> ) : List<'b> =
    let newData = x.PrentFunc.Value( data )
    newData => x
  //親を考慮しないでデータを取得する
  static member (=>)( data : List<'a>, x : Info<'a, 'b, 'c> ) : List<'b> =
    data
    |> List.filter x.Filter
    |> List.map x.Map

//人間が認識する情報
type InfoSet<'a, 'b, 'c>
  (
    name : string, //識別するための名前
    f : 'a -> bool, //フィルター関数
    m : 'a -> 'b,  //マッピング関数
    parentGetDataFunc : ( List<'c> -> List<'a> ) option //親の関数
  ) =
  inherit Info<'a, 'b, 'c>( f, m, parentGetDataFunc)
  //エラーチェック
  do 
    if name.Length = 0 then 
      raise <| System.ArgumentException( "必ず名前を指定してください。" )
  //フィールド
  let _name = name
  //プロパティ
  member this.Name with get() = _name

[<EntryPoint>]
let main argv = 
    //テストデータを準備
    let source =
     [ 
      yield "実験データ" 
      for i in 0..10 -> i.ToString()
      for i in -10..-1 -> i.ToString()
      yield "終了"
     ]
    printfn "元のデータ"
    List.iter <| printf "%A " <| source
    printfn "\n"
    //人間が認識する情報(情報集合)には必ず名前が必要
    let humanSet = 
      new InfoSet<string, string, obj>( 
        "情報集合", ( fun x -> true ), ( fun x -> x ), None )
    let data = source => humanSet
    printfn "%s" humanSet.Name
    List.iter <| printf "%A " <| data
    printfn "\n"
    //終了
    0

F#は数学的なイメージを定義するのに向いています。個人的には数学の証明よりもF#プログラミングのほうが自分の考えを定義しやすい。

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

情報集合論(仮名) 属するとは何か

 この記事は、自分用のメモです。集合理論での問題は、属するという概念にあります。「属する」という概念は意外と曖昧で、それが故にパラドックスが生じます。その点から情報集合論を見出しました。
 情報集合論では、「属する」という概念がありません。便宜上属するといってもいいのですが、正確に言うと「前提条件を満たす」です。情報集合論の基本イメージは、フィルターと変換ですので、属するというよりも、親集合が情報をふるい落しているといった方が適切です。こうすることにより、素朴集合論のパラドックスは生じません。
 前提を満たすということを言い換えれば、「必ず0個以上数が減る」ということです。従って、親集合は子集合よりも濃度が小さくなります。ということは、カントールパラドックスは解決しています。集合の集合にべき演算をしたら、部分集合が集合の濃度を超えるという矛盾は、べき集合が適用できない集合内に、べき演算が適用できる集合を定義することになりますので、そもそも起こりえません。基本定義から、親の濃度は必ずこの濃度よりも大きいので、パラドックスなんてありません。パラドックスが生じたときは、前提が間違っているだけなので、前提を組み替えれば済みます。
 さて、このように情報集合論を定義しようとすれば、自ずと規則が導き出されます。それは、「情報集合は必ず満たすべき条件を1つだけ持つ」です。素朴集合はいきなり、各種集合演算を使えるものとして扱っていますが、それは現代数学の視点から見ても論理の飛躍です。演算は必ず満たすべき条件というものが存在します。数にしても、群・環・体の概念がありますから、それと同様に集合演算を実行するにあたり、必要となる条件というものを考察しなくてはなりません。カントールが生きていれば、きっとそこまで論理を磨いていたと思います。
 条件を1つ1つ定義し、フィルターと変換を行う事を基本とする情報集合論は、変化を対処できる柔軟性があります。学問という情報も変化が伴います。変化を事前に前提とし、前提条件だけを更新すればよいというのが情報集合論の基本思想です。また、何の情報にも使えるという事を目指しています。人間の知的活動は全てが情報に基づきます。その情報を押さえれば、全ての物事に適用できます。万能知的ツールです。
 この理論は、去年集合論の専門書を読んだ時点で閃いていました。閃きというものは、突然発生するものです。しかし、言葉にするというのは時間がかかります。私はこういった経験を何度もしています。結論がわかっているのに、そこまでの過程を言語化するのは時間がかかります。非常に不思議です。人間の脳という情報処理器官はどうなっているのでしょう。このメカニズムがわかれば、情報技術は次の段階へと飛躍するでしょう。
 既存の情報技術は積み重ねが基本になっています。しかしながら、人間には過程がない閃きがあります。その閃きを生み出せるプログラミングができれば、根本から考え方が変わります。閃きと積み重ねの両方ができれば、機械は人間を超えます。これは論理的には可能だと思います。面白い反面ちょっと怖いです。

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

情報集合論(仮名) 濃度についてのメモ

 この記事は自分用のメモです。集合論が提唱する濃度は、無限を区別するという点で画期的でした。しかし、まだまだ不十分です。集合理論といえば、整数と自然数の濃度が同じ事で有名です。これは、個数という点から見れば、問題ないように見えますが、実務的観点からより突っ込んで考えると不十分です。
 今の定義のままですと、「無限は無限なんだよ」と投げているのと同じです。無限は際限がないから、整数と自然数は同じ種類の無限です。しかしながら、より細かく無限を分類することなく、無限は無限だと投げることは、無限を区別するという目的に反しています。この点が集合論のパラドックスにつながっていると思えてなりません。
 整数を任意の数並べても、自然数と同じ個数です。ただ、整数集合を直和分割すると、自然数は半分以下です。それにも拘わらず、自然数と整数の濃度を同じとみなすのは乱暴すぎます。また、集合の集合を考える際に、無限をいったん終わったものとみなす態度と矛盾しています。その論調から言うと、自然数をいったん終わったもの(閉じたもの)として、濃度を考えないと論理的整合性が保てません。
 自然数全体の個数をωとすると、整数集合は必ずωに1対1対応するーωが存在します。つまり、整数集合を2つに直和分割できます。ならば、任意の区画を指定して個数を求めるとき、整数と自然数の個数に2:1の比になるのは明白です。これを念頭に置くと、濃度は任意の区画を指定し、個数を返す関数(写像)とみなせます。
 情報集合論ではその考えをさらに抽象化し、前提となる情報集合は、条件を付加した情報集合よりも濃度が大きいと定義します。そうすれば、濃度がより細かく代数的に区分できます。濃度を代数的に細かく分類することは、集合論のパラドックス解決の糸口となります。

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

情報集合論(仮名) 研究の目的は小さくまとまらない

 情報集合論の目的や動機をメモっておくと便利だと思い、メモを取ることにしました。きっかけは、カントールの理論が面白いという事でした。カントールが考える事は最高にいかしています。ただ問題なのは、集合論のパラドックスをどうやって解決するかという点です。カントールがもう少し長生きしていれば、もしくは精神にダメージを受けなければ、パラドックスは解決し、集合論は完成したでしょう。カントールは自身の理論を信じていましたし、私も直観的に正しいと考えています。その超天才の遺産をどのようにして生かすのかが課題になります。
 パラドックスの解決といえば、公理的集合論というものがあるのですが、ちょっと調べたら私の性に合いませんでした。なんだか逃げている気がします。集合全体の集合を考えず、ラッセルの集合にも向き合わず、小さな集合だけを考えていこう、そのための基準をひいてしまおうという「既存数学内で小さくまとまるための理論」に思えてなりません。要するに肌が合わないのです。
 私の仕事は矛盾がデフォルトです。数学的に完結できる事なんて範囲が狭いです。お客様が向き合っている矛盾を、真っ向から解決することが私の仕事なので、小さく現状維持は本当の解決方法になりません。遊びとはいえ、そういった負け癖のようなもの(小さな範囲に思考する)は身についたら困ります。公理的集合論は、数学的に意味があるとは思いますが、私の仕事は情報なのであって、数学の範囲内で収まるというのは無理なのです。
 集合論のパラドックスに真っ向から向き合うということは、「集合とは何か」という本質を考える行為に他なりません。それは集合だけを見つめていては解決しないというのが直観で感じ取りました。集合外から集合を見ることにより、初めて集合の芯の性質がわかります。内から見ていても何もわかりません。外から分析しないと物事は本当の意味で解決しません。
 集合全体の集合を考えたとき、集合でない集合とそれらを包含する超集合が見えてきます。集合全体の集合のべき集合とは、超集合と集合全体の集合の間に位置するものだといえます。さらに言えば、べき集合が算出できない集合があると思います。何故ならば、べき演算も満たすべき性質があると考えるからです。物事は何事も満たすべき仕様があります。その仕様を考えていないと、そこから矛盾が生じます。仕様のバグのようなものでしょうか。
 仕様のバグを直すには、柔軟かつ変化に対処できる理論が必要です。その術を編み出すのが情報集合論の目的です。何事も小さくまとまらず、より巨視的な観点から物事を解決しなければなりません。死んでもその信念を曲げるつもりはありません。信念を曲げるということは、精神的な死を迎えたのと同じだからです。

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

プロフィール

インドリ

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カウンター