【作者:吴斌,原文创作于2016-04-20,如今仍有较高参考价值,但不排除部分信息需要更新。文中有很多引用,不一一列举出处了。】

计算机(主要指人工智能AI)能不能做推理逻辑?这个问题我思考了很久。其实答案很简单,当然可以。其实推理就是:规则+依据已有规则生成新规则。计算机就是基于数学的演绎逻辑做的,程序其实都是if...else...,规则是计算机的基本能力,简单的由规则产生规则并不难,比如:规则1 : 1+2=3,规则2:加法满足交换规则,所以产生规则:2+1=1+2=3。但是,规则多了以后,会造成组合爆炸,推理问题就很难了。更重要的问题是,谁来产生初始规则?目前看来,只有人来产生初始规则。而且,很多时候计算机做不了推理逻辑,主要原因就是初始规则不够。因为归纳是不严谨的,只有演绎才是严谨的推理。甚至连统计学都不被认为是严谨的数学(少量的贝叶斯推理可能被认为是例外)。所以,产生初始规则是非常困难的。

可能有人会说,贝叶斯派的理论是不是一个可行的路径?这个问题很难回答,因为这个问题可大可小。往大了说,这是一个世界观的问题,因为频率派和贝叶斯派是数理统计领域的两大门派,核心思想是很不同的。频率派,也就是经典统计理论派,我认为核心思想是从宏观角度来看这个世界。贝叶斯派,我认为核心思想是从微观角度来看这个世界。更多关于两派理论的讨论,我以前曾经讨论过,建议看这个文章:贝叶斯学派与频率学派有何不同?    往小了说,这是个实现方法的问题,实际上在统计机器学习领域,大多数的实际应用都是使用频率派的方法,即“判别式模型”。而基于贝叶斯的模型,很多时候会面临一些难以克服的困难。贝叶斯的公式其实很简单,如下图所示:

如果不了解贝叶斯的基本理论,可以看一下我以前转的文章:数学之美番外篇:平凡而又神奇的贝叶斯方法

在实际使用时,完整的贝叶斯公式一般是用不了的,因为发生一件事情,可能的原因非常多,一般情况,不可能把所有的原因(条件)都做统计,而且,很多原因(条件)是有相互影响的,一旦考虑相互影响,计算会几何级增长,完整的贝叶斯公式几乎是无法计算的。另外,很多时候,在你预测的时候,很多条件(特征)也是获取不到的,实际上,大多数时候你不能获取到一个事情发生的全部条件数据。所以,工业界常用的方法是朴素贝叶斯算法,实际上是对贝叶斯做了大幅度的约束,就是要求所有条件(特征)是相互无关的,才能求解,而且,通常是当你的特征非常多的时候,朴素贝叶斯才基本可用,因为特征非常多的时候,可以近似地忽略条件(特征)之间的相关性。换句话说,条件(特征)之间有相关性才是普遍现象,所以朴素贝叶斯的条件无关是个强约束。而且,如果你的特征很多的时候,你也可以用广义线性模型求解(判别式模型),比如Logistic regression, 使用起来会更容易操作,而且有人曾经证明特征量很大的时候,朴素贝叶斯与Logistic regression是等价的。(而且,判别式模型比贝叶斯的模型更容易做正则化,更容易调参,这个问题展开讲还有很多内容。)

总的来说,我的个人观点:基于贝叶斯理论,或者贝叶斯网络来做推理逻辑,只有在做强约束条件下,才能使用,而且,很多时候的实际应用中,就算是加约束也是很难真正有效的,因为实际情况变化会很复杂,远比预期的复杂。

所以,在可以预见的未来(大约是10年),我想这个问题是难以解决的。

不过,在更远的未来,可能有一种意外情况。未来的有些计算机不是基于传统逻辑的,比如,量子物理就不是基于传统逻辑可以解释的。

补充说明,这里所说的是严谨的推理逻辑(基于演绎的方法),实际上还有些概率性的推理方法研究(一般是基于统计推断的方法),没有详细描述,严格说,那是“推测”。

