机器证明介绍(1)

原创 2003年07月03日 00:25:00


简述:机器证明是使用计算机证明定理,也称为定理的机械证明或自动证明。作为计算机科学的一个重要课题,它的研究与发展至今约有50年的历史。在本文中,将试图向您展示机器证明的基本思路和方法。

关键字: 机器证明,演绎推理形式系统p,试探法,判定法,计算机辅助证明,证明算法


    各门的科学中,都有推理和论证;尤其是在数学中,要通过推理和证明来建立定理,证明的每一个步骤都是通过逻辑推理的规则推出另一些命题。从它们出发进行推理的命题称为前提,由此而推出的命题称为结论。
    我们来看一个例子。数学分析研究函数的连续性的时候,证明了由下面的前提

    1)     函数f(x)在闭区间[a,b]上连续,
    2)     f(a)与f(b)异号。
能推出结论

    3)     有c,使得a<c<b,f(c)=0
但如果把1)中的闭区间[a,b]改为开区间(a,b),那么由改变后的1)和2)前提就不能推出3)这个结论。

    这项工作(推理与证明),一直是由数学家来做的;这是他们的生计。但是,是否有其他的可能?比如,将可用机器来证明和推理数学定理?这是件有意义而又艰难的工作;推理和证明是智能的体现,而人工智能,是人类一直的梦想之一。这需要几个条件。

    首先,我们要把推理和证明作为研究对象,加以详细研究。以往的任何数学分支,都有自己的研究对象,但都不研究它们所共同使用的逻辑推理规则;数理逻辑则是这样的一个条件,它把推理和证明作为数学对象来研究。只有对推理和证明等人类思维活动本身有足够的认识,我们才可能把这项工作交给机器来做。
    其次,计算机必须有相当的发展。这是毫无疑问的,但往往是相互促进,而并非一方完美后,另一方才能发展。
   
    有了这些条件后,如果产生了需要,机器证明将成为可能;而事实上这种需要产生了。
    下面我们将试图展示机器证明的奥秘。可是,本文非正规的学术论文,所以您将看到并不严格的描述和形式化工具交替出现的情况。但介绍机器证明,是本文毫无疑问的目的。

    当然,需要简单引述数理逻辑的知识。数理逻辑以推理和证明作为数学对象来研究,它起始于莱布尼茨试图对思维符号化的工作。到如今以是硕果累累,有着丰富的知识体系。一般本科阶段可接触到命题逻辑和谓词逻辑部分,而研究生阶段将详细研究其它高等数理逻辑内容(计算机专业的教学计划)。我们以最简单的命题逻辑“演绎推理形式系统p”为例让您初步了解数理逻辑的特点。

    数理逻辑的主要特点是“形式化”,具体的讲,就是把“数学推理”形式化。而通俗一点,则是把前提和结论,以及前提得到结论这个推理过程都“符号化”为一个系统,形式系统。形式系统具有严格的定义,而这里,您可以暂时认为,形式系统是由4个集合构成:字母表或符号库,字集或公式集,公理集,规则集;公理集是公式集的子集,规则集则是有公式集上的运算构成。

    如演绎推理形式系统p的定义:

p的字母表中含有:
   (1)命题变元:p1,p2,...,pn,...;
   (2)联结词:┐,→;
   (3)辅助符号:(,);
p的公式如下归结定义:
   (1)命题变元是公式;
   (2)若α是公式,则(┐α)是公式;
   (3)若α,β是公式,则(α→β)是公式;
   (4)所有公式都是有限次使用(1)-(3)得到。
p的公理集有三类:
   (1) α→(β→α) (A1)
   (2) (α→(β→r)) →((α→β)→(α→r)) (A2)
   (3) ((┐β)→(┐α)) →(α→β) (A3)
p的形式规则:
   分离规则:α→β,α┣β (M)

    这个系统将胜任命题逻辑的推理证明工作。但是,我给您强调这样一个观念,形式系统中的公式,只是满足一定要求的符号串,在给于它们语义之前,“形式推理”是一列符号串变换。
  
    比如,对于规则(M):
                        α→β,α┣β
您不要在心里念叨:如果α为真,α→β为真,则β为真!这是符号串的变换规则,不存在真与假的概念。您不妨就这样看,比如由字符串(公式:)α,可以推出β→α:

    (1)  α→(β→α) (A1)
    (2)  α
    (3)  β→α       (M)(1)(2)
这样的一个序列,也就是形式推理。

    当然,作为技术人员,我想不看到它的语义部分,大家多半会不放心,这个形式系统p,它有什么用途?但若展开了说,本文就成了数理逻辑的介绍了。这样,有兴趣的读者可参考注1提供的参考资料。

    我们来看一看人类的推理证明过程的例子:

    在演绎推理形式系统p中证明:   ┣ (α→β)→(α→α)

    这是个有趣的逻辑思维锻炼,由p的公理集和规则集来推导出这个公式;我想,您可以想到这个序列:
    (1)  α→(β→α)                          (A1)
    (2)  (α→(β→α))→((α→β)→(α→α))  (A2)
    (3)  (α→β)→(α→α)                    (M)(1)(2)
