IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 几何定理的自动化证明(Automatic Geometric Theorem Proving) -> 正文阅读

[系统运维]几何定理的自动化证明(Automatic Geometric Theorem Proving)

思路

对于几何定理(geometric theorems)的证明,可以通过引入笛卡尔坐标系,然后将前提(hypotheses)和结论(conclusions)描述为关于命题中点的坐标的多项式方程。令 A , B , C , D , E , F A,B,C,D,E,F A,B,C,D,E,F都是实数空间中的点,

  1. 线段平行, A B  ̄ ∥ C D  ̄ \overline{AB} \| \overline{CD} ABCD
  2. 线段垂直, A B  ̄ ⊥ C D  ̄ \overline{AB} \perp \overline{CD} ABCD
  3. A , B , C A,B,C A,B,C三点共线(collinear)
  4. 距离相等, A B = C D AB=CD AB=CD
  5. C C C落在以 A A A为中心 A B AB AB为半径的圆上
  6. C C C A B  ̄ \overline{AB} AB的中点
  7. 锐角相等, ∠ A B C = ∠ D E F \angle ABC = \angle DEF ABC=DEF
  8. B D  ̄ \overline{BD} BD平分角 ∠ A B C \angle ABC ABC
  9. ? \cdots ?

这些基本的几何性质,都可以用关于点坐标的多项式来描述。

我们说一个几何定理是可接受的(admissible),如果它的前提和结论都可以被翻译为多项式方程。

给定任意一个几何定理,总有一些点的坐标是任意的(arbitrary),也总有另一些点的坐标是确定的(determined)。定义自变量(independent variables)为 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um?,定义因变量(dependent variables)为 x 1 , … , x n x_1,\dots,x_n x1?,,xn?,那么可接受的几何定理的前提可以描述为一组多项式
h 1 ( u 1 , ? ? , u m , x 1 , ? ? , x n ) = 0 , h 2 ( u 1 , ? ? , u m , x 1 , ? ? , x n ) = 0 , ? h n ( u 1 , ? ? , u m , x 1 , ? ? , x n ) = 0. \begin{aligned} h_1(u_1,\cdots,u_m,x_1,\cdots,x_n) &= 0,\\ h_2(u_1,\cdots,u_m,x_1,\cdots,x_n) &= 0,\\ \vdots\\ h_n(u_1,\cdots,u_m,x_1,\cdots,x_n) &= 0.\\ \end{aligned} h1?(u1?,?,um?,x1?,?,xn?)h2?(u1?,?,um?,x1?,?,xn?)?hn?(u1?,?,um?,x1?,?,xn?)?=0,=0,=0.?
同时,可接受的几何定理的结论可以描述为单个多项式(如果结论包含了一组多项式,也依旧可以一个个地解决)
g ( u 1 , ? ? , u m , x 1 , ? ? , x n ) = 0. g(u_1,\cdots,u_m,x_1,\cdots,x_n) = 0. g(u1?,?,um?,x1?,?,xn?)=0.

严格遵循

我们说结论 g g g严格地遵循(follows strictly)前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,如果 g ∈ I ( V ) ? R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] g \in \pmb I(V) \subseteq \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] gIII(V)?R[u1?,?,um?,x1?,?,xn?],其中簇 V = V ( h 1 , ? ? , h n ) V = \pmb V(h_1,\cdots,h_n) V=VVV(h1?,?,hn?)

充分不必要条件:如果 g ∈ < h 1 , ? ? , h n > g \in \sqrt{<h_1,\cdots,h_n>} g<h1?,?,hn?> ?,那么 g g g严格遵循 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?

利用 the radical membership algorithm,定义理想
I ˉ = < h 1 , ? ? , h n , 1 ? y g > ? R [ u 1 , ? ? , u m , x 1 , ? ? , x n , y ] \bar I = <h_1,\cdots,h_n,1-yg> \subseteq \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n,y] Iˉ=<h1?,?,hn?,1?yg>?R[u1?,?,um?,x1?,?,xn?,y]
那么 g ∈ < h 1 , ? ? , h n > ?? ? ?? G = { 1 } g \in \sqrt{<h_1,\cdots,h_n>} \iff G = \{1\} g<h1?,?,hn?> ??G={1},这里 G G G I ˉ \bar I Iˉ的约简Groebner基。

仅当 < h 1 , ? ? , h n > = I ( V ) \sqrt{<h_1,\cdots,h_n>} = \pmb I(V) <h1?,?,hn?> ?=III(V),它的逆命题成立。

普遍遵循

然而,上述的严格遵循过于严格,没有考虑“退化”情况(degenerate cases):令 V = V ( h 1 , ? ? , h n ) V = \pmb V(h_1,\cdots,h_n) V=VVV(h1?,?,hn?),做簇的最小分解 V = U 1 ∪ ? ∪ U s V = U_1 \cup \cdots \cup U_s V=U1??Us?,某个自由变量 u i u_i ui?在某个簇 U j U_j Uj?上不再自由。例如, U 2 = V ( x 1 , x 2 ? u 3 , u 1 ) U_2 = \pmb V(x_1,x_2-u_3,u_1) U2?=VVV(x1?,x2??u3?,u1?),那么 u 1 = 0 u_1 = 0 u1?=0不再能够任意取值。这种退化会使得 g g g在某个分量 U j U_j Uj?上不是零多项式,进而导致理想 I ˉ \bar I Iˉ的约简Groebner基不是 { 1 } \{1\} {1},算法失败。

