Report 3 / Exercises and Answers

グレブナー基底を使った探索:演習問題と解答

定義確認から Buchberger 法、消去、Boolean/SAT、探索設計、応用まで、解答・ヒント・進捗管理つきで練習するための HTML 演習集。

演習解答ヒント進捗管理ミニクイズ

1. 演習の進め方

このレポートは、グレブナー基底を使った探索を自分の手で確認するための演習集です。定義、割り算、S-ペア、Buchberger 法、消去、Boolean/SAT、探索設計、応用まで段階的に並べています。

推奨手順。 先に解答を閉じたまま解き、詰まったらヒントだけ開き、最後に解答を確認してください。チェックボックスは進捗管理用です。

2. 最低限の公式リファレンス

S-多項式

\[S(f,g)=\frac{\operatorname{lcm}(\operatorname{LM}(f),\operatorname{LM}(g))}{\operatorname{LT}(f)}f-\frac{\operatorname{lcm}(\operatorname{LM}(f),\operatorname{LM}(g))}{\operatorname{LT}(g)}g.\]

GB 判定

有限集合 \(G\) が GB であることと、すべての \(S(g_i,g_j)\) が \(G\) で 0 に簡約されることは同値。

所属判定

\(G\) が \(I\) の GB なら、\(f\in I\iff \mathrm{NF}(f\mid G)=0\)。

消去

lex \(x_1>\cdots>x_n\) の GB で、後ろの変数だけを含む基底元は消去イデアルの GB。

3. 演習問題と解答

定義

単項式順序の確認

lex \(x>y>z\) で、\(x^2z\) と \(xy^5\) はどちらが大きいか。

ヒント

まず単項式順序・先頭項・指数ベクトルの定義に戻って比較します。

解答を表示

lex では最初に \(x\) の指数を比べる。\(x^2z\) は \((2,0,1)\)、\(xy^5\) は \((1,5,0)\)。最初の指数で \(2>1\) なので \(x^2z>xy^5\)。

定義

grevlex の比較

grevlex \(x>y>z\) で \(x^2z\) と \(xy^2\) を比較せよ。

ヒント

まず単項式順序・先頭項・指数ベクトルの定義に戻って比較します。

解答を表示

全次数はどちらも 3。差は \((2,0,1)-(1,2,0)=(1,-2,1)\)。最後に非零の成分は \(z\) 成分の \(1\)。grevlex ではこれが負の側が大きいので \(xy^2>x^2z\)。

定義

先頭項

lex \(x>y\) で \(f=3x^2y+5xy^7-y^{10}\) の \(\mathrm{LT},\mathrm{LM},\mathrm{LC}\) を求めよ。

ヒント

まず単項式順序・先頭項・指数ベクトルの定義に戻って比較します。

解答を表示

\(x\) 指数が最大の項は \(3x^2y\)。したがって \(\mathrm{LT}(f)=3x^2y\)、\(\mathrm{LM}(f)=x^2y\)、\(\mathrm{LC}(f)=3\)。

定義

整除判定

\(x^2y\) は \(x^3y^4z\) を割るか。\(xy^5\) は割るか。

ヒント

まず単項式順序・先頭項・指数ベクトルの定義に戻って比較します。

解答を表示

\(x^2y\mid x^3y^4z\) は指数比較 \((2,1,0)\le(3,4,1)\) なので真。\(xy^5\mid x^3y^4z\) は \(5\le4\) が偽なので割らない。

割り算

1ステップ簡約

lex \(x>y\)、\(g=x^2-y\)、\(p=x^3+xy\)。\(p\) の先頭項を \(g\) で消せ。

ヒント

先頭項が割れるかを見て、係数単項式を掛けて引きます。

解答を表示

\(\mathrm{LT}(p)=x^3\)、\(\mathrm{LT}(g)=x^2\)。係数単項式は \(x\)。よって \(p-xg=x^3+xy-x(x^2-y)=xy+xy=2xy\)。

割り算★★

正規形計算

lex \(x>y\)、\(G=\{x-y^2,y^3-1\}\)。\(p=x^2+y\) の正規形を求めよ。

ヒント

先頭項が割れるかを見て、係数単項式を掛けて引きます。

解答を表示

\(x o y^2\) なので \(x^2 o y^4\)。さらに \(y^3 o1\) より \(y^4 o y\)。したがって \(p o y+y=2y\)。正規形は \(2y\)。

割り算★★

所属判定

同じ \(G\) で \(h=x^2-y\) はイデアルに属するか。

ヒント

先頭項が割れるかを見て、係数単項式を掛けて引きます。

解答を表示

\(x o y^2\) より \(x^2-y o y^4-y\)。\(y^4 o y\) なので 0。正規形 0 だから属する。

Sペア★★

S-多項式の計算

