代数的実数とCADの実装紹介

Masahiro Sakai
Masahiro SakaiSoftware Engineer at Preferred Networks, Inc.
(Haskellによる)
代数的実数とCADの実装紹介
2013-05-04 Haskellで計算機代数勉強会
酒井政裕
自己紹介
今回の勉強会の首謀者
ブログ: ヒビルテ
Twitter: @masahiro_sakai
定理証明や決定手続きに興味
github.com/msakai/toysolver
今日はその中から、代数的実数の実装と、
実閉体の理論の決定可能性について紹介
CM: Alloy本&TAPL好評発売中
今日の話
話す内容
前半: 代数的実数の話
後半: 実閉体の理論の決定可能性
数学的に高度なことは特に使いません。
自分自身、代数に詳しいわけではないし (^^;
前半: 代数的実数編
目次
代数的実数とは
代数的実数の表現
根の求め方
代数的実数の演算
課題と今後
代数的実数とは
有理数係数多項式の根になっている実数
例
√2 と - √2 は x2 - 2 の根 (i.e. x2 - 2 = 0 の解)
√2 + √3 ≒ 3.1462643699419… は x4 - 10 x2 + 1 の根
(冪根 + 四則演算で書けるとは限らないので注意)
代数的実数でないもの
複素数: i は x2 + 1 の根だけれど実数ではないのでNG
超越数: πとかeは有理数係数多項式の根では表現不可
なぜ代数的実数?
多項式制約の解を表現するのに使いたい
豊かな演算
四則演算、多項式の根に関して閉じている
計算可能性
演算や比較がすべて計算可能
有理数と同じく数値誤差無しに計算可能
数値計算なら誤差があっても良いけど、
定理証明などでは誤差なしで計算したい
目次
代数的実数とは
代数的実数の表現
根の求め方
代数的実数の演算
課題と今後
代数的実数の表現
多項式の根は一般に複数
n次多項式は複素数の範囲で、重根を含めて
n個の根を持つ
今回は実根に限定してるのと、重根を除く
と、より少なくなるけれど
多項式だけでは根を特定できない!
ちょうどn個の根の場合
x2 - 2
重根がある場合
x2
実根がない場合
x2 + 1
代数的実数の表現
多項式の根は複数なので、多項式だけでは根
を特定できない!
アイディア: 多項式 × 根をただ1つ含む区間
p = 4x3 - 10x2 + x + 1
代数的実数の表現
多項式の根は複数なので、多項式だけでは根
を特定できない!
アイディア: 多項式 × 根をただ1つ含む区間
p = 4x3 - 10x2 + x + 1
代数的実数の表現
多項式の根は複数なので、多項式だけでは根
を特定できない!
アイディア: 多項式 × 根をただ1つ含む区間
p = 4x3 - 10x2 + x + 1
代数的実数の表現
多項式の根は複数なので、多項式だけでは根
を特定できない!
アイディア: 多項式 × 根をただ1つ含む区間
p = 4x3 - 10x2 + x + 1
代数的実数の表現
多項式の根は複数なので、多項式だけでは根
を特定できない!
アイディア: 多項式 × 根をただ1つ含む区間
p = 4x3 - 10x2 + x + 1
根の表現
1. (p, [-1,0))
2. (p, [0,1])
3. (p, [2,3])
代数的実数の表現
自分の現在の実装での表現
data AReal =
AReal (UPolynomial Rational) (Interval Rational)
有理数係数の最小多項式
因数分解済み・最高次の係数を1に正規化
その多項式の根をただ1つ含む有理数区間
(区間の実装はdata-intervalとしてHackageに登録)
表現例
-√2 = AReal (x2 - 2) (-2 <=..<= 0)
√2 = AReal (x2 - 2) (0 <..<= 2)
代数的実数の表現
別の表現方法
区間の代わりに根に番号をふって、
番号との組で表現
代数的実数係数の多項式を利用
再帰的な表現
利点: 表現はコンパクトになる
欠点: 操作が面倒
目次
代数的実数とは
代数的実数の表現
根の求め方
代数的実数の演算
課題とと今後
根を求める
根を求める関数
realRoots :: UPolynomial Rational → [AReal]
お仕事
多項式を因数分解
因数分解して得られた各多項式について
すべての根を含む区間を計算 (根の限界)
区間の分割を繰り返して、各区間が根を
ただ1つだけ含むようにする (根の分離)
根の限界
まず全ての根を含む
有限の区間を計算
[定理]
xn + an-1xn-1 +...+ a0 の実根は、
M = max{ 1, |an-1| + ... + |a0| }
とおくと [-M, M] に含まれる
例)
4x3 - 10x2 + x + 1
= x3 + (-5/2)x2 + (1/4)x + (1/4)
M = max{ 1, |-5/2|+|1/4|+|1/4| }
= 3
根の分離
スツルム鎖
p0, p1, p2, …, pm
p0 = p
p1 = p’
p2 = - (p0 mod p1)
…
pm = - (pm-2 mod pm-1)
0 = - (pm-1 mod pm)
(p, p’のGCD計算の変形)
[スツルムの定理]
σ(ξ)をp0(ξ), p1(ξ), …の
符号変化回数とすると、
区間 (a,b] に含まれる実
根の個数はσ(a)-σ(b) 個
根の限界で求めた区間
を、各区間に含まれる根
が1つになるまで分割
根の分離の例
p(x) = 4x3 - 10x2 + x + 1 の場合
最初の区間は [-3, 3]
p(-3)=-200 ≠ 0 なので (-3, 3]
スツルム鎖
p0 = 4x3 - 10x2 + x + 1
p1 = 12x2 - 20x + 1
p2 = - (p0 mod p1) = (44/9)x - 23/18
p3 = - (p1 mod p2) = 6597/1936
σ(-3) = 3 … (− → + → − → + で3回の符号変化)
p0(-3) = -200, p1(-3) = 169, p2(-3) = -287/18, p3 = 6597/1936
同様に σ(3) = 0 … (0回の符号変化)
p0(3) = 22, p1(3) = 49, p2(3) = 241/18, p3(3) = 6597/1936
(-3, 3] には σ(-3) - σ(3) = 3 - 0 = 3 個の根
根の分離の例
p(x) = 4x3 - 10x2 + x + 1
(-3, 3] には 3 個の根
(-3, 3] を二等分して
(-3, 0], (0, 3]
(-3, 0] には 1 個の根 → OK
(0, 3] には 2 個の根
(0, 3] を二等分して (0, 3/2], (3/2, 3] に
(0, 3/2] には 1 個の根 → OK
(3/2, 3] には 1 個の根 → OK
目次
代数的実数とは
代数的実数の表現
根の求め方
代数的実数の演算
課題と今後
代数的実数の演算
近似値の計算
比較
四則演算など
代数的実数係数の多項式の根の計算
演算: 近似値の計算
スツルムの定理による区間の絞り込みで、
任意有限精度で近似可能
approx
:: AReal → Rational → Rational
ε>0 abs (approx a ε − a) ≤ ε
approxInterval
:: AReal → Rational → Interval Rational
ε>0 width (approxInterval a ε) ≤ ε
演算: 比較
Eq と Ord を実装
a = AReal p1 I1, b = AReal p2 I2 とする
a = b の判定
p1 = p2 かつ I1 ∩ I2 に根が含まれる
a < b や a > b の判定
スツルムの定理で I1 と I2 を縮めていけ
ば、区間が重ならなくなり、判定できる
演算: 四則演算など
適当な公理を満たす四則演算が定義できるので、
体になる
Num, Fractional, Real, RealFrac を実装
有理数との加算と乗算は簡単かつ高速
代数的実数同士の演算は面倒くさい
演算: 有理数との演算
有理数との演算は変数変換と区間演算で容易に実現
代数的実数 a = AReal p(x) I と 有理数 b の加算の場合
a + b = AReal p(x-b) (I+b)
例
√2 + 3
= (AReal (x2-2) (0,2]) + 3
= AReal ((x-3)2-2) (0+3,2+3]
= AReal (x2 -6x + 7) (3,5]
演算: 有理数との演算
乗算の場合
a * b = AReal p(x/b) (I*b) if b≠0
例
√2 * 3
= (AReal (x2-2) (0,2]) *3
= AReal ((x/3)2-2) (0*3,2*3]
= AReal ((1/9)x2 - 2x + 7) (0,6]
代数的実数同士の加算
α = AReal p1(x) I1, β = AReal p2(x) I2
α + β を根とする多項式をまず見つける
すなわち
c0 + c1(α+β) + … + cn-1(α+β)n-1 + cn(α+β)n = 0 を満たす
n と ci ∈ Q を見つけたい (ただし ci≠0 for some j)
{ 1, α+β, (α+β)2, …, (α+β)n } の線形従属性
{ 1, x+y, (x+y)2, …, (x+y)n } ⊆ Q[x,y]/{p1(x), p2(y)}
が線形従属になるまで、nを増やしながら、試す
代数的実数同士の加算例
√2 + 3√3
{ 1, x+y, (x+y)2, …, (x+y)n } ⊆ Q[x,y]/{x2 - 2, y3 - 3}
(x+y) = x+y
(x+y)2 = x2 + 2xy + y2 = 2 + 2xy + y2
(x+y)3 = (x+y)(2 + 2xy + y2)
= 2x+2x2y+xy2+2y+2xy2+y3
= 2x+4y+xy2+2y+2xy2+3
= 2x+6y+3xy2+3
(x+y)4 = 8xy + 12y2 + 12x + 3y + 4
…
全て { 1, x, y, xy, y2, xy2 } の線形結合になるので、
高々6次元までしかならない
nを増やしていけば、必ず線形従属に
代数的実数同士の加算例
c0 + c1(x+y) + … + cn-1(x+y)n-1 + cn(x+y)n を
d0 + d1 x + d2 y + d3 xy + d4 y2 + d5 xy2 という形に
変形して、連立方程式 d0 = d1 = … = d5 = 0 を解く
n=3 のとき
c0 + c1(x+y) + c2(x+y)2 + c3(x+y)3
= (c0+2c2+c3)+(c1+2c3)x+(c1+6c3)y+2c2xy+c2y2+3c3xy2
連立方程式 (c0+2c2+c3)=(c1+2c3)=(c1+6c3)=2c2=c2=3c3=0
を解くと c0 = c1 = c2 = c3 = 0 なので線形独立
代数的実数同士の加算例
n=6 のとき
c0 + c1(x+y) + c2(x+y)2 + … + c6(x+y)6
= (c0+2c2+3c3+4c4+60c5+17c6) + (c1
+2c3+12c4+4c5+120c6)x +
(c1 +6c3+3c4+20c5+90c6)y + (2c2+8c4+15c5+24c6)xy +
(c2+12c4+3c5+60c6)y2 + (3c3+20c5+18c6)xy2
連立方程式 (c0+2c2+3c3+4c4+60c5+17c6) = … =
(3c3+20c5+18c6) = 0 を解くと
c0=c6, c1=-36c6 c2=12c6, c3=-6c6, c4=-6c6, c5=0, c6=free
とりあえず c6=1 とおいて
q(z) = 1 - 36z + 12z2 - 6z3 - 6z4 + z6 = 0
が求める多項式
代数的実数同士の加算
a+bを根とする多項式を
見つけたら、その多項式
の根のうち、a+b以外のも
のを区間演算で除外し、
残ったものを返す
√2 + 3√3 の場合
多項式 q(z) = 1 - 36z + 12z2 - 6z3 - 6z4 + z6 = 0
√2 ∈ (0,2], 3√3 ∈ (3/4,3/2] という区間で表現してい
たとすると、 √2 + 3√3 ∈ (3/4, 7/2] のはず。
区間を十分狭めれば小さい方の根は除外できる。
代数的実数のその他演算
乗算 α*β
{ 1, α+β, (α+β)2, …, (α+β)n } の代わりに
{ 1, αβ, (αβ)2, …, (αβ)n } を考えて
加算の場合と同様にすれば良い
逆数 1/α
p(1/x) の分母を払ったものをq(x)とする
例: 1/√2 の場合 p(x) = x2-2
p(1/x) = (1/x)2-2 の分母を払って 1-2x2
その根のうちで適切なものを選ぶ
代数的実数係数の多項式の根の計算 (省略)
実装の補足
連立方程式の解き方
掃き出し法とか実装するの面倒臭い
グレブナー基底使って計算
Realクラスの toRational :: a → Rational
Haskellの設計者は有理数より詳細な実数型
のことを考えてなかった?
有理数でない場合にはエラーにすることに
目次
代数的実数とは
代数的実数の表現
根の求め方
代数的実数の演算
課題と今後
課題と今後
多項式の因数分解がボトルネックで非常に遅い
現在 Kronecker’s method という超素朴なアルゴリズ
ムを使用
多項式の次数に対して指数的
x9 - 15x6 - 87x3 - 125 の因数分解に対して、
131072通りの候補で割ろうとしてた。そりゃ遅
い…… orz
さらに代数的実数の加算や乗算では次数が最悪で
積になる……
課題と今後
多項式の因数分解がボトルネックで非常に遅い
より効率的な因数分解アルゴリズムを実装?
有限体やp進体上で因数分解して、その結果から有
理数上での因数を構成するタイプのアルゴリズム
とりあえず、有限体上の因数分解のBerlekampアル
ゴリズムは実装
とりあえず、素体は実装 (finite-fieldパッケージ)
完全な因数分解を遅延?
完全に因数分解しなくても、重複因子がなくなる
まで因数分解しておけば、ほとんどの演算は可能
課題と今後
コードと依存関係を整理して Hackage に公開したい
自前の多項式ライブラリもパッケージ化?
それとも既存の多項式ライブラリに乗り換える?
実数に限らない代数的数も取り扱いたい
根の分離が課題? …… Graeffe’s Method ?
単に代数的実数の組で扱えば良い?
後半: 実閉体の決定可能性
実閉体とは
以下の条件を満たす体
順序体
a ≤ b a + c ≤ b + c
0 ≤ a ∧ 0 ≤ b 0 ≤ ab
奇数次の多項式は根を持つ
正の元は平方根を持つ
具体例: 実数, 代数的実数, 計算可能実数, 超実数
順序体の言語に関して、実数の場合と真偽が一致
実閉体の理論の決定可能性
ここで考える論理式
有理数係数の多項式に関する等式・不等式を原子論理式と
する
一階述語論理の論理式
例: ∀a,b,u. (a≤b ∧ a2 ≤ u ≤ b2) → ∃c. a ≤ c ≤ b ∧ u = c2
決定可能性・完全性
実数論: 論理式の真偽を決定可能、どのモデルでも同じ真偽
自然数論: 〃を決定不能、モデルによって真偽が異なる
Tarskiが1951年に量化子除去で証明
量化子除去
P(x,y)を量化子を含まない論理式とする
∃y P(x,y) を、それと同値で量化子を含まない
論理式 Q(x) へと変換
例: (∃x. ax2 + bx + c = 0) (b2 - 4ac >=0)
変換を繰り返し適用して、すべての量化子を
除去
変数をすべて消去すれば真偽は自明
量化子と射影
The Omega Test: a fast and practical integer programming algorithm for dependence analysis
∃z. P(x,y,z) ⇔ Q(x,y)
{(x,y,z) | P(x,y,z)}
{(x,y) | ∃z.P(x,y,z)}
= {(x,y) | Q(x,y)}
他の量化子除去
アルゴリズム
ProofSummit2012 で少し紹介
Fourier-Motzkin (実数上の線形算術)
Cooper, OmegaTest (自然数・整数の線形算術)
余談
そういえば、今回の話はProofSummmit2013で
紹介しようと思ってたネタだったのをすっかり
忘れてた……
Cylindrical Algebraic
Decomposition (CAD)
Tarskiが用いた量化子除去アルゴリズムは
すごく計算量が大きい
non-elementary (多重指数で抑えられない)
Collinsが1975により効率的な手法
Cylindrical Algebraic Decomposition (CAD)を提案
double-exponential
今回はそれをベースに説明
扱う論理式の形
φ(y1,…,ym) = ∃x. ∧n
i=1 pi(x,y1,…,ym) ⋈i 0
pi(x,y1,…,ym) ∈ Q[y1,…,ym][x]
⋈i ∈ {=, <, >}
という形の論理式の量化子除去を扱う
他の場合はこれに帰着
Something you should know about: Quantifier
Elimination (Part II)
by Arnab Bhattacharyya
の説明が秀逸だったので、その解説
以下の順で一歩一歩説明
1変数かつ線形の場合
1変数かつ非線形の場合
多変数の場合 (自由変数がある場合)
1変数かつ線形の場合
φ = ∃x. (x+1 > 0) ∧ (−2x+3 > 0) ∧ (x > 0)
p1(x) = x+1 の根を γ1 と置く
p1 は γ1 で 0, 根の左では常に負、右では常に正
γ1
0 +-
1変数かつ線形の場合
φ = ∃x. (x+1 > 0) ∧ (−2x+3 > 0) ∧ (x > 0)
次に p2(x) = −2x+3 の根 γ2を考える
p2 はγ2の左では常に正、右では常に負
p2(x) = −2x+3 = -2p1(x) + 5 より p2(γ1)=5 > 0
よって γ1 は γ2 の左
γ1
(0,+) (+,0)(-,+)
γ2
(+,+) (+,-)
1変数かつ線形の場合
φ = ∃x. (x+1 > 0) ∧ (−2x+3 > 0) ∧ (x > 0)
次に p3(x) = x の根 γ3を考える
p3 はγ3の左では常に負、右では常に正
p3(x) = x = p1(x) - 1 より p3(γ1) = -1 < 0
よって γ1 は γ3 の左
p3(x) = x = (-1/2)p2(x) + 5/2 より p3(γ2) = 5/2 > 0
よって γ2 は γ3 の右
γ1
(0,+,-) (+,0,+)(-,+,-)
γ2
(+,+,-) (+,-,+)
γ3
(+,+,0) (+,+,+)
1変数かつ線形の場合
φ = ∃x. (x+1 > 0) ∧ (−2x+3 > 0) ∧ (x > 0)
区間 (γ2, γ3) でこの量化子の本体は真になるので、
φ T
γ2, γ3 を具体的に求めて、(γ3, γ2) から値を選べば、
量化子の本体を満たす値も具体的に得られる
γ1
(0,+,-) (+,0,+)(-,+,-)
γ2
(+,+,-) (+,-,+)
γ3
(+,+,0) (+,+,+)
1変数かつ線形の場合
まとめ
符号表 (sign configulation diagram) を生成
区間 (-∞, ∞) から始めて、
多項式の根で区間を分割していく
p(a)とp(b)の符号が異なれば、
区間(a,b)にpの根
q の根 γ での p の符号は
p mod q の符号に等しい
最初の論理式に合致するような符号の組み合
わせがあれば真
1変数かつ非線形の場合
線形の場合 (a,b) に根があることと、
p(a) と p(b) の符号が異なることが同値だった
非線形の場合には p(a) と p(b) の符号が等し
くても、(a,b) に根があることがある
a b a b a b
1変数かつ非線形の場合
非線形の場合には p(a) と p(b) の符号が等しくても、
(a,b) に根があることがある
その場合 p’(x) の符号が c ∈ (a,b) で変化
なので、p’(x) の符号 で先に区間分割
a b
a bc
(-,+)
γ1 γ2
(-,+) (-,0) (0,-) (+,0)(+,-) (-,-) (+,-) (+,+)(+,+) (+,+)
a bc
a b
- - - 0 + + +
1変数かつ非線形の場合
q の根 γ での p の符号は p mod q の符号に
等しい
線形の場合には、p mod q は常に定数だった
(deg(q) > 0 なら)
非線形の場合 p mod q は一般の多項式
p mod q の符号を先に求めておく
(p mod q で先に区間分割しておく)
1変数かつ非線形の場合
p(x) での区間分割の前に必要なこと
p’(x) での区間分割
p mod q (deg(q) < deg(p)) での区間分割
多項式集合 P から微分と mod で生成される
多項式の集合を考えて、次数の低いものから
順に区間分割していく
多変数の場合
φ(y1,…,ym) = ∃x. ∧n
i=1 pi(x,y1,…,ym) ⋈i 0
pi(x,y1,…,ym) ∈ Q[y1,…,ym][x]
φに自由変数 y1,…,ym が含まれる場合
説明面倒臭いので省略したい
が、さすがにこれを省略するわけにはいかない……
仕方ないのでちょっとだけ説明します
多変数の場合
多変数の場合の多項式の剰余をどうする?
p(x,y) = pD(y)xD + pD-1(y)xD-1 + … + p0(y)
q(x,y) = qE(y)xE + qE-1(y)xE-1 + … + q0(y)
p mod q は pd を qe で割り切れるとは限らない orz
符号を計算するのに都合の良い代わりの演算
p zmod q = ( qE(y)D-E+1 p = q s + r である一意な r )
(q の根 γ での p の符号) =
(p zmod q の符号) / (qE(y)D-E+1 の符号)
多変数の場合
多変数の場合の多項式の剰余をどうする?
p(x,y) = pD(y)xD + pD-1(y)xD-1 + … + p0(y)
q(x,y) = qE(y)xE + qE-1(y)xE-1 + … + q0(y)
符号を計算するのに都合の良い代わりの演算
p zmod q = ( qE(y)D-E+1 p = q s + r である一意な r )
(q の根 γ での p の符号) =
(p zmod q の符号) / (qE(y)D-E+1 の符号)
qE(y) の符号も分かんないじゃん!!
符号{0,+,-}で場合分けして、結果の論理式の”or”を取る
qE(y)=0 だと困るので、「仮定した符号」が非ゼロの
最高次のものを qE(y) とする
実装しました!
実験: ∃x. a2x+bx+c = 0
(a = 0 ∧ 2*a = 0 ∧ b = 0 ∧ c = 0) ∨
(a = 0 ∧ 2*a = 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a = 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 < 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 = 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 > 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 < 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 = 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a < 0 ∧ 2*a*c - b^2 > 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 < 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 = 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 > 0 ∧ b < 0) ∨
∼右に続く∼
∼左からの続き∼
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 < 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 = 0 ∧ b > 0) ∨
(a = 0 ∧ 2*a > 0 ∧ 2*a*c - b^2 > 0 ∧ b > 0) ∨
(a < 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 = 0) ∨
(a < 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 > 0) ∨
(a > 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 < 0) ∨
(a > 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 = 0) ∨
(a < 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 = 0) ∨
(a < 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 > 0) ∨
(a > 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 < 0) ∨
(a > 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 = 0)
実験: ∃x. a2x+bx+c = 0
矛盾するものを手で消してみた
(a = 0 ∧ 2*a = 0 ∧ b = 0 ∧ c = 0) ∨
(a = 0 ∧ 2*a = 0 ∧ b < 0) ∨
(a = 0 ∧ 2*a = 0 ∧ b > 0) ∨
(a < 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 = 0) ∨
(a < 0 ∧ 2*a < 0 ∧ 4*a^2*c - a*b^2 > 0) ∨
(a > 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 < 0) ∨
(a > 0 ∧ 2*a > 0 ∧ 4*a^2*c - a*b^2 = 0)
一般の論理式の場合
任意の論理式は以下に変換可能 (φは量化子を含まない)
Q1x1 Q2x2 … Qnxn φ (Qi ∈ {∀, ∃})
これに対して内側の量化子から順に除去する
Qn = ∃ なら
∃xn φ = ∃xn (∨j ∧k φj,k ) = ∨j (∃xn. ∧k φj,k)
と変形して、選言肢のそれぞれで量化子除去
Qn = ∀ なら ∀xn φ = ¬(∃xn ¬φ) と変形して
∃xn の量化子除去と同様にする
まとめ
実閉体の理論は決定可能
量化子除去の副産物として得られる符号表から
実際に制約を満たす値を計算可能
結果は代数的実数で表現
量化子除去結果は場合分け爆発するので、
論理式の単純化処理が必要
最近は BDD/ZDD で単純化みたいな話も
その他最適化の余地は色々
参考文献
The beginnings of Galois theory
by Timothy Gowers
http://www.dpmms.cam.ac.uk/~wtg10/galois.html
Something you should know about: Quantifier Elimination
by Arnab Bhattacharyya
http://cstheory.blogoverflow.com/2011/11/something-you-
should-know-about-quantifier-elimination-part-i/
http://cstheory.blogoverflow.com/2012/02/something-
you-should-know-about-quantifier-elimination-part-ii/
Quantifier Elimination following Muchnik
by Christian MICHAUX and Adem OZTURK
https://math.umons.ac.be/preprints/src/Ozturk020411.pdf
1 of 71