计算机可以做推理逻辑吗?相关推荐

  1. 给计算机处理器做手术来研究大脑

    来源:混沌巡洋舰 在人类对大脑认识的历史上,曾经使用过很多隐喻来描述脑,比如齿轮机械.电话交换机.计算机等等.目前,"脑就像一台计算机"这个隐喻仍然占据着主导地位,尽管人们对于这个 ...

  2. 转一个校友的文章--“在计算机领域做研究的一些想法”

    在计算机领域做研究的一些想法 感谢 Xi Tan # 前言 # 1. 讨论一下计算机领域的牛圈和'带头大哥': 2. 讨论一下科研方法: 3. 讨论一下计算机领域的学术论文(会议.期刊): # 第一章 ...

  3. 计算机操做系统(十二):进程同步和互斥

    计算机操做系统(十二):进程同步和互斥 来源王道考研视频: https://www.bilibili.com/video/BV1YE411D7nH?p=18 基本概念 异步性:各并发执行的进程以各自独 ...

  4. ldar是什么意思 计算机组成,第一章TEC-9计算机组成和数字逻辑实验系统介绍….PDF...

    第一章TEC-9计算机组成和数字逻辑实验系统介绍-.PDF 目 录 第一章 TEC-9 计算机组成和数字逻辑实验系统介绍----------------------.2 一.TEC-9 实验系统的特点 ...

  5. CVPR2021 | 视觉推理解释框架VRX:用结构化视觉概念作为解释网络推理逻辑的「语言」

    本文提出了一个视觉推理解释框架 (VRX: Visual Reasoning eXplanation),将人们容易理解的.high-level 的结构化的视觉概念作为「语言」,通过回答为什么是 A,为 ...

  6. CVPR 2021 | 视觉推理解释框架VRX:用结构化视觉概念作为解释网络推理逻辑的「语言」...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:葛云皓  |  编辑:Amusi 本文提出了一个视觉推理解释框架 (VRX: Visual Reaso ...

  7. 计算机逻辑函数,计算机智能化简多变量逻辑函数的算法分析

    摘要: 在设计逻辑电路图时,由真值表直接得到的函数往往比较复杂.代数法和卡诺图法等方法对于变量数目较多的逻辑函数则效果不佳,本文介绍一种可编程化简复杂逻辑函数的方法──Q-M法(也叫表格法),该方法可 ...

  8. 北京工业大学计算机试题,北京工业大学计算机学院 《数字逻辑》闭卷试题(A卷)...

    北京工业大学计算机学院 <数字逻辑>闭卷试题(A 卷) 考试时间:2009 年1 月8 日13 时30 分至15 时05 分 学号:姓名:成绩:_ 题号:一二三四 得分: 一.填空题(每空 ...

  9. 计算机主机需要ccc,哪些计算机需要做3c认证?计算机3c认证

    原标题:哪些计算机需要做3c认证?计算机3c认证 计算机用作各种工业和消费设备的控制系统.这包括简单的专用设备,如微波炉和遥控器,工业设备,如工业机器人和计算机辅助设计,以及通用设备,如个人电脑和移动 ...

最新文章

  1. 如何在Python中对字符串进行子字符串化
  2. Java BitSet使用场景和示例
  3. linux c指定相对路径,linux c编程,选用popen()得到一个相对路径的绝对路径
  4. java 泛型和集合_Java集合和泛型
  5. C语言高级编程:二级指针的赋值
  6. python打开文件中文名_windows下Python打开包含中文路径名文件
  7. sid更新 续订sas软件_顶级统计软件sas9.4 64位sid 有效期至2017年6月底
  8. UWP入门一 7天酒店客户端源码及说明
  9. Win8Metro(C#)数字图像处理--2.7图像伪彩色
  10. ArcGIS投影坐标转经纬度坐标
  11. 雷电模拟器手游辅助制作教程
  12. Dilated Convolutions 空洞卷积
  13. 游戏,CG音乐音效配音
  14. python爬虫学习爬取股票数据
  15. c语言计算两个正整数的最大公约数
  16. 遗传算法实现寻找函数最值
  17. 书评 | 赋能 - 打造应对不确定性的敏捷团队
  18. 实现舞会上男女舞伴的自动匹配。
  19. 暑期JAVA学习(41.1)TCP通信——多发多收消息
  20. 撤县设区,就能过城里人的生活了?

热门文章

  1. Udacity优达学城优惠码 4059FBD6 立减320元
  2. 让收件人看到自已定的发件人 名字 (displayname)
  3. 如何使用IntelliJ IDEA的Favorites来管理项目中的常用代码
  4. Corda ledger 概念性非技术白皮书
  5. 深入理解MultipartFile
  6. 程序员每天需要多少代码量
  7. 医号馆门诊管理软件SaaS系统——药品出入库管理
  8. 王捷:边缘计算--物联网场景下的七大数据合规挑战
  9. 循环神经网络(RNN)的搭建,附带例子和完整代码——2
  10. 内存、外存、主存、高速缓存有什么关系,到底是什么?