lex \(x>y\)、\(f_1=x^2-y\)、\(f_2=xy-1\)。\(S(f_1,f_2)\) を求めよ。

ヒント

lcm を作り、両方の先頭項が同じになるように掛けて差を取ります。

解答を表示

\(\mathrm{LM}(f_1)=x^2\)、\(\mathrm{LM}(f_2)=xy\)、lcm は \(x^2y\)。したがって \(S=yf_1-xf_2=y(x^2-y)-x(xy-1)=x-y^2\)。

Sペア★★

Sペアの簡約

\(g_3=x-y^2\)。\(S(f_1,g_3)\) を \(\{f_1,f_2,g_3\}\) で簡約せよ。

ヒント

lcm を作り、両方の先頭項が同じになるように掛けて差を取ります。

解答を表示

lcm\((x^2,x)=x^2\)。\(S=f_1-xg_3=(x^2-y)-x(x-y^2)=xy^2-y=y(xy-1)=yf_2\)。したがって 0 に簡約される。

Sペア★★

新規式の発見

\(S(f_2,g_3)\) を求めよ。

ヒント

lcm を作り、両方の先頭項が同じになるように掛けて差を取ります。

解答を表示

lcm\((xy,x)=xy\)。\(S=f_2-y g_3=(xy-1)-y(x-y^2)=y^3-1\)。これは新規式として追加される。

Buchberger★★

基底判定

\(G=\{x-y^2,y^3-1\}\) が \(\langle x^2-y,xy-1 angle\) の GB であることを確認せよ。

ヒント

全ての S-ペアの正規形が 0 かどうかを確認します。

解答を表示

2個だけなので唯一の S-ペアを見る。\(S(x-y^2,y^3-1)=y^3(x-y^2)-x(y^3-1)=x-y^5\)。\(x o y^2\) で \(y^2-y^5=y^2(1-y^3)\)、さらに \(y^3-1\) で 0。よって Buchberger 判定により GB。

Buchberger★★

被約性

\(\{x-y^2,y^3-1\}\) は被約 GB か。

ヒント

全ての S-ペアの正規形が 0 かどうかを確認します。

解答を表示

両方 monic。\(x-y^2\) の非先頭項 \(y^2\) は \(y^3\) で割れない。\(y^3-1\) の非先頭項 1 は \(x\) でも \(y^3\) でも割れない。したがって被約。

消去

消去イデアル

\(G=\{x-y,2y^2-1\}\subset K[x,y]\) は lex \(x>y\) の GB。\(I\cap K[y]\) の生成元は何か。

ヒント

lex 順序では、少ない変数だけを含む基底元に注目します。

解答を表示

消去定理より、\(G\cap K[y]=\{2y^2-1\}\) が \(I\cap K[y]\) の GB。

消去★★

三角形から解く

\(G=\{x+y+z,y^2+yz+z^2+1,z^3+z-2\}\) から解く順序を述べよ。

ヒント

lex 順序では、少ない変数だけを含む基底元に注目します。

解答を表示

まず \(z^3+z-2=0\) を解く。次に各 \(z\) について \(y^2+yz+z^2+1=0\) を解く。最後に \(x=-y-z\) とする。

消去★★

パラメータ条件

\(x^2=a, x=b\) が解を持つ条件を消去で求めよ。

ヒント

lex 順序では、少ない変数だけを含む基底元に注目します。

解答を表示

イデアル \(\langle x^2-a,x-b angle\)。\(x=b\) を代入して \(b^2-a=0\)。条件は \(a=b^2\)。GB は \(\{x-b,a-b^2\}\)。

幾何

円と直線

\(x^2+y^2=1, x=y\) の lex GB \(\{x-y,2y^2-1\}\) から解を求めよ。

ヒント

GB を三角形の連立方程式として読み、下から順に解きます。

解答を表示

\(2y^2-1=0\) より \(y=\pm1/\sqrt2\)。\(x=y\)。

幾何★★

二円の交点

\(G=\{2x-1,4y^2-3\}\) から交点を求めよ。

ヒント

GB を三角形の連立方程式として読み、下から順に解きます。

解答を表示

\(x=1/2\)、\(y=\pm\sqrt3/2\)。

幾何★★

接触の判定

GB に \((y-1)^2\) が現れたとき、幾何的に何を示唆するか。

ヒント

GB を三角形の連立方程式として読み、下から順に解きます。

解答を表示

解集合としては \(y=1\) だが重根である。平面曲線の交点では接触や重複度を示唆する。

Boolean

節の多項式化

節 \((x\lor \lnot y\lor z)\) を Boolean 多項式で表せ。

ヒント

真偽値を 0/1 として、偽になる場合の積を 0 にします。

解答を表示

節が偽になるのは \(x=0,y=1,z=0\)。したがって偽条件の指示積 \((1-x)y(1-z)\) を 0 にする。