W W W是关于坐标 u 1 , ? ? , u m , x 1 , ? ? , x n u_1,\cdots,u_m,x_1,\cdots,x_n u1?,?,um?,x1?,?,xn?的仿射空间 R m + n \mathbb R^{m+n} Rm+n上的不可约簇,我们说函数 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um? W W W上是代数独立的(algebraically independent ),如果任意的仅关于 u i u_i ui?的非零多项式在 W W W?上不会同时消失(no nonzero polynomial in the u i u_i ui? alone vanishes identically on W W W),即 I ( W ) ∩ R [ u 1 , ? ? , u m ] = { 0 } I(W) \cap \mathbb R[u_1,\cdots,u_m] = \{0\} I(W)R[u1?,?,um?]={0}

给定一个簇,
V = V ( h 1 , ? ? , h n ) ? R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] V = \pmb V(h_1,\cdots,h_n) \subseteq \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] V=VVV(h1?,?,hn?)?R[u1?,?,um?,x1?,?,xn?]
做如下的最小分解:
V = ( W 1 ∪ ? ∪ W p ) ∪ ( U 1 ∪ ? ∪ U q ) V = (W_1 \cup \cdots \cup W_p) \cup (U_1 \cup \cdots \cup U_q) V=(W1??Wp?)(U1??Uq?)
在不可约分量 W i W_i Wi?上自由变量 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um?是代数独立的,在不可约分量 U j U_j Uj?上自由变量 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um?不是代数独立的(退化情况)。我们仅考虑子簇:
V ′ = W 1 ∪ ? ∪ W p ? V V' = W_1 \cup \cdots \cup W_p \subseteq V V=W1??Wp??V
我们说结论 g g g普遍地遵循(follows generically)前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,如果 g ∈ I ( V ′ ) ? R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] g \in \pmb I(V') \subseteq \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] gIII(V)?R[u1?,?,um?,x1?,?,xn?],其中簇 V ′ V' V就是上述分解中的 V ( h 1 , ? ? , h n ) \pmb V(h_1,\cdots,h_n) VVV(h1?,?,hn?)的子簇。

自动化证明

给定一个几何声明的前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?和结论 g g g,为了证明这个声明的正确性,需要使得:结论 g g g普遍地遵循前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,也就是说 g ∈ I ( V ′ ) g \in \pmb I(V') gIII(V)

然而,将一个簇分解为不可约簇并不是很容易。幸运的是,即使不知道最小分解,我们依然可以确定 g g g是否属于 I ( V ′ ) \pmb I(V') III(V)

Proposition:结论 g g g普遍地遵循前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,如果存在一些仅关于自由变量的非零多项式 c ( u 1 , ? ? , u m ) ∈ R [ u 1 , ? ? , u m ] c(u_1,\cdots,u_m) \in \mathbb R[u_1,\cdots,u_m] c(u1?,?,um?)R[u1?,?,um?],使得
c ? g ∈ H c \cdot g \in \sqrt{H} c?gH ?
这里 H = < h 1 , ? ? , h n > ? R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] H = <h_1,\cdots,h_n> \subseteq \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] H=<h1?,?,hn?>?R[u1?,?,um?,x1?,?,xn?]

proof:令 V j V_j Vj? V ′ V' V的一个不可约分量。由于 c ? g ∈ H c \cdot g \in \sqrt{H} c?gH ?,因此 c ? g c \cdot g c?g在簇 V ( H ) = V ( H ) = V \pmb V(\sqrt{H}) = \pmb V(H) = V VVV(H ?)=VVV(H)=V上消失,自然也在 V j V_j Vj?上消失,即 c ? g ∈ I ( V j ) c \cdot g \in \pmb I(V_j) c?gIII(Vj?)。由于 V j V_j Vj?是不可约的,因此 I ( V j ) \pmb I(V_j) III(Vj?)是素的。同时, c c c是仅关于自由变量的非零多项式,根据 I ( V j ) ∩ R [ u 1 , ? ? , u m ] = { 0 } I(V_j) \cap \mathbb R[u_1,\cdots,u_m] = \{0\} I(Vj?)R[u1?,?,um?]={0},得到 c ? I ( V j ) c \notin \pmb I(V_j) c/?III(Vj?),所以一定有 g ∈ I ( V j ) g \in \pmb I(V_j) gIII(Vj?),推出 g ∈ I ( V ′ ) g \in \pmb I(V') gIII(V)

下面,我们给出判断是否存在 c ∈ R [ u 1 , ? ? , u m ] c \in \mathbb R[u_1,\cdots,u_m] cR[u1?,?,um?]的算法:

