数学の秩序論と格子理論の分野では、ブロニスワフ・クナスターとアルフレッド・タルスキにちなんで名付けられたクナスター・タルスキの定理は、次のように述べている。
最も一般的な形で結果を述べたのはタルスキであり、[ 1 ]そのためこの定理はタルスキの不動点定理としてよく知られている。それより少し前に、クナスターとタルスキは、 Lが集合の部分集合の束、冪集合束である特殊な場合について結果を確立した。[ 2 ]
この定理は、プログラミング言語の形式意味論や抽象解釈、そしてゲーム理論において重要な応用を持つ。コンピュータ科学における再帰的または反復的なプロセスの意味を定義し、ゲーム理論などの分野で均衡状態の存在を証明するための論理的な基盤となる。本質的に、システムが単純で非減少的な規則に従う場合、安定した自己矛盾のない結果が必ず存在することを証明している。
この定理の逆は、アン・C・デイビスによって証明された。格子 L 上のすべての順序保存関数f : L → Lが不動点を持つならば、Lは完全格子である。[ 3 ]
完全束は空集合であってはならない(空集合の上限と下限を含まなければならない)ため、この定理は特に、 fの少なくとも 1 つの不動点の存在、さらには最小不動点と最大不動点の存在を保証する。多くの実際的なケースにおいて、これがこの定理の最も重要な含意である。
fの最小不動点は、 f ( x ) = xとなる最小の要素x、または同等に、f ( x ) ≤ xとなる要素 x です。最大不動点については、 f ( x ) = xとなる最大の要素xに対して双対が成り立ちます。
すべての昇順列x nに対してf (lim x n ) = lim f ( x n ) が成り立つ場合、 fの最小不動点はlim f n (0) であり、0 はLの最小要素であるため、定理のより「構成的な」バージョンが得られます。(クリーネの不動点定理を参照)。より一般的に、fが単調である場合、 fの最小不動点は、順序数αについてαを取るf α (0)の定常極限であり、f αは超限帰納法によって定義されます。f α +1 = f ( f α ) であり、極限順序数γに対するf γは、 γより小さいすべてのβ順序数に対するf βの最小上界です。[ 4 ]双対定理は最大不動点に対して成り立ちます。
例えば、理論計算機科学では、単調関数の最小不動点がプログラムの意味論を定義するために用いられます(例については「最小不動点」§ 「表示的意味論」を参照)。多くの場合、定理のより特殊なバージョンが用いられ、 Lはある集合のすべての部分集合を部分集合包含関係で順序付けした格子であると仮定されます。これは、多くの応用においてそのような格子のみが考慮されるという事実を反映しています。この場合、通常は関数fの不動点となる性質を持つ最小の集合を探します。抽象解釈では、クナスター・タルスキーの定理と、最小および最大の不動点を与える公式が広く利用されます。
クナスター・タルスキの定理は、カントール・ベルンシュタイン・シュレーダーの定理[ 5 ] [ 6 ]の簡単な証明を与えるために使用でき、バナッハ・タルスキのパラドックスを確立するためにも使用されます。
クナスター・タルスキの定理の弱いバージョンは順序集合に対して定式化できるが、より複雑な仮定が必要となる。例えば、次のようになる。
これは、不変集合に関する様々な定理を得るために応用できる。例えば、オクの定理などである。
特に、クナスター・タルスキ原理を用いることで、非縮小不連続(多値)反復関数系のグローバルアトラクターの理論を構築することができる。弱縮小反復関数系については、カントロビッチ定理(タルスキ・カントロビッチ不動点原理としても知られる)で十分である。
定理を改めて述べましょう。
完全な格子の場合単調関数L上では、 fのすべての不動点の集合も完全束である。、 と:
証明。まず、 P が最小元と最大元の両方を持つことを示すことから始めます。D = { x | x ≤ f ( x )}とし、 x ∈ Dとします(少なくとも 0 LがDに属することはわかっています)。すると、 fは単調であるため、f ( x ) ≤ f ( f ( x ))となり、つまりf ( x ) ∈ Dとなります。
さあ( u が存在するのは、D ⊆ Lであり、 L が完全束であるためです。) 次に、すべてのx ∈ Dに対して、 x ≤ uおよびf ( x ) ≤ f ( u )が成り立つので、x ≤ f ( x ) ≤ f ( u )となります。したがって、f ( u ) はDの上限ですが、u は最小上限なので、u ≤ f ( u )、つまりu ∈ Dとなります。次に、f ( u ) ∈ D ( f ( u ) ≤ f ( f ( u )))となり、 f ( u ) ≤ uとなり、これからf ( u ) = uが導かれます。すべての不動点がDにあるので、uはfの最大不動点となります。
関数fは双対 (完全) 格子上で単調である先ほど証明したように、その最大不動点は存在します。それはLの最小不動点であるため、Pは最小要素と最大要素を持ちます。つまり、より一般的に言えば、完全束上のすべての単調関数は最小不動点と最大不動点を持ちます。
Lのa、bに対して、境界aとbを持つ閉区間を [ a、b ] と表記します。 : { x ∈ L | a ≤ x ≤ b }。a ≤ bの場合、⟨ [ a、b ], ≤ ⟩は完全束です。
Pが完全束であることはまだ証明されていない。、W ⊆ Pおよび。 f ([ w , 1 L ]) ⊆ [ w , 1 L ]であることを示します。実際、すべてのx ∈ Wに対してx = f ( x )であり、 w はWの最小上界であるため、x ≤ f ( w )です。特に、w ≤ f ( w )です。次に、y ∈ [ w , 1 L ]から、 w ≤ f ( w ) ≤ f ( y )が成り立ち、f ( y ) ∈ [ w , 1 L ]または単にf ([ w , 1 L ]) ⊆ [ w , 1 L ]となります。これにより、 f を完全束 [ w , 1 L ]上の関数として見ることができます。すると、f はそこに最小不動点を持ち、 Wの最小上界が得られます。我々は、 Pの任意の部分集合が上限を持つこと、すなわちPが完全束であることを示した。
Chang、Lyuu、Ti [ 8 ]は、順序保存関数が値オラクルによって与えられる場合、全順序格子におけるタルスキー不動点を見つけるアルゴリズムを提示している。彼らのアルゴリズムは、クエリ、ここでLは格子内の要素の数です。対照的に、一般的な格子 (オラクルとして与えられる) については、下限が証明されています。クエリ。
Deng、Qi、Ye [ 9 ]は、タルスキー不動点を見つけるためのいくつかのアルゴリズムを提示しています。彼らは、要素ごとの順序付けと辞書式順序付けという 2 種類の格子を考慮しています。彼らは、関数fへの入力として、値オラクルまたは多項式関数という 2 種類を考慮しています。彼らのアルゴリズムの実行時間計算量は次のようになります (ここで、dは次元の数、N iは次元iの要素の数です)。
これらのアルゴリズムは二分探索に基づいている。一方、与えられた不動点が一意であるかどうかを判断することは計算上困難である。
d = 2の場合、コンポーネントごとの格子と値オラクルの場合、複雑さはが最適である。[ 10 ]しかし、d > 2 の場合、より高速なアルゴリズムが存在する。
タルスキの不動点定理は、スーパーモジュラーゲームに応用できる。[ 9 ]スーパーモジュラーゲーム(戦略的補完ゲームとも呼ばれる[ 13 ])は、各プレイヤーの効用関数の差が増加するゲームであり、プレイヤーの最適反応は、他のプレイヤーの戦略の弱増加関数となる。例えば、2つの企業間の競争ゲームを考えてみよう。各企業は、研究にどれだけの資金を費やすかを決定する必要がある。一般に、一方の企業が研究に多く費やす場合、もう一方の企業の最適反応は、研究に多く費やすことである。クールノー競争、ベルトラン競争、投資ゲームなど、いくつかの一般的なゲームはスーパーモジュラーゲームとしてモデル化できる。
最適応答関数は単調であるため、タルスキーの不動点定理を用いて、スーパーモジュラーゲームにおける純粋戦略ナッシュ均衡(PNE)の存在を証明することができる。さらに、トプキス[ 14 ]は、スーパーモジュラーゲームのPNEの集合が完全束であることを示し、したがって、このゲームには「最小」PNEと「最大」PNEが存在することを示した。
Echenique [ 15 ] は、スーパーモジュラーゲームですべての PNE を見つけるアルゴリズムを提示しています。彼のアルゴリズムは、まず最良応答シーケンスを使用して最小および最大の PNE を見つけ、次にいくつかの戦略を削除して、すべての PNE が見つかるまで繰り返します。彼のアルゴリズムは最悪の場合指数関数的ですが、実際には高速に実行されます。Deng、Qi、Ye [ 9 ] は、ゲームに関連付けられた順序保存写像の Tarski 不動点を見つけることで、PNE を効率的に計算できることを示しました。