Recommended

ホモトピー型理論入門 by
ホモトピー型理論入門ホモトピー型理論入門
ホモトピー型理論入門k h
5.7K views16 slides
最小カットを使って「燃やす埋める問題」を解く by
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
31.9K views128 slides
プログラミングコンテストでの動的計画法 by
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
91.7K views59 slides
明日使えないすごいビット演算 by
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算京大 マイコンクラブ
63.4K views60 slides
プログラミングコンテストでのデータ構造 by
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
104.9K views73 slides

More Related Content

What's hot

ウェーブレット木の世界 by
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
55.4K views67 slides
AtCoder Beginner Contest 015 解説 by
AtCoder Beginner Contest 015 解説AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説AtCoder Inc.
14.9K views36 slides
様々な全域木問題 by
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
37.7K views71 slides
Chokudai search by
Chokudai searchChokudai search
Chokudai searchAtCoder Inc.
14.1K views10 slides
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方 by
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方Kensuke Otsuki
6.5K views16 slides

What's hot(20)

AtCoder Beginner Contest 015 解説 by AtCoder Inc.
AtCoder Beginner Contest 015 解説AtCoder Beginner Contest 015 解説
AtCoder Beginner Contest 015 解説
AtCoder Inc.14.9K views
様々な全域木問題 by tmaehara
様々な全域木問題様々な全域木問題
様々な全域木問題
tmaehara37.7K views
Chokudai search by AtCoder Inc.
Chokudai searchChokudai search
Chokudai search
AtCoder Inc.14.1K views
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方 by Kensuke Otsuki
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
Kensuke Otsuki6.5K views
プログラミングコンテストでのデータ構造 2 ~動的木編~ by Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba46K views
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~ by Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba57.8K views
指数時間アルゴリズム入門 by Yoichi Iwata
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata44.7K views
直前合宿 講義スライド by tozan gezan
直前合宿 講義スライド直前合宿 講義スライド
直前合宿 講義スライド
tozan gezan3.9K views
指数時間アルゴリズムの最先端 by Yoichi Iwata
指数時間アルゴリズムの最先端指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端
Yoichi Iwata10.3K views
勉強か?趣味か?人生か?―プログラミングコンテストとは by Takuya Akiba
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba71.8K views
大規模グラフアルゴリズムの最先端 by Takuya Akiba
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba54.4K views
計算量 by Ken Ogura
計算量計算量
計算量
Ken Ogura55.6K views
Rolling Hashを殺す話 by Nagisa Eto
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
Nagisa Eto4.1K views
混合ガウスモデルとEMアルゴリスム by 貴之 八木
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
貴之 八木24.5K views