易知, c ? g ∈ H ?? ? ?? ( c ? g ) s = ∑ j = 1 n A j h j c \cdot g \in \sqrt{H} \iff (c \cdot g)^s = \sum_{j=1}^n A_j h_j c?gH ??(c?g)s=j=1n?Aj?hj?,其中 A j ∈ R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] A_j \in \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] Aj?R[u1?,?,um?,x1?,?,xn?] s ≥ 1 s \ge 1 s1

两边同除 c s c^s cs,得到
g s = ∑ j = 1 n A j c s h j g^s = \sum_{j=1}^n \dfrac{A_j}{c^s} h_j gs=j=1n?csAj??hj?
做分式域 R ( u 1 , ? ? , u m ) : = F F ( R [ u 1 , ? ? , u m ] ) \mathbb R(u_1,\cdots,u_m):= FF(\mathbb R[u_1,\cdots,u_m]) R(u1?,?,um?):=FF(R[u1?,?,um?]),构造理想
H ~ = < h 1 , ? ? , h n > ? R ( u 1 , ? ? , u m ) [ x 1 , ? ? , x n ] \tilde H = <h_1,\cdots,h_n> \subseteq \mathbb R(u_1,\cdots,u_m)[x_1,\cdots,x_n] H~=<h1?,?,hn?>?R(u1?,?,um?)[x1?,?,xn?]
那么 g ∈ H ~ g \in \sqrt{\tilde H} gH~ ? 。易证, g ∈ H ~ ?? ? ?? c ? g ∈ H g \in \sqrt{\tilde H} \iff c \cdot g \in \sqrt{H} gH~ ??c?gH ?

自动化证明算法如下:

  1. 给定几何命题,确定坐标中的自由变量 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um?和不自由变量 x 1 , ? ? , x n x_1,\cdots,x_n x1?,?,xn?,然后翻译为环 R [ u 1 , ? ? , u m , x 1 , ? ? , x n ] \mathbb R[u_1,\cdots,u_m,x_1,\cdots,x_n] R[u1?,?,um?,x1?,?,xn?]上的多项式

  2. 前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,结论 g g g,构造理想
    H ˉ = < h 1 , ? ? , h n , 1 ? y g > ? R ( u 1 , ? ? , u m ) [ x 1 , ? ? , x n , y ] \bar H = <h_1,\cdots,h_n,1-yg> \subseteq \mathbb R(u_1,\cdots,u_m)[x_1,\cdots,x_n,y] Hˉ=<h1?,?,hn?,1?yg>?R(u1?,?,um?)[x1?,?,xn?,y]

  3. 计算理想 H ˉ \bar H Hˉ的约化Groebner基 G G G,那么
    g ∈ H ~ ?? ? ?? { 1 } = G g \in \sqrt{\tilde H} \iff \{1\} = G gH~ ??{1}=G

  4. 如果 G = { 1 } G=\{1\} G={1},那么结论 g g g普遍地遵循前提 h 1 , ? ? , h n h_1,\cdots,h_n h1?,?,hn?,几何定理证明完毕;否则,这个声明是假的。

扩展

进一步的,有如下性质:

  1. 可以证明,
    { 1 } = G ?? ? ?? H ˉ ∩ R [ u 1 , ? ? , u m ] ≠ { 0 } \{1\} = G \iff \bar H \cap \mathbb R[u_1,\cdots,u_m] \neq \{0\} {1}=G?HˉR[u1?,?,um?]?={0}

  2. 如果 c ∈ H ˉ ∩ R [ u 1 , ? ? , u m ] c \in \bar H \cap \mathbb R[u_1,\cdots,u_m] cHˉR[u1?,?,um?],那么 c ? g ∈ H c \cdot g \in \sqrt{H} c?gH ? 。再利用 the algorithm for computing intersections of ideals,就可以计算出满足 c ? g ∈ H c \cdot g \in \sqrt H c?gH ?的一些多项式 c ∈ R [ u 1 , ? ? , u m ] c \in \mathbb R[u_1,\cdots,u_m] cR[u1?,?,um?]

  3. 如果 g g g在某些 u 1 , ? ? , u m u_1,\cdots,u_m u1?,?,um?的取值下失败,那么
    ( u 1 , ? ? , u m ) ∈ W = V ( H ˉ ∩ R [ u 1 , ? ? , u m ] ) (u_1,\cdots,u_m) \in W = \pmb V(\bar H \cap \mathbb R[u_1,\cdots,u_m]) (u1?,?,um?)W=VVV(HˉR[u1?,?,um?])
    即簇 W W W记录了所有的退化情况。

  4. 实际上,
    c ? g ∈ H ?? ? ?? c ∈ H ˉ ∩ R [ u 1 , ? ? , u m ] c \cdot g \in \sqrt H \iff c \in \sqrt{\bar H \cap \mathbb R[u_1,\cdots,u_m]} c?gH ??cHˉR[u1?,?,um?] ?
    即这个根理想记录了 c c c的所有可能的取值。

除了上述介绍的利用Groebner基技术来自动化证明几何定理,还有中科院院士吴文俊的吴方法,提出的更早。它在实际中的表现往往比Groebner基更有效,因此也更常用。这里不再详细介绍。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-21 21:33:29  更:2022-06-21 21:34:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:38:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码