相手に画面を見せないように渡してから、ボタンを押してね
— 計算と反則判定を、計算機(記号計算エンジン)が審判する電子版 —
相手の場の関数をすべて消したら勝ち。
微分・積分・極限のカードで、関数の基底を消し合う。
『ナブラ演算子ゲーム』(ナブラ演算子ゲーム製作委員会・登録商標)に着想を得た非公式ファン・アダプテーション。詳細はルール内の表記へ。
アユム 2026
相手の場の関数をすべて消したら勝ち。あなたとAIはそれぞれ「場」に関数の基底を持つ。基底の数が次元で、相手を0次元にした方が勝ちだ。初期の場は 1, x, x² の3次元。
① 0になる(定数を微分すると死ぬ) ② 発散する(lim で ∞ に飛ぶ) ③ 場の仲間と線形従属(x と 2x は同居できない。変化した側が吸収される)
① 実数の範囲で定義できない演算(負の数に√、など) ② 定義域の外へ x を近づける極限 ③ 振動する極限(lim x→∞ sin x のように収束しない) ④ x→0 で左右の極限が食い違う極限(1/x のように左は −∞・右は +∞)
√・log・逆関数・lim は、撃つ前にその関数が実数でちゃんと定義できるか読むこと(読み違えたら反則負け。警告は出ない)。計算の判定は厳密な記号計算エンジン(sympy)が肩代わりする。
| ∇ ・ Δ | 選んだ場全体の基底をまとめて微分(Δは2階)。自分の場にも撃てる |
| d/dx ・ ∫ | 狙った基底1つを微分/不定積分(エンジンが返す原始関数をそのまま使う・積分定数なし)。同じカードを重ねがけできる。初等関数で書けない積分(リウヴィルの定理)は erf や Ei などの特殊関数になって場に乗る。計算機がそれでも閉じた形にできない式のときだけ、カードは戻ってくる |
| × ・ ÷ | 基底に手札の関数を掛ける/割る。÷ は向きを選べる(÷カードをもう一度押すと \ = 逆数にしてカードを分子へ。場の sin x とカードの 1 で 1/sin x。\ は1ターン1回まで)。重ねがけは左から計算で、× は分子・÷ は分母に掛かる。1ターンに複数枚重ねがけできる(× sin x ÷ x など) |
| lim ・ √ ・ log ・ f⁻¹ | 極限で飛ばす・平方根・対数・逆関数(標準記号へ置換)。定義域を外すと反則 |
| パス | カードを出さずに手番を渡せる(「一ターンにつき一回カードを出すことが可能」=出さない自由もある)。両者が連続でパスすると終局し、次元の大きい方の勝ち |
| 1, x, x², sin x, cos x, eˣ, 0 | 関数カード。自分か相手の場に基底として追加。×÷ の材料にもなる |
| exp ・ 1/f ・ ℒ ・ δ(x) | 拡張カード(開始画面のチェックで追加・本家にない非公式のオリジナル拡張): 指数化 e^f(log の逆演算)/ 逆数 / ラプラス変換(sin x が 1/(x²+1) に化ける・δ が 1 に化ける)/ δ関数の召喚(微分では死なないが lim で 0 に潰される) |
| ℳ ・ e⁻ˣ² ・ f∗g | 拡張カード 第二弾(開始画面のチェックで追加・本家にない非公式のオリジナル拡張): メリン変換(別の座標系へ写す・収束しない式は計算できずカードが戻る)/ ガウシアン e⁻ˣ²(関数カードとして場に追加。急減衰で lim ±∞ が 0 に落ちやすい)/ 畳み込み f∗g(同じ場の基底2枚を選んで1枚に統合。次元を直接1減らせる「2枚を巻き込む」演算) |
| x→x±1 ・ ∫₀^∞ ・ f∘g ・ Re/Im(f(ix)) ・ tan x | 拡張カード 第三弾(開始画面のチェックで追加・本家にない非公式のオリジナル拡張): シフト(基底を x→x+1 または x→x−1 で平行移動。互いに逆向きの2種があり往復もできる。δ の台も一緒に動く)/ ∫₀^∞(基底を0から∞まで定積分して数値に還元。発散すれば合法消滅、振動すれば反則③)/ 合成 f∘g(同じ場の基底2枚を選んで f(g(x)) に統合。1枚目が外側・2枚目が内側で、順序を変えると結果も変わる)/ ウィック回転 Re(f(ix))・Im(f(ix))(x→ix と置き換えて実部/虚部を取る。x・sin x等はRe版で、1・x²・cos x等はIm版で消滅し、cos x⇄cosh x・sin x⇄sinh xのように振動↔発散が入れ替わる基底もある)/ 関数カード tan x(x=π/2+nπで発散する周期関数。通常の lim は振動して反則③だが、lim sup/lim inf は±∞に発散して合法消滅する。tan(ix)=i·tanh(x) なのでウィック回転でtanh xに化ける) |
クリックで開く。数学の授業で会わなかったカードも、意味がわかると戦い方が見えてくる。
微分は「グラフの各点での傾き」を新しい関数として取り出す操作。x² の傾きは 2x、sin x の傾きは cos x。定数のグラフは真っ平らで傾きゼロだから、定数は微分されると 0 になって消滅する。∇(ナブラ)は場全体をまとめて1回微分、Δ(デルタ・ラプラシアン)は場全体を2回微分、d/dx は狙った基底1つだけを微分する。
戦術: 相手の場に定数が並んだら ∇ 一枚で焼き払える。sin・cos・eˣ は微分しても仲間に化けるだけで死なない。
積分は微分の逆で、「傾きがこの関数になるような元の関数」を探す操作。x² → x³/3、cos x → sin x。微分すると消える定数も、積分すると x が生えて復活する(0 だけは積分しても 0 のまま)。閉じた式で書けない積分(∫e^(−x²) など)は erf のような特殊関数の姿で場に乗り、計算機がそれでも書けない式のときはカードが戻ってくる。
戦術: 自分の瀕死の定数を ∫ で x に育て直す延命ができる。重ねがけ(∫∫)も一手。
「x をどこまでも大きくしたら(あるいは 0 に近づけたら)、関数の値はどこへ向かうか」を尋ねる操作。e⁻ˣ は 0 へ落ち着き(収束・基底は定数 0 になって消滅)、x² は無限大へ飛ぶ(発散消滅 — このゲームの必殺技)。sin x のように永遠に揺れて行き先が決まらないと振動反則、1/x の x→0 のように左右から近づけた答えが食い違っても反則。撃つ前に行き先を読むこと。
戦術: 発散させれば相手の基底を消せるが、読み違えると自分が反則負け。ハイリスク・ハイリターンの主砲。
sin x は 1 と −1 の間を永遠に揺れ続けるから、普通の極限は「決まらない」。でも山の高さの行き先と谷の深さの行き先なら決まる — それが上極限(lim sup = 1)と下極限(lim inf = −1)。振動する関数を反則なしで定数に潰せる、唯一の安全な極限カード。√(sin x) のように定義域が島状に途切れる関数には、島に沿って測る(lim sup = 1、lim inf = 0)。
戦術: 微分で死なず lim で反則になる sin・cos を、合法的に定数へ変えて仕留める職人カード。log(sin x) の lim inf は −∞ で発散消滅も狙える。
√ は「2乗すると元に戻る数」、log は「eˣ の逆」(log eˣ = x)。どちらも負の数には実数の答えがないので、負の値を取る関数に撃つと反則①。log 1 = 0 なので、定数 1 に log を当てると 0 になって消える。
戦術: 基底「1」に log を撃つと log 1 = 0 で即消滅。sin x に √ は負の谷で反則……に見えて、実は定義域が島になって生き残る(詳細ルール参照)。
y = f(x) を「x を y で表す」形に解き直したのが逆関数。eˣ の逆は log x、sin x の逆は arcsin x、x² の逆は √x。グラフで言うと y = x の斜め線で折り返す操作。定数はどこを折り返しても関数にならないので、定数への f⁻¹ は反則①。
戦術: 厄介な eˣ を log x に変えると、今度は lim x→−∞ が撃てない定義域になる。形勢の組み替えに。
ルールブックの「一ターンにつき一回カードを出すことが可能」の一語から生まれた手。カードを出さずに手番だけ渡す。両者が連続でパスするとその場で終局し、次元(基底の数)が多い方の勝ち。
戦術: 次元でリードしているとき、相手がパスしたら乗ってパス — それで勝ちが確定する。
0: 場に出すと即消滅する捨て札。×0 の材料にすると相手のどんな基底も一撃で消せる。1・定数: 微分に最弱、でも lim には不死身。x・x²: 微分で1段ずつ削れる。lim x→±∞ で発散。sin x・cos x: 微分では互いに化け合って死なない。lim ±∞ は振動反則、lim sup / lim inf だけが通る。eˣ: 微分・積分で不動の要塞。ただし lim x→−∞ で 0 に潰され、log で丸裸(log eˣ = x)にされる。
exp は基底 f を e^f に持ち上げる(log の逆演算)。0 になりかけの基底も e⁰ = 1 に化けて延命する。1/f は基底を逆数にする。x が 1/x になると lim x→∞ で 0 に落ちる — 発散しない消え方が生まれる。
定義: L[f](s) = ∫₀^∞ f(x)·e^(−sx) dx(x を 0 から ∞ まで積分し、s の関数として返す)。関数をまるごと「別の座標系」に写す変換で、写した先では微分が掛け算に化けるので、微分方程式を代数の計算に変えられる — 工学で大人気の道具。写ると姿が激変する: sin x → 1/(x²+1)、eˣ → 1/(x−1)、δ → 1。このゲームでは変換後の式の s をそのまま x に読み替えて、新しい基底になる。
戦術: 微分で死なない sin x を、微分で削れる有理式 1/(x²+1) に変えてしまう「転送装置」。
x = 0 にだけ立つ、幅ゼロで高さ無限の針。実は「関数」ではなく超関数という別の生き物で、掛け算すると相手の x = 0 での値だけを拾う: f(x)·δ = f(0)·δ。cos x を掛けても δ のまま(cos 0 = 1)、x を掛けると消滅(x = 0 で 0)。微分では死なない(δ′, δ″, … と針が増えていく)が、lim x→0 で 0 に潰されるのが弱点。√ や log や逆数は数学的に定義できないので反則。δ の正体を手で触りたい人は姉妹作 幅をゼロにしていく — δ関数が生まれるまで へ。シフトカード(第三弾)を持っていれば、針の位置そのものを x=1、x=2…や x=−1、x=−2…へ動かせる(δ(x) → δ(x+1) または δ(x−1))。動いた針にも掛け算のサンプリングと lim x→0 の弱点はそのまま働く(台の位置での値を拾う・台が 0 からずれていれば lim x→0 は素通りして 0)。
戦術: 微分主体の相手には不沈艦。lim x→0 を持っている相手には出さない方がいい。シフトで針を動かせば、lim x→0 を避けて生き延びさせられる。
定義: M[f](s) = ∫₀^∞ f(x)·x^(s−1) dx(x を 0 から ∞ まで積分し、s の関数として返す)。ラプラス変換の指数 e^(−sx) を、べき乗 x^(s−1) に置き換えた親戚にあたる変換で、写った先の姿もやはり激変する。積分が収束する s の範囲(収束域)が無い関数(多項式など)は変換自体が成立せず、カードは手札に戻る。このゲームでは変換後の式の s をそのまま x に読み替えて、新しい基底になる。
戦術: ラプラス変換と同じ「転送装置」枠。手元の基底がラプラスでは変換できなくても、メリンなら通ることがある。
関数カードの一つ。原点で高さ1、両側へ離れるほど急激に0へ近づく釣鐘型のグラフ。常にプラスの実数値を取るので √ や log を安全に通せる。lim x→±∞ ではまっすぐ0に収束するので発散消滅は狙えないが、log を撃つと lim ±∞ で −∞ に発散させられる。×÷ の材料としても使える。
戦術: 相手の基底に掛けて急減衰させ、lim ±∞ での発散消滅を仕込む下ごしらえに向く。
定義: (f∗g)(x) = ∫₀ˣ f(t)·g(x−t) dt(0 から x まで積分。ラプラス変換と同じ 0〜∞ の流儀で、L[f∗g] = L[f]·L[g] になる、あの畳み込み)。同じ場にある基底を2枚選んで1枚の合成基底に統合する、「2枚を巻き込んで次元を直接1減らす」演算(f∘g 合成もこの仲間)。積分が閉じた形にならない組み合わせ(e⁻ˣ² 同士など)は計算できずカードが戻る。δ を含む基底は選べない。
戦術: 相手の場の基底2枚を選んで撃てば、反則のリスクなしで相手の次元をそのまま1減らせる。lim で発散を仕込んだり従属を作ったりする手間が要らない直接攻撃。自分の場に使うと自分の次元が減ってしまうので要注意。
関数のグラフを1目盛り左右へ平行移動する操作。x→x+1は f(x) を f(x+1) に(グラフは左へ1目盛り)、x→x−1は f(x) を f(x−1) に(グラフは右へ1目盛り)置き換える、互いに逆向きの2種のカード。形は変わらず、ただ位置だけがずれる。定義域ごと平行移動するので、負の数の領域に log や √ を追い込むと、その瞬間に反則①になる。δ(x) に使うと針の位置そのものが動く。
戦術: log x や √x のように片側にしか定義域がない基底を、相手の lim の狙いから外すのに使える。逆向きの2種があるので、一度ずらした位置を元に戻したり、狙った位置まで往復で調整することもできる。逆に自分の基底をうっかり定義域の外へ押し出すと自爆する。
定義: ∫₀^∞ f(x) dx(ラプラス変換・メリン変換と同じ 0〜∞ の流儀)。関数をまるごと1つの数へ押し潰す演算で、結果はその数値だけを持つ定数の基底になる。積分が ±∞ に発散すれば合法な消滅(次元が1減る)。sin x のように振動して収束しない場合は反則③。積分の値が実数にならない場合は反則①。sympy が閉じた形で計算できない場合はカードが手札に戻る(invalid)。δ を含む基底は、ちょうど積分区間の端 x=0 に台があるとみなされ扱いが規約依存になるため、このカードの対象外。
戦術: e⁻ˣ² のような急減衰の基底を数へ還元すれば安全に消せる。逆に sin x や cos x のように振動する基底に不用意に撃つと、自分が反則負けになる諸刃の剣。
関数 f と g を選んで f(g(x)) を作る合成演算。1枚目にクリックした基底が外側 f、2枚目が内側 gで、順序を入れ替えると別の式になる(sin x ∘ x² は sin(x²)、x² ∘ sin x は sin²x)。畳み込みと同じく基底2枚を1枚に統合するので次元が1減る。合成した結果の定義域が実数のどこにも存在しない、または複素になる組み合わせ(log(−x²) など)はその場で反則①。sympy が計算できない組み合わせや、δ を含む基底はカードが戻る(δ(g(x)) の根ごとの重み付けサンプリングは未対応のため対象外)。
戦術: 反則は演算した側(自分)の負けになるので、相手の基底へ撃つ場合でも組み合わせの危険性は自分の責任。log や √ を外側に選ぶときは、内側の値が常に正になる組み合わせを選ばないと自爆する。安全な組み合わせなら、畳み込みと同じくリスクなく相手の次元を1減らせる。
定義: x を ix(虚数単位 i を掛けた値)へ置き換えてから、実部だけを取り出す f(x) → Re(f(ix))。x や sin x はこの変換で 0 になり消滅する。cos x は振動したまま消えず、代わりに cosh x(発散する側)に化ける。eˣ は cos x に化ける。sympy が実部を閉じた形にできない組み合わせ(gamma(x) 等)はカードが戻る。δ を含む基底は対象外(複素引数の δ は定義できないため)。
戦術: cos x のように振動していて lim では発散させられない(振動は反則③になるだけで倒せない)相手の基底を、cosh x という発散する形に作り替えてから lim で仕留める、2段構えの攻め筋の要。x や sin x に自分で撃つと即座に自分の次元が減るので、狙う相手を間違えないこと。
定義: 同じく x → ix と置き換えてから、今度は虚部を取り出す f(x) → Im(f(ix))。1、x²、cos x はこの変換で 0 になり消滅する。sin x は sinh x(発散する側)に化け、eˣ は sin x に化ける。x はそのまま x に戻る(実質ノーオペ)。Re(f(ix)) と消える基底・化ける基底がちょうど入れ替わる関係。
戦術: Re版が通じない相手(sin x で粘っている等)にはこちらを差し向ける。1・x²・cos x を持つ相手を狙えば即座に次元を削れる。sin x を sinh x に変えてから lim で発散させる、Re版と対になる攻め筋も作れる。
・sin x / cos x / eˣ は微分では死なないが、lim に弱い。消したいなら lim か、線形従属に持ち込む。
・lim で ∞ に飛ばすのは正当な消し方(発散消滅)。反則になるのは、定義域の外へ x を近づけたとき、振動する極限、そして x→0 で左右の極限が一致しないとき。
・山札は80枚(関数27・演算子53)。手札は7枚。使った分は手番の終わりに山札から補充される。
・1ターンに出せるのは1手(d/dx・∫ の重ねがけと ×÷ チェーンは、まとめて1手)。
・パスはいつでも可能。出せるカードがあっても出さなくてよい。
・山札が尽きたら補充なし。そのまま手札だけで続行する。
対局中に下の39種類の名前付き関数・定数を自分の場に作り出すと、その種類ごとに手札上限が1つ増える(7枚→8枚→9枚…)。単体で裸の形になっていなくてもよく(式の一部に含まれていれば達成)、同じ種類を2回作っても上限は増えない(それぞれ別々の実績として数える)。sin・cos・tan・log・expのような基本の初等関数は対象外(ただしeˣを操作した結果、指数部の値そのものとしてe(ネイピア数)が生まれた場合はeの実績になる)。狙って作るもよし、計算の成り行きで偶然出るもよし。
Γ(x) ガンマ関数・ψ⁽ⁿ⁾(x) ポリガンマ関数・γ(a,x) 不完全ガンマ関数(下側)・Γ(a,x) 不完全ガンマ関数(上側)・erf(x) 誤差関数・erfc(x) 相補誤差関数・erfi(x) 虚数誤差関数・erf⁻¹(x) 逆誤差関数・Si(x) 正弦積分・Ci(x) 余弦積分・Ei(x) 指数積分・li(x) 対数積分・S(x) フレネル積分・C(x) フレネル積分(余弦)・W(x) ランベルトW関数・Li₂(x) 二重対数関数・一般化超幾何関数・γ オイラー・マスケローニ定数・π・e ネイピア数・sinh(x) 双曲線正弦関数・cosh(x) 双曲線余弦関数・tanh(x) 双曲線正接関数・sinh⁻¹(x) 逆双曲線正弦関数・cosh⁻¹(x) 逆双曲線余弦関数・tanh⁻¹(x) 逆双曲線正接関数・sin⁻¹(x) 逆正弦関数・cos⁻¹(x) 逆余弦関数・tan⁻¹(x) 逆正接関数・F(x,m) 第1種不完全楕円積分・E(x,m) 第2種不完全楕円積分・Shi(x) 双曲線正弦積分・Chi(x) 双曲線余弦積分・coth(x) 双曲線余接関数・Eₙ(x) 一般化指数積分・G(x) マイヤーのG関数・ζ(x) ゼータ関数・η(x) ディリクレのイータ関数・⌊x⌋ 床関数
① どちらかが 0次元になる(基底が全滅)→ 相手の勝ち
② 両者が連続でパス → その時点で次元の大きい方の勝ち(同数なら引き分け)
③ 山札も出せる手も尽きた → 次元の大きい方の勝ち
・lim x→±∞: その方向に定義域が続いていない関数へ撃つと反則②(log x へ x→−∞ など)。
・lim x→0: 左右の極限を別々に計算し、一致しなければ反則④(1/x は左が −∞・右が +∞ で反則。1/x² は両側 +∞ なので正当な発散消滅)。log x や √x のように定義域が片側にしかない関数は、その側からの片側極限で判定する。
・lim sup / lim inf: 振動する関数にも撃てる(sin x の lim sup は 1)。√(sin x) のように定義域が島状に寸断された関数には、定義域に沿った上下極限で判定する(√(sin x) の lim sup は 1・lim inf は 0。log(sin x) の lim inf は −∞ で発散消滅)。
・収束した値(定数)は基底として場に残る。0 に収束したときだけ消滅。
・計算機がどうしても極限を計算できない式のときは、反則ではなくカードが手札に戻る。
・同じ場に定数倍の関係の基底は同居できない(x と 2x、sin x と −3 sin x)。演算の結果そうなった場合、変化した側・後から来た側が消える。
・定数どうし(2 と 5 など)も互いに定数倍なので同居できない。
・sin x と cos x、x と x² は独立なので同居できる。
δ(x) は関数ではなく超関数。このゲームでは分布の計算規則に従う。
・掛け算はサンプリング: f(x)·δ = f(0)·δ。cos x × δ → δ のまま、x × δ → 0 で消滅(x(0)=0)。
・δ′ との積はライプニッツ則: f·δ′ = f(0)δ′ − f′(0)δ。たとえば x·δ′ = −δ。
・÷ でδを分子にするのは合法: δ ÷ cos x → δ。ただし分母が x=0 で 0 になる関数だと反則(δ ÷ sin x は δ の台で 0 割り)。
・δを分母にすると反則負け: 1/δ や f ÷ δ は数学的に定義できない(手としては打てる。打った側の負け)。
・非線形演算は反則①: √δ・log δ・δ⁻¹(逆関数)・e^δ・1/δ はどれも超関数に対して定義できない。
・線形演算は合法: 微分(δ′, δ″, … と続く。微分では死なない)、積分、ℒ[δ] = 1(ラプラス変換で 1 に化ける)。
・lim x→0 δ = 0: δ は x≠0 で 0 なので、極限で潰せる。これがδの弱点。
・|x| を微分していくと sign(x) → 2δ → 2δ′ → … と超関数の階段を降りていく。
・積分は計算エンジン(sympy)が返す原始関数をそのまま使う(積分定数は付かない。「省略ルール」ではなくエンジンに従う)。
・初等関数で書けない積分(∫e^(−x²) など)は erf・Ei などの特殊関数として場に乗る。
・×÷ の重ねがけは左から順に計算する。× g は分子に、÷ g は分母に掛かる(基底 x に「\ 1 ÷ sin x」なら 1/(x·sin x))。
・\(÷カードをもう一度押した状態)は「いまの式を逆数にして、カードを分子に掛ける」。1ターンに1回まで。
・0 のカードで割ると 0除算の反則負け(手としては打てる。UIは止めない)。×0 は合法で、どんな基底も 0 にして消せる。
・反則はすべて「演算した側の負け」。相手の場に撃っても、自分の場に撃っても同じ。
本作は『ナブラ演算子ゲーム』(ナブラ演算子ゲーム製作委員会・登録商標)に着想を得た非公式ファン・アダプテーションです。同委員会とは無関係で、公認・許諾を受けたものではありません。原作は nablagame.com。本作は本家の実数版ルール(基底・次元・消滅3条件・反則3種・逆関数カード)に準拠し、演算の計算と反則判定はすべてサーバー上で動く厳密な記号計算エンジン(Python + sympy)が行います。各基底は実関数の x-y グラフで表示。AIは相手の場を0次元にすることを最優先に次元差を最大化するよう1手先を読みます(反則手は自動回避)。
AIの思考が長いと感じたら → 動作診断ログをコピー(この端末に記録された長考の盤面。バグ報告に貼ってもらえると直せます)
アユム 2026