読者です 読者をやめる 読者になる 読者になる

backstage

合唱音源の新着情報の舞台裏

MMORPGに見る順序数(Ordinal)と基数(Cardinal)

突然ですが英語を書いてみます。

「このMMORPGには3つのステージがあります」
「There are three stages in this MMORPG

「私はこのMMORPGで3番目に強いプレイヤーです」
「I am the third strongest player in this MMORPG

おなじ3でも、英語だと「three」と「third」に分かれます。

自然数のもつ意味

1,2,3…という自然数そのものには意味はありませんが、数に持たせる意味によって、呼び名が変わってきます。

「three」のように、物を数える数を 基数(Cardinal Number) と呼びます。

「third」のように、物の位置を特定する数を 順序数(Ordinal Number) と呼びます。

自然数が持つ、この2つの意味について考えてみます。

基数(Cardinal Number)

濃度 (数学) - Wikipediaより引用

それぞれの集合 A には A の濃度(|A|、card(A)、#A などで表される)と呼ばれるものが一つ割り当てられており、次の性質をみたす:

1.集合 A から集合 B への全単射が存在するとき、またそのときに限り |A| = |B|。

2.A が有限集合のとき、|A| は A の要素の個数に等しい。

ある集合の濃度であるものを基数と呼ぶ。

たとえば、あるMMORPGにおけるステージの集合をA、 そのMMORPGがサービス終了したあと別のMMORPG内に移された新生ステージの集合Bとおくと、 このときAからBへの全単射が存在するためcard(A)=card(B)となります。

ちなみに、自然数はすべて基数です。

順序数(Ordinal Number)

順序数 - Wikipediaより引用

整列集合 (A, <) に対して、A を定義域とする関数 G を超限再帰によって G(a) = { G(x) | x < a } と定義したとき、G の値域 ran(G) を (A, <) の順序数といい、これを ord(A, <) で表す。ある整列集合の順序数であるような集合を順序数と呼ぶ。

あるMMORPGのプレイヤー同士に強弱<が存在し、<の順番で並んだプレイヤーの集合Bにおいて 「自分よりも強いプレイヤーの集合」の集合がord(B, <)となります。

誰もログインしていないMMORPGにおいては順序数は空集合∅、つまりord(B, <) = ∅です。 コレが「最小の順序数」ということで、ゼロと定義します。0 = ∅

1位までのプレイヤーからなる集合ならば、「自分よりも強いプレイヤー」は空集合∅なので、ord(B, <) = {∅} となります。 コレは「最小の次の順序数」ということで、イチとします。1 = {∅}

2位までのプレイヤーからなる集合ならば、「空集合∅」と、「空集合の集合{∅}」なので、2 = {∅,{∅}} となります。ちょっと無理矢理ですね。

ちなみに、自然数はすべて順序数です。

基数と順序数の違い

ここで基数と順序数の違いを見ていきます。

  • 基数card(A)は、Aの要素の個数になります。
  • 順序数ord(A,<)は、Aの要素の個数になります。

同じ です。おわり。

しかし、この議論は重要な前提条件をひとつ見落としています。 それは Aが有限集合である ということです。

Aが有限集合とは限らない、つまり 無限集合 だった場合は、どうなるでしょうか。

無限集合における基数と順序数

濃度 (数学) - Wikipediaの「基数と順序数」より引用

すべての自然数を 0, 1, 2, 3, … と並べた場合の濃度は  \aleph_{0}、順序数は ω である。これを並べ替えて 2, 3, …, 1 とした場合、濃度は変わらないが、順序数は ω + 1 になり、ω より大きくなる。

まず基数について見てみます。

あるMMORPGの全ステージの集合をAとします。 このMMORPGは仮に75面までしか確認されていないとすると、そのステージ数card(a)は有限であるとは断言できません。 仮にステージ数が無限だったとして、 card(A) =  \aleph_{0} です。

そして、ステージ数は無限ですが75面以降無限にあるステージを全部すっ飛ばして最終面100面に到達したとします。 このときもcard(A) =  \aleph_{0}です。

基数は変わりませんでした。一方で、順序数を見てみます。

あるMMORPGの全プレイヤーが強い順に並んでいる集合を(B,<)とします。 もしかしたらNPCとか幽霊も参加していたりするかもしれないので無限のプレイヤーがいるとします。 このときord(B,<)=ωです。

ここで、最弱だったプレイヤーが無限人を追い抜いて最強になったとします。 このときord(B,<)=ω+1となります。

当然、ω < ω+1 です。 基数と順序数によって、振る舞いが異なります。

結論

基数(Cardinal Number)によって支配されているMMORPGは順番を無視しても難易度が変わるような事態は起こりません。

しかし順序数(Ordinal Number)によって支配されているMMORPGは順序をひっくり返すことで想像を超える強さを手にしたことになるかもしれないので、なんか結果的に想定外の事態とかが起きる危険性があるので悪の計画とかに利用するなら十分気をつけたほうが良いと思います。たぶん。

参考文献