逻辑学与Prolog学习笔记
int a = 3 + 5; 很自然。如果Matrix a, b要加呢?没有运算符重载,a + b是不行的,只能add(a, b). int a = add(3, 5)也行。如果函数名可以用+呢?+(a, b); +(3, 5). 如果括号和逗号是多余的呢?3 + 5叫中缀表达式,+35叫前缀表达式或波兰式,还有35+后缀/逆波兰式。前缀的好处之一是没有歧义,例如+3*25和+32*5分别相当于中缀的3+2*5和(3+2)*5。中缀要规定运算符优先级,前后缀不需要,为啥我没明白,和“结合律”有关?add是个操作/动作,想到动词verb,动词有宾语,不止一个。is和give也是动词。tom is cat (不聊英语语法),give man horse, give horse man. 动词做谓语,谓词。
Prolog是个好语言,可我咋觉得发明者和写例子的人的英语都诡异呢? cat(tom), friend(sheldon, kripie). 没有catize(猫化)这个词,有befriend这个词。is是动词,除了描述动作,还有/更多陈述事实/命题。有多元谓词。
推理即搜索?
Tom BE Cat
Cat HAVE Leg
>>>Tom HAVE Leg
yes
Penny, Leonard, Raj BE Person
Penny LIKE Leonard; Leonard LIKE Penny; Raj LIKE Penny
this BE_GOOD_COUPLE that IF this LIKE that AND that LIKE this
>>>Penny BE_GOOD_COUPLE Raj
no
Kitchen CONNECTED_TO Hall; Hall CONNECTED_TO Bedroom
Robot AT Kitchen
DEFINE here GOTO there AS NOLONGER AT here and AT there IF AT here AND here CONNECTED_TO there
>>>Robot GOTO Bedroom
no
>>>why
Bedroom no CONNECTED_TO Kitchen
>>>try harder
yes
1, 2, 3 IN A; 2, 4 IN B
%%
a INTERSECT b IS FOREACH x IF x IN a AND x IN b
Prolog一会listing,一会write。不至于不支持\n的写法吧,换个行还得来个nl子句。C++的endl也没啥意思,有flush啊,\n自动flush呗。"%9.2f %7.3f" 用stream的format来写非常啰嗦。
组合爆炸。2个不同的台球,上面分别印着1, 2。从里面取0到2个,组合数=C(2,0) + C(2,1) + C(2,2) = 4 = 2**2. 想象一个机器,每个球下面有个铁片挡着,搬动开关,铁片打开球落下,记为取出。开关从都不按到都按有00 01 10 11四种。2,3,4共4-2+1=3个,3-0+1=4. 背包问题不用写递归。
2>1: 真命题; 3<2: 假命题。>: 关系。(2>1) > (3>2): 不是命题。汪曾祺书里提到某君垂直于黑板。(苹果 比 桔子 好吃) 比 (桔子 比 葡萄 好吃) 好吃。
逻辑学里都是公理吧。
sort是个操作/过程。C里多个procedure 保留字(reserved word)不好吗?python里sorted是个被sort了的对象。def只说了要define,没说定义过程还是函数。for (i = 13; i < 42; i = i + 2) formidable_algorithm(important_data). for为啥是key word? 可能做编译器的人扫描输入,look for for. 我做编译器的,我哪知道你data important不。
class Cat;
tom = Cat();
tom.have_property('leg')
person = { 'Penny', 'Leonard', 'Raj' }
penny.likes = { 'Leonard', 'Raj' }
a = {1, 2, 3}
2 in a
也许能用python的exec()和eval()搞点好玩的:exec('leonard = Person()'); exec('penny.likes += leonard'); 好像也是个费时间换费空间。搜索不需要堆栈吗?
搞个图,节点放Tom, Penny, Lenord,有向的边放谓词(二元)?推理图,推背图。:-)
逻辑学与Prolog学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- nodejs 连接 mysql 查询事务处理
自己用 mysql 很多次的,然后又是主玩nodejs的.专门写一篇文章来说说nodejs连接mysql数据库.在使用之前,请检查计算机是否具有一下环境! nodejs 执行环境. mysql数据库环 ...
- hdu 2201 熊猫阿波的故事(简单概率。。)
题意: 阿波上了飞机,飞机上有座位1,2,....,N.第i个乘客本应坐在第i个座位上. 可是阿波随便找了个座位就坐了下来,接下来大家也都随便找了个座位坐了下来. 问:第i个乘客坐到原座位的概率是多少 ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- Linux ps -ef 命令输出解释
UID: 程序拥有者PID:程序的 IDPPID:程序父级程序的 IDC: CPU 使用的百分比STIME: 程序的启动时间TTY: 登录终端TIME : 程序使用掉 CPU 的时间CMD: 下达的 ...
- idea使用git更新代码 : update project(git merge、git rebase)
idea使用git更新代码 : 选中想要更新的项目,右键点击 git => repository => pull 这样使用一次后idea会自动建立选中分支的远程跟踪分支,以后可直接点击下图 ...
- 学习JS的第一天--初识JS
1.初识JS a.我的第一个JS程序: document.write("Hello JS")://这段代码是输出到body中就是直接打开就可以看到: console.log(&qu ...
- 前端yyyy-mm-dd格式 计算一段工作日后,日期
//计算一段工作日后,日期getWorkday(dat, itervalByDay) { function formatTen(f) { if (parseInt(f, 10) < 10) { ...
- spring boot+vue实现H5聊天室客服功能
spring boot+vue实现H5聊天室客服功能 h5效果图 vue效果图 功能实现 spring boot + webSocket 实现 官方地址 https://docs.spring.io/ ...
- 72.Financial Management
描述 Larry graduated this year and finally has a job. He's making a lot of money, but somehow never se ...
- 关于 RocketMQ 事务消息的正确打开方式 → 你学废了吗
开心一刻 昨晚和一哥们一起吃夜宵,点了几瓶啤酒 不一会天空下起了小雨,哥们突然道:糟了 我:怎么了 哥们:外面下雨了,我老婆还在等着我去接她 他给了自己一巴掌,说道:真他妈不是个东西 我心想:哥们真是 ...