首页 > 代码库 > Visual Prolog 的 Web 专家系统 (1)

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、安装配置服务器Apache

GENI是CGI程序,运行依赖HTTP服务器。我用的是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

启动Apache服务器httpd.exe

在浏览器中打开地址 http://localhost/default.htm

一个图文并茂的网页,GENI登场亮相。