事实上,我们的思路可以是这样的:由待证明的 (α→β)→(α→α),对照看三类公理的特点,您不觉得眼前一亮:公式(α→β)→(α→α)可对应于(A2)的右端,让α代替r;毫无疑问由规则(M),我们希望α→(β→α)成立,而这是(A1)!我们就可以写下这个证明序列了。
 
    对于复杂的问题,这“眼前一亮”,对人类来讲也绝非一个轻松的工作。更何况,我们希望我们的计算机也可以“眼前一亮”!
    机器证明是困难的,但仍不是没有希望做的完美些。希望您不至于对理论科学感到厌烦。下次我们将展开机器证明的奥秘。

    注1:好的数理逻辑教材,我所读的,有

[陆钟万]. 面向计算机科学的数理逻辑. 科学出版社,1998

[王捍贫]. 数理逻辑. 北京大学出版社,1997

    本文参考资料:

[陆钟万]. 数理逻辑与机器证明. 科学出版社,1983

[王捍贫]. 数理逻辑. 北京大学出版社,1997

利用scikit-learn进行机器学习简介

利用scikit-learn进行机器学习简介 Sectioncontents:     在这部分,我们引入利用scikit-learn进行机器学习的常用单词,并给出一些简单的学习例子。 机器学习:...
  • licong_carp
  • licong_carp
  • 2015年02月04日 16:19
  • 6535

【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇2、高分一号(GF-1)卫星影像数据介绍

1、GF-1 PMS影像产品介绍        GF-1 PMS相机可以获取2米的全色黑白图像、8米多光谱彩色图像(蓝、绿、红、近红外4个波段)以及多光谱和全色融合之后的2米真彩产品。        ...
  • arcgis_all
  • arcgis_all
  • 2014年03月25日 16:34
  • 10484

Oracle Exadata一体机简介

Exadata是什么 Exadata是Oracle的推出的软硬件整合一体机产品,初始目的是用于解决超大型数据库所存在的普遍性性能瓶颈,也就是磁盘存储系统向数据库服务器传输大量的数据,Exadata相...
  • wenzhongyan
  • wenzhongyan
  • 2015年06月12日 15:37
  • 14708

台大机器学习——可行性证明1

机器学习的可行性 假设有如下学习问题: 训练数据D包含了6张3*3的黑白图片,并给出了对应的输出,根据这些信息确定一个近似目标函数g,并用g计算最下方图片的输出。 甲认真看了下发现第一行三张图片左上...
  • qq756161569
  • qq756161569
  • 2016年12月20日 15:07
  • 213

机器学习算法面试—口述(1):SVM介绍及常见问题

首先SVM是支持向量机support vector machine的缩写,它是现在使用比较广泛的一个分类算法(二分类),是一个线性分类器! 当数据是线性可分的时候: SVM是在空间找一个分类超平面,将...
  • xwchao2014
  • xwchao2014
  • 2015年08月24日 16:36
  • 3633

机器学习保险行业问答开放数据集: 1. 语料介绍

原文 目前机器学习,尤其是因为深度学习的一波小高潮,大家对使用深度学习处理文本任务,兴趣浓厚,数据是特征提取的天花板,特征提取是深度学习的天花板。在缺少语料的情况下,评价算法和研究都很难着手...
  • QFire
  • QFire
  • 2017年11月16日 11:04
  • 130

Coursera_机器学习_week1_介绍&Octave

单变量线性回归
  • icecutie
  • icecutie
  • 2016年03月24日 22:12
  • 496

机器学习:介绍及分类 (1)

一、机器学习介绍 机器学习涉及的概念和学科特别多,主要是数学和计算机,通过计算机实现由数据推导而来的各种算法,目的就是让机器(计算机)模拟人类的学习行为,获得技能(skill),帮助进行预测和识别(如...
  • databatman
  • databatman
  • 2015年10月16日 22:05
  • 1348

机器学习(1)scikit-learn的介绍

章节内容 在本节中,我们介绍我们在scikit-learn中使用的机器学习词汇,并给出一个简单的学习示例。 机器学习:问题设置 一般来说,学习问题考虑一组n个数据样本,然后尝试预测未知数据的属性。 ...
  • voidfaceless
  • voidfaceless
  • 2017年02月22日 10:16
  • 350

机器学习(1)——概念介绍

What is Machine Learning?
  • adminabcd
  • adminabcd
  • 2015年07月14日 22:26
  • 612
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器证明介绍(1)
举报原因:
原因补充:

(最多只允许输入30个字)