Visual Prolog 的 Web 专家系统 (1)
用Prolog敲代码,感觉舒坦。
Prolog的编程范式,抽象程度远高于中、低级别的C语言等。敲代码的源码长度,至少比C语言的节省50%。
并且,Prolog的语法简单,符号选择自然合理,养眼度远高于其“近亲”Erlang。
Visual Prolog与其前身Turbo Prolog和PDC Prolog一脉相承。都是有严格类型限制的编译型软件。
与其它各种解释型Prolog相比。Visual Prolog执行速度快得多。
可是,Visual Prolog并不是完美。
它的缺点弱点,恰恰是它的Visual功能。
品种少、样貌丑的GUI控件,让人倒胃口,不愿用它做界面。
进入版本号6、7之后,Visual Prolog引入了类class,彻底成了面向对象。
各种语法规矩铺天盖地涌来,编程模式太过复杂,我不喜欢。
所以,我仅仅用版本号5,而且,坚持不用它的GUI。
要想扬长避短,发挥VisualProlog编译器和推理引擎等工具的优秀,避开其GUI工具的短板,一个不错的选择,是用它做CGI程序,把GUI交给浏览器处理。
Prolog的实际应用,主要集中在开发专家系统。
Visual Prolog提供了一个范例。使用WebCGI技术的"动物分类识别专家系统" —— GENI。
首先。安装执行GENI,了解它的基本情况。
1、安装配置serverApache
GENI是CGI程序,执行依赖HTTPserver。我用的是Apache 2.2。
为GENI配置虚拟主机,方法例如以下:
打开文件D:\Apache2.2\conf\httpd.conf
找到语句行 #Include conf/extra/httpd-vhosts.conf,删除行首的#,保存文件
打开文件D:\Apache2.2\conf\extra\httpd-vhosts.conf。做出下面设置:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "D:/Apache2.2/htdocs/GENI"
ServerName localhost
ServerAlias localhost
<Directory "D:/Apache2.2/htdocs/GENI">
Options FollowSymLinks +ExecCGI
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
在终端控制台检查虚拟机配置是否正确:
D:\Apache2.2\bin > httpd -S
会显示一些配置信息,结论应该是 OK
2、安装执行专家系统GENI
所谓安装,事实上是简单的复制
把文件夹D:\VIP52\WWW\INETPUB\GENI,完整拷贝到D:\Apache2.2\htdocs
启动Apacheserverhttpd.exe
在浏览器中打开地址 http://localhost/default.htm
一个图文并茂的网页,GENI登场亮相。
Visual Prolog 的 Web 专家系统 (1)的更多相关文章
- Visual Prolog 的 Web 专家系统 (7)
GENI核心 -- 推理引擎(1)知识表示 GOAL最后一句是谓语infer(),它的含义是"论证". 因此,,进GENI核心,执行视图推理引擎. infer() infer(): ...
- Visual Prolog 的 Web 专家系统 (9)
GENI的核心 -- 推理机(3)一些谓词 为了集中注意力.较好地分析GENI推理机核心程序,应该做些准备工作,弄明确一些起辅助作用的谓词功能. is_htmlfile(Rulexpl) is_htm ...
- Visual Prolog 的 Web 专家系统 (8)
GENI核心 -- 推理引擎(2)流量控制 1.阐述fail."!"而回溯 与其他语言相比,,Prolog最大的特点.这是回溯机制. 回溯机制,还有的主要手段2个月,首先,通过使用 ...
- Visual Prolog 的 Web 专家系统 (6)
保存用户响应询价.作为进一步推理的条件 或GOAL段开始.最初的一句是write_startform() write_startform():- write("<form action ...
- Visual Prolog 的 Web 专家系统 (10)
GENI的核心 -- 推理机(4)求证过程分析 1.GENI知识库结构 专家系统推理机的设计执行,与其知识库结构紧密相关. GENI知识库结构是一棵逻辑推理树. 根节点是animal,即求证的目标. ...
- Visual Studio 2013 Web开发
cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...
- VSS提示"Could not find the Visual SourceSafe Internet Web Service connection information for the specified database
转自:http://www.cnblogs.com/qqflying/archive/2007/12/18/1004051.html VSS连接错误提示: ====================== ...
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- Visual Studio的Web Performance Test提取规则详解(2)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
随机推荐
- MDD:使用模型驱动开发方式进行快速开发(多图预警)
相信很多人跟我一样,不喜欢数据展示.列表分页.数据的增.删.改.查,这种简单又烦琐的搬砖活. 所以网上出现很多开源的代码生成工具,在多年前我也写过,根据模版生成简单的View.Action.Servi ...
- SAP MM 模块常用的数据表
SAP MM模块常用数据表: Table Table Class Application Class Data Class Description EBAN TRANSP ME Transactio ...
- 原生js封装的一些jquery方法
用js封装一些常用的jquery方法 记录一下 hasClass:判断是否有class function hasClass(ele, cls) { if (!ele || !cls) return f ...
- mysql分裤分表
1.分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表mem ...
- jstack_查看当前进程及所属线程执行情况
C:\Program Files\Java\jdk1.7.0_45\bin\jstack.exe 1.任务管理器:进程选择PID 2.命令行执行 cd C:\Program Fi ...
- LATEX中优化问题如何排列Max——s.t.格式
做优化的同学可能会碰到排列形如 max ******* s.t. ***** = * ***** > *** ... 的格式 既要要求 max 和 s ...
- [转]使用VS2010的Database 项目模板统一管理数据库对象
本文转自:http://www.cnblogs.com/shanyou/archive/2010/05/08/1730810.html Visual Studio 2010 有一个数据库项目模板:Vi ...
- Weblogic常见故障之二:XAER_NOTA XAException问题的解决
在weblogic执行XA操作的时候,我们会碰到如下的错误,后来发现是JDBC配置的问题.主要报错:java.sql.SQLException: XA error: XAER_NOTA : The X ...
- HDU5312 Sequence
题意:t组数据,每组数据给个m.问m最少能由几项形如3*n*(n-1)+1的数表示 eg 7=1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1); ...
- MapReduce报错:Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was :interface javax.xml.soap.Text
这个问题折腾了我一天了,最主要的是真的不懂在哪里看log,所以虽然折腾地很没有道理但还是一直在折腾. 这个问题很好解决,在main函数处错误import了 javax.xml.soap.Text,应该 ...