Viewers also liked

SAT/SMTソルバの仕組み by
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
36.7K views51 slides
関数型軽い紹介 by
関数型軽い紹介関数型軽い紹介
関数型軽い紹介Daniel Perez
1.9K views37 slides
ゼロピッチ: MOOC by
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOCMasahiro Sakai
1.1K views8 slides
Haskell超入門 Part.1 by
Haskell超入門 Part.1Haskell超入門 Part.1
Haskell超入門 Part.1Yuichi Watanabe
2.6K views121 slides
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門 by
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門健一 茂木
3.6K views50 slides
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン by
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオンTensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン健一 茂木
4.6K views42 slides

Viewers also liked(7)

SAT/SMTソルバの仕組み by Masahiro Sakai
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai36.7K views
関数型軽い紹介 by Daniel Perez
関数型軽い紹介関数型軽い紹介
関数型軽い紹介
Daniel Perez1.9K views
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門 by 健一 茂木
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門
実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門
健一 茂木3.6K views
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン by 健一 茂木
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオンTensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
健一 茂木4.6K views
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください) by Shinichi Hirauchi
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
Shinichi Hirauchi224.3K views

Similar to 代数的実数とCADの実装紹介

何もないところから数を作る by
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
4.8K views103 slides
複素数・四元数と図形の回転 by
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
8.7K views54 slides
PRML 6.1章 カーネル法と双対表現 by
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現hagino 3000
5K views12 slides
Prml sec6 by
Prml sec6Prml sec6
Prml sec6Keisuke OTAKI
1.2K views51 slides
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1 by
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
280 views41 slides
Introduction to Categorical Programming by
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical ProgrammingMasahiro Sakai
1.7K views33 slides