Boolean

AND

\(z=x\land y\) を \(\mathbb Q\) 上の Boolean 多項式で表せ。

ヒント

真偽値を 0/1 として、偽になる場合の積を 0 にします。

解答を表示

\(x^2-x=0,y^2-y=0,z^2-z=0,z-xy=0\)。

Boolean★★

XOR

\(z=x\oplus y\) を多項式で表せ。

ヒント

真偽値を 0/1 として、偽になる場合の積を 0 にします。

解答を表示

Boolean 0/1 では \(x\oplus y=x+y-2xy\)。したがって \(z-(x+y-2xy)=0\) と Boolean 制約。

Boolean★★

三角形の2色彩色

三角形の 2 色彩色制約から矛盾を手計算で示せ。

ヒント

真偽値を 0/1 として、偽になる場合の積を 0 にします。

解答を表示

辺制約は \(x+y=1,y+z=1,x+z=1\)。最初二つから \(x=z\)。第三式で \(2x=1\)。Boolean 制約 \(x^2=x\) に \(x=1/2\) は反する。よって解なし。GB では \(1\) が出る。

Boolean★★

パスの2色彩色

\(G=\{x-z,y+z-1,z^2-z\}\) の解を列挙せよ。

ヒント

真偽値を 0/1 として、偽になる場合の積を 0 にします。

解答を表示

\(z=0\) なら \((x,y,z)=(0,1,0)\)。\(z=1\) なら \((1,0,1)\)。

SAT★★

強制リテラル

GB \(\{x^2-x,xz-x,y-1,z^2-z\}\) から SAT 解の共通性を読め。

ヒント

節が偽になる割当を多項式で禁止します。

解答を表示

すべての解で \(y=1\)。また \(xz-x=x(z-1)=0\) なので、\(x=1\) なら \(z=1\)。

探索設計★★

frontier

Buchberger 法における frontier とは何か。

ヒント

frontier、正規形、枝刈り、visited set という探索語彙で考えます。

解答を表示

未処理の S-ペア集合。新しい基底元を追加すると、その基底元と既存基底元のペアが frontier に追加される。

探索設計★★

visited set

グレブナー探索で正規形を visited set のキーにできる理由を説明せよ。

ヒント

frontier、正規形、枝刈り、visited set という探索語彙で考えます。

解答を表示

GB による正規形は一意なので、同じ剰余類に属する状態は同じ正規形に落ちる。したがって重複探索を避ける canonical representation として使える。

順序★★

順序選択

解の三角形化を目的にする場合、lex と grevlex のどちらを優先するか。

ヒント

何を消したいか、何を三角形化したいかで順序を選びます。

解答を表示

直接の三角形化・消去には lex が適する。ただし計算が重い場合は grevlex で先に計算し、零次元なら順序変換を使う戦略もある。

順序★★

標準単項式

先頭イデアル \(\langle x^2,xy,y^3 angle\) の標準単項式を列挙せよ。

ヒント

何を消したいか、何を三角形化したいかで順序を選びます。

解答を表示

どの生成元にも割られない単項式。\(1,x,y,y^2\)。

剰余環★★

次元

上の標準単項式集合から \(K[x,y]/\langle x^2,xy,y^3 angle\) のベクトル空間次元を求めよ。

ヒント

標準単項式は先頭イデアルに入らない単項式です。

解答を表示

標準単項式が 4 個なので次元は 4。

飽和★★

不等式

\(x^2-1=0\) かつ \(x e1\) を多項式だけで表せ。

ヒント

不等式は新変数で逆元を強制する方法を考えます。

解答を表示

新変数 \(t\) を入れて \(x^2-1=0,\ t(x-1)-1=0\)。これにより \(x=1\) は不可能になり、\(x=-1\) が残る。

飽和★★★

分母の除外

式変形で \(g\) で割った場合、なぜ \(g e0\) の条件を管理すべきか。

ヒント

不等式は新変数で逆元を強制する方法を考えます。

解答を表示

\(g=0\) の解を勝手に消す可能性があるため。代数的には飽和 \(I:g^\infty\) や \(tg-1\) の導入で、割った枝が扱う解集合を明示する。

最適化★★

KKT

\(x+y=1\) 上で \(x^2+y^2\) を最小化する KKT 方程式を書け。

ヒント

ラグランジアンを作り、偏微分と制約を連立します。

解答を表示

ラグランジアン \(L=x^2+y^2+\lambda(x+y-1)\)。方程式は \(2x+\lambda=0,2y+\lambda=0,x+y-1=0\)。

最適化★★

KKT 解

前問の解を求めよ。

ヒント

ラグランジアンを作り、偏微分と制約を連立します。

解答を表示

最初二式から \(x=y\)。制約より \(2x=1\)。したがって \(x=y=1/2\)、\(\lambda=-1\)。

