【人工智能】SWI-prolog学习笔记(一)
首先感谢来自于
Patrick Blackburn, Johan Bos 和Kristina Striegnitz的一份03年教程 :
Learn Prolog Now!
同时感谢来自于SWI官方的manual:
https://www.swi-prolog.org/pldoc/doc_for?object=manual
感谢一次机缘偶然的巧合让我接触到prolog这个和曾经学习的其他语言都不同的逻辑语言。
感谢阮一峰大佬的入门教程:
Prolog 语言入门教程 - 阮一峰的网络日志
建议在看我下面的学习笔记之前首先到阮一峰大佬的这篇教程中进行一个学习再来我这里进行接下来的学习。
?-pwd.
查看working directory.
然后再使用cd/0
改变working directory
在SWI-prolog的File菜单下的Edit中也可以直接进入working directory
编写或者添加 知识文件(什么叫知识文件呢?稍后再说)
我把我的之前的“知识文件”放在了默认目录下的“prologtest”文件夹下,
随后我需要把我当前的已经写好的了文件(类似头文件)放置到我的“工作空间”中来。
比如我在这里放了一个“friendtest.pl”的文件。
倘若我们想直接调用里面的内容,那么我们就需要把我们当前的working directory转到firendtest.pl所在的目录下。
这里我们使用cd命令
cd(‘prologtest’).
进入当前目录下的prologtest文件夹。
我们再用
pwd.
查看修改后当前所在的working directory.
当然这是面对于我们所要去的目录就在我们当前所在的working directory下的。
比如我们现在要返回上一层的prolog目录 又该怎么做呢?
和他处的cd用法相同,这里我们用
cd(‘..’).
即可返回上层目录:
我们也可以使用
cd(‘~’).
来返回user(用户)目录。
当然我们也可以把这些命令组合起来使用。
比如:
cd(‘../..’).
这样就返回了上面两层目录。
cd(‘~/documents’).
这样就来到了user目录下的documents文件夹。
当然我们可以随时使用绝对路径转到我们想要的任何一个目录下,只是我们一般不那么做,因为一长串命令很容易输入错误,而输入错误以后我们就需要进行检查并且重新输入,导致很大的工作量,因此我们分步进行,逐步进入我们的目录比较好。(个人建议)
好让我们回到刚才的目录下,调用一下我们写好的【friendtest.pl】文件。
我们在SWI-prolog中使用【.pl】命令使用我们写好的文件。
(看到没,SWI-prolog比某Git要好很多,起码人家知道应答一声“true”,某Git——“没有消息就是最好的消息” 总是让人感觉)
【人工智能】SWI-prolog学习笔记(一)相关推荐
- MIT Artificial Intelligence —— Patrick H. Winston 麻省理工人工智能公开课学习笔记(一)
本系列文章是博主对网易公开课中麻省理工人工智能课程的学习笔记,在此方便学习和分享. Lecture 1: Introduction and Scope 本节课程大概从这三方面讲述: 一.什 ...
- 年终总结 | 2019年人工智能+计算机视觉+深度学习笔记思维导图汇总
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 本文主要回顾计算机视觉.人工智能.互联网公司.自动驾驶.手推笔记.Python操作等核心内容 篇幅有限,只能总结这些 ...
- 人工智能系列精品课学习笔记-2如何提问以获得更多更好的帮助
如何提问以获得更多更好的帮助 1 建议提问时,明确对象 XX童鞋(1812722414) 14:29:01 求教:数据检测发现,某个变量---is highly skewed(Y1=-93.231) ...
- Prolog学习笔记100805
//love(zhangxueyou,wanfei). 爱(张学友,王菲). "张学友爱王菲". prolog是不允许使用除了基本字符以外字符的. 最末尾的"." ...
- Unity人工智能编程精粹学习笔记 AI角色的复杂决策——行为树
要让游戏里的AI角色能执行预设的逻辑,最直接的方法是依照行为逻辑直接编写代码,但是这种方法工作量大,也容易出错.我们也可以用有限状态机来实现行为逻辑,但是有限状态机难以模块化,编写代码麻烦且容易出错. ...
- 《游戏人工智能编程》学习笔记二——简单的有限状态机
1.有限状态机的定义 定义:一个有限状态机是一个设备,或是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操作,使得从一个状态变换到另一个状态,或者是促使一个输出或者一种行为的发生 ...
- Unity人工智能编程精粹学习笔记 寻找最短路径并避开障碍物——A*寻路
目录 实现A*寻路的3种工作方式 基于单元的导航图 可视点导航图 导航网格 A*算法是如何工作的 A*算法的流程图 用一个实例来完全理解A*寻路算法 A*算法实例核心代码及项目工程 A*寻路的适用性 ...
- Unity人工智能编程精粹学习笔记 实现AI角色的自主移动——操控行为
目录 操控行为 操控行为编程的主要基类 个体AI角色的操控行为 群体的操控行为 个体与群体的操控行为组合 几种操控行为的编程解析 操控行为的快速实现 操控行为编程的其他问题 总结 源码工程下载链接 操 ...
- 【人工智能学习笔记】初识人工智能
文章目录 前言 一.人工智能的定义 二.人工智能的应用 1.计算机视觉技术 2.自然语言处理 3.其他具体应用举例 三.AI算法工程师主要工作流程 四.人工智能的基本概念 机器学习 有监督学习 VS ...
最新文章
- 你的pyc文件,泄露了你的秘密!
- 转 安装php时报gd相关的错误(gd_ctx.c)
- thinkphp 多字段排序
- kubernetes不同的命名空间下的容器能通信吗_在Kubernetes环境中,容器间如何进行网络通信?...
- Flink 在米哈游的落地实践
- 20191218每日一句
- 《请停止无效的社交》第一章七问七答读后感作文2300字
- 计算机用户最高权限,win7系统开启用户最高管理权限的方法
- Android7.0 拨号盘应用源码分析(一) 界面浅析
- 微信扫描自定义二维码关注公众号并登录
- C语言中快排函数——qsort()
- css grid布局中的minmax()函数的使用
- 中国三相开关磁阻电动机行业市场供需与战略研究报告
- 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40。
- EPLAN学习笔记1:连接定义点和电位定义点
- 'utf-8' codec can't decode byte 0xca in position 94: invalid continuation byte问题
- java开发中购物车问题,困扰一天的购物车有关问题
- wacom怎么调压感_新买的数位板(手绘板)怎么设置,数位板没有压感没反应怎么办...
- 论坛,贴吧,Q群,微信个人号群发
- SlickEdit 之windows 版本安装
热门文章
- cron表达式每一个小时_奥特曼最感人的四个镜头,每一个都戳中泪点,小时候你落泪了吗?...
- linux-cp tap vhost接口
- 矩阵快速幂详解--用矩阵幂解决的多种问题
- opencv——边缘检测算法(总结)
- 智能电动车 太得瑟只会被抛弃
- 计算机里没有四款小游戏,电脑里自带游戏没有怎么办 这个方法快速找回
- python中none算变量吗_python 判断变量是否是 None 的三种写法
- 情感分析 | 细粒度情感分析在美团到餐场景中的应用
- 基于ambari-NameNode开启高可用(HA)
- 【转】打包2个10g文件 测试