一、逻辑

逻辑是一种可以从中找出结论的形式化语言。

  • 句法(规则)用语言定义句子。
  • 语义定义句子的含义。定义一个句子的真假性。



二、蕴含
即一个事情逻辑上是另一个事情的必然结果:KB ╞ α
知识库KB蕴含句子α,当且仅当α在所有KB为真的世界里均为真。


蕴含是基于语法的句子关系。


三、命题逻辑
  • 命题逻辑是最简单的逻辑——只能表明基础的思想
命题符号P1,P2等都是句子,则:
如果S1是句子,那么 !S也是句子(否定)
如果S1和S2都是句子,那么 S1 ^ S2也是句子(合取)
如果S1和S2都是句子,那么 S1 V S2也是句子(析取)
如果S1和S2都是句子,那么 S1 -> S2也是句子(蕴含)
如果S1和S2都是句子,那么 S1 <-> S2也是句子(双向蕴含)



  • 命题逻辑语义

对每个命题符号的模型均有真/假两种可能的取值,对与P1,2 , P2,2 , P3,1三个命题,可以通过枚举的形式自动地给出8个模型.







  • 逻辑的永真性和可满足性
一个句子在某些模型中为真,则它是可满足的。
e.g., A V B, C
一个句子没有模型为真,则它是不可满足的。
e.g., A ^ !A




四、归结
合取范式一些析取式的合取式。

• 对与命题逻辑来说归结法是可靠的,也是完备的。




转换规则






五、有效的命题推理

两个有效的命题推理算法家族:
       完备的回溯搜索算法
             戴维斯-普特南算法DPLL(Davis, Putnam, Logemann, Loveland)
      不完全局部搜索算法
             WalkSAT 算法



1、戴维斯-普特南算法DPLL
DPLL算法以合取范式形式的子句集作为输入。(反证法)
(思想)改进真值表枚举法:
(1)及早终止当一个子句的一个文字为真,则该子句为真。如,(A V !B)中A为真,则(A V !B)为真当一个子句为假,则该句子(合取范式)为假。
(2)纯文字(删除)启发所谓纯文字就是在子句集里,只有一种符号的文字。如,子句集中A和B都只有一种符号,而C就有互补的文字。设纯文字为真。
(3)单元子句启发(优先)只有一个文字的子句优先只有一个文字的子句必须为真(否则,子句集为假)趋势:使归结往目标的方向进行,无论是寻找结果还是寻找矛盾。



2、WalkSat算法
思想:
对于逻辑命题,我们寻找满足每一个子句集的一个赋值。因此,设计统计未满足子句的数量的评价函数。算法采用每次反转一个符号真值的方法。
性能:
• 不完备:局部搜索算法。
• 评价函数:最小冲突启发,最小不满足子句个数。
• 在贪婪和随机中找平衡。







人工智能(七)逻辑Agent的更多相关文章

  1. 阿里BCG重磅报告《人工智能,未来致胜之道》

    阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...

  2. 逻辑编程入门--clojure.core.logic

    此文已由作者张佃鹏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1. 逻辑编程思维: 逻辑编程(逻辑程序设计)是种编程范型,它设置答案须匹配的规则来解决问题,而非设置步骤来 ...

  3. 人工智能AI------有限状态机、分层状态机、行为树

    https://www.cnblogs.com/zhanlang96/p/4793511.html 人工智能遵循着:感知->思考->行动决策方法:有限状态机(Finite-State Ma ...

  4. CMDB(Configuration Management Database)资产管理系统和 运维自动化

    一.传统运维方式和自动化运维的区别 二.CMDB的介绍 三.CMDB的四种方式 四.项目的目录架构介绍以及配置文件的升级编写 五.比较low的项目架构书写 六.可插拔式收集资产 七.对收集的服务器信息 ...

  5. AI1.1-人工智能史

    来自:http://zh.wikipedia.org/wiki/人工智能史#CITEREFBerlinski2000 这篇是来自维基百科上面的人工智能史,将其大部分保留(真的是大部分,所以差不多没有原 ...

  6. 游戏引擎架构 (Jason Gregory 著)

    第一部分 基础 第1章 导论 (已看) 第2章 专业工具 (已看) 第3章 游戏软件工程基础 (已看) 第4章 游戏所需的三维数学 (已看) 第二部分 低阶引擎系统 第5章 游戏支持系统 (已看) 第 ...

  7. C语言操作符/表达式及其作用总结

    一.算术操作符:+ - * / % 1. 除了 %操作符之外,其他的 几个操作符可以作 用于整数和浮点数. 2. 对于"/"操作符如果两个操作数都为整数,执行整数除法.而只要有浮点 ...

  8. [源码解析] PyTorch 分布式之弹性训练(5)---Rendezvous 引擎

    [源码解析] PyTorch 分布式之弹性训练(5)---Rendezvous 引擎 目录 [源码解析] PyTorch 分布式之弹性训练(5)---Rendezvous 引擎 0x00 摘要 0x0 ...

  9. ApacheCN C# 译文集 20211124 更新

    C# 代码整洁指南 零.前言 一.C# 代码标准和原则 二.代码审查--过程和重要性 三.类.对象和数据结构 四.编写整洁的函数 五.异常处理 六.单元测试 七.端到端系统测试 八.线程和并发 九.设 ...

随机推荐

  1. 条款一:尽量使用const、inline而不是#define

    #define ASPECT_RATIO 1.653 编译器会永远也看不到ASPECT_RATIO这个符号名,因为在源码进入编译器之前,它会被预处理程序去掉,于是ASPECT_RATIO不会加入到符号 ...

  2. LeetCode 67 Add Binary(二进制相加)(*)

    翻译 给定两个二进制字符串,返回它们的和(也是二进制字符串). 比如, a = "11" b = "1" 返回 "100". 原文 Give ...

  3. Pacemaker 安装与使用

    Pacemaker 仅仅做资源管理器(CRM).底下的消息系统採用 corosync. 安装 以 ubuntu 为例, sudo aptitude install -y pacemaker coros ...

  4. react-router-redux

    reducer与按需加载组件的时候,一并加载对应的state,具体流程就不多说了,看代码! reducer import { combineReducers } from 'redux' import ...

  5. JS表格分页组件:fupage的设计思路和详细使用方法(未来考虑开源,争取在2015年)

    一.背景         之前在秒针工作的时候,某js高级project师写了非常多自己的组件.当中一套是分页组件.叫做st-grid. 只是在我看来,bug太多.我常常给他反馈bug,我也不清楚为啥 ...

  6. A + B Problem II(杭电1002)

    /*A + B Problem II Problem Description I have a very simple problem for you. Given two integers A an ...

  7. Virtual IP address

    https://en.wikipedia.org/wiki/Virtual_IP_address Virtual IP address From Wikipedia, the free encyclo ...

  8. 谈谈对redux的认识

    redux是从flux演变而来,但又独立于react.简言之就是,redux是一种单纯的状态管理器.可以和react搭配,也可以和其它框架搭配. redux有三个重要的部分组成: store, act ...

  9. 安装linux各种桌面环境

    1.安装kde ①添加 KDE SC 4.11 库 打开一个终端窗口,在终端窗口中输入如下命令: sudo add-apt-repository ppa:kubuntu-ppa/backports 回 ...

  10. HTML5、javascript写的craps游戏

    1. [代码][HTML]代码   <!DOCTYPE HTML><html><head><meta charset="utf-8"> ...