不変量★★

更新の検証

\(x^{\prime}=x+1,y^{\prime}=y+2x+1\) が \(y=x^2\) を保存することを示せ。

ヒント

更新後の候補式を前提制約で割ります。

解答を表示

前提 \(y=x^2\) の下で \(y^{\prime}=y+2x+1=x^2+2x+1=(x+1)^2=(x^{\prime})^2\)。多項式的には \(y^{\prime}-(x^{\prime})^2\) の正規形が 0。

実解★★

複素解と実解

GB が \(\{x^2+1\}\) のとき、複素数上と実数上で何が違うか。

ヒント

GB の代数閉体上の情報と実数上の解は区別します。

解答を表示

複素数上では \(x=\pm i\) の 2 解。実数上では解なし。GB は係数体の代数閉包上の情報を主に与えるので、実解判定には追加手法が必要。

証明★★★

Buchberger 判定

有限集合 \(G\) が GB であることを S-ペアで判定できる理由を一文で述べよ。

ヒント

S-ペア、先頭イデアル、Noetherian 性をキーワードにします。

解答を表示

任意の先頭項の衝突は S-多項式に集約され、その全てが 0 に簡約されれば、任意のイデアル元の先頭項が \(\langle\mathrm{LT}(G) angle\) に捕捉されるから。

証明★★★

停止性

Buchberger 法が停止する背後にある定理は何か。

ヒント

S-ペア、先頭イデアル、Noetherian 性をキーワードにします。

解答を表示

Dickson の補題、または多項式環が Noetherian である Hilbert 基底定理。先頭単項式イデアルの増大列が有限段で止まる。

実装★★

係数膨張

GB 計算で係数膨張が問題になる理由を述べよ。

ヒント

中間式の大きさとペア数を減らす工夫を考えます。

解答を表示

S-多項式と簡約を繰り返すと中間係数が急激に大きくなることがある。計算時間・メモリ・式の可読性を悪化させるため、順序選択、モジュラー計算、F4/F5 などの工夫が重要になる。

実装★★★

不要ペア

Buchberger 法で処理しなくてよい S-ペアを減らす考え方を述べよ。

ヒント

中間式の大きさとペア数を減らす工夫を考えます。

解答を表示

lcm 条件や Buchberger の criteria により、正規形が 0 になることが事前に分かるペアを飛ばす。探索グラフでは枝刈りに相当する。

総合★★★

設計問題

「グラフが3色彩色可能か」を GB で調べるための二つの符号化を挙げよ。

ヒント

問題を多項式化し、目的に合う順序を選ぶところから設計します。

解答を表示

一つは one-hot 変数 \(x_{v,c}\) を使い、各頂点で \(\sum_c x_{v,c}-1=0\)、辺で \(x_{u,c}x_{v,c}=0\)。もう一つは三乗根変数 \(x_v^3-1=0\) と辺制約 \(x_u^2+x_ux_v+x_v^2=0\)。

総合★★★

解なし証明

GB が \(\{1\}\) であることの探索上の意味を説明せよ。

ヒント

問題を多項式化し、目的に合う順序を選ぶところから設計します。

解答を表示

制約から \(1=0\) が導かれるので解集合は空。探索木全体が根で閉じる、つまり全枝が矛盾することの代数的証明。

総合★★★

消去順序設計

パラメータ \(a,b\) の条件だけを知りたいとき、未知数 \(x,y\) とパラメータの順序はどう置くか。

ヒント

問題を多項式化し、目的に合う順序を選ぶところから設計します。

解答を表示

未知数をパラメータより大きく置く。例:lex \(x>y>a>b\)。すると \(G\cap K[a,b]\) にパラメータだけの条件が現れる。

総合★★★

探索ログ

GB 計算のログとして保存すべき情報を5つ挙げよ。

ヒント

問題を多項式化し、目的に合う順序を選ぶところから設計します。

解答を表示

単項式順序、入力多項式、各 S-ペア、各 S-多項式の正規形、新規基底元、0 簡約、最終 interreduce 結果、計算時間など。5つ以上挙げられていればよい。

4. ミニ自動チェック

下の小テストは即時採点されます。数式演習の完全な採点ではありませんが、定義の確認に使えます。

5. 解いた後の発展課題

手計算ログを作る

各 S-ペアについて、lcm、S-多項式、正規形、0/非0、追加基底元を表にまとめてください。

順序を変える

同じ入力を lex、grlex、grevlex で計算し、基底の形と計算量の違いを比較してください。

Boolean 問題を増やす

小さな SAT、彩色、exact cover を自分で多項式化し、\(\{1\}\) が出るかを確認してください。

可視化する

S-ペア探索を DOT のグラフにし、どの枝が 0 に簡約されたかを色分けしてください。