Similar to 代数的実数とCADの実装紹介(20)

何もないところから数を作る by Taketo Sano
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
Taketo Sano4.8K views
PRML 6.1章 カーネル法と双対表現 by hagino 3000
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
hagino 30005K views
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1 by hirokazutanaka
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
hirokazutanaka280 views
Introduction to Categorical Programming by Masahiro Sakai
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai1.7K views
公開鍵暗号(3): 離散対数問題 by Joe Suzuki
公開鍵暗号(3): 離散対数問題公開鍵暗号(3): 離散対数問題
公開鍵暗号(3): 離散対数問題
Joe Suzuki1.5K views
x^2+ny^2の形で表せる素数の法則と類体論 by Junpei Tsuji
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
Junpei Tsuji4K views
第9回スキル養成講座講義資料 by keiodig
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
keiodig97 views
Introduction to Categorical Programming (Revised) by Masahiro Sakai
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai6.4K views
何もないところから数を作る by Taketo Sano
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
Taketo Sano9.5K views
数学教材(中間発表) by Mizuguchi1205
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
Mizuguchi12051.1K views
パターン認識と機械学習6章(カーネル法) by Yukara Ikemiya
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
Yukara Ikemiya29.5K views
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20) by Akira Asano
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20) 2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
Akira Asano30 views
20170327_レムニスケートにまつわる色々な計算 by matsumoring
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
matsumoring2.2K views
SICP by S W
SICPSICP
SICP
S W470 views

More from Masahiro Sakai

DeepXplore: Automated Whitebox Testing of Deep Learning by
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningMasahiro Sakai
1.6K views25 slides
Towards formal verification of neural networks by
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networksMasahiro Sakai
660 views32 slides
関数プログラマから見たPythonと機械学習 by
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習Masahiro Sakai
31.4K views29 slides
Writing a SAT solver as a hobby project by
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby projectMasahiro Sakai
2K views31 slides
RClassify: Classifying Race Conditions in Web Applications via Deterministic ... by
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...Masahiro Sakai
794 views5 slides
SAT/SMT solving in Haskell by
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in HaskellMasahiro Sakai
3.4K views32 slides

More from Masahiro Sakai(20)

DeepXplore: Automated Whitebox Testing of Deep Learning by Masahiro Sakai
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
Masahiro Sakai1.6K views
Towards formal verification of neural networks by Masahiro Sakai
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
Masahiro Sakai660 views
関数プログラマから見たPythonと機械学習 by Masahiro Sakai
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai31.4K views
Writing a SAT solver as a hobby project by Masahiro Sakai
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
Masahiro Sakai2K views
RClassify: Classifying Race Conditions in Web Applications via Deterministic ... by Masahiro Sakai
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
Masahiro Sakai794 views
SAT/SMT solving in Haskell by Masahiro Sakai
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in Haskell
Masahiro Sakai3.4K views
Introduction to Max-SAT and Max-SAT Evaluation by Masahiro Sakai
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
Masahiro Sakai5.4K views
Aluminum: Principled Scenario Exploration through Minimality by Masahiro Sakai
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
Masahiro Sakai1.2K views
How a CDCL SAT solver works by Masahiro Sakai
How a CDCL SAT solver worksHow a CDCL SAT solver works
How a CDCL SAT solver works
Masahiro Sakai25.3K views
萩野服部研究室 スキー合宿 2012 自己紹介(酒井) by Masahiro Sakai
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
Masahiro Sakai1K views
自動定理証明の紹介 by Masahiro Sakai
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
Masahiro Sakai8.3K views
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P... by Masahiro Sakai
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai839 views
“Design and Implementation of Generics for the .NET Common Language Runtime”他... by Masahiro Sakai
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
Masahiro Sakai907 views
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg... by Masahiro Sakai
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
Masahiro Sakai1.3K views
自然言語をラムダ式で解釈する体系PTQのHaskell実装 by Masahiro Sakai
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
Masahiro Sakai2.4K views
Whole Program Paths 等の紹介@PLDIr#3 by Masahiro Sakai
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
Masahiro Sakai1.4K views
Run-time Code Generation and Modal-ML の紹介@PLDIr#2 by Masahiro Sakai
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Masahiro Sakai997 views
融合変換による最適化の理論的基盤と正当性 (2006-06-27) by Masahiro Sakai
融合変換による最適化の理論的基盤と正当性 (2006-06-27)融合変換による最適化の理論的基盤と正当性 (2006-06-27)
融合変換による最適化の理論的基盤と正当性 (2006-06-27)
Masahiro Sakai2K views

Recently uploaded

Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
89 views26 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
151 views42 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
76 views29 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
380 views13 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
23 views36 slides
SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
453 views15 slides

Recently uploaded(12)

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.76 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4380 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda453 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka90 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga25 views

代数的実数とCADの実装紹介