首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
Visual Prolog语言是人工智能与专家系统领域最著名的逻辑程序设计语言,适合表达人的思维和推理规则,能够方便地实现模式匹配、回溯、事实数据库和谓词等功能;针对导弹测试设备结构复杂、故障隔离与定位困难等情况,充分利用Visual Prolog语言在专家系统知识表示及逻辑推理过程中的优点,建立了一个基于规则的导弹测试设备故障诊断专家系统;通过应用表明Visual Prolog语言十分适合构建此类专家系统,并具有良好的开发应用前景.  相似文献   

2.
在编译型Prolog系统中,Prolog数据库在概念上可看成由两部分组成:源程序库和代码库。由于Prolog包含数据库操作内部谓词,代码库中的代码应该是可修改的。GKD-CDB是我们在VAX-11/780上用C语言实现的一个Prolog代码库。本文论述了其实现算法。  相似文献   

3.
Prolog语言的编译实现能很大程度地提高程序的执行速度。但是,编译形成的代码在形式上与源程序已大不相同,失去了源形式所带的信息。这大大增加了实现内部谓词的困难。到目前为止,有关编译系统中内部谓词实现方法的文章还很少。本文以Warren的抽象机[1]为基础,对于cut操作符以及asserta,assertz,delelause,abolish,call等几个内部谓词的实现方法进行了探讨,提出了相应的算法。  相似文献   

4.
针对软件测试和静态程序验证中存在的连续性程序执行验证和推理问题,提出一个基于程序插桩和布尔逻辑的运行时程序验证框架——RPA。定义一种用于描述运行时程序性质和规范的动态逻辑语言RPAL,实现自动化插桩以收集运行时程序状态信息,设计一个支持高效验证的句子调度算法。实验结果表明,结合合适的谓词扩展,RPA可以有效地验证和分析软件逻辑,发现潜在的软件错误。  相似文献   

5.
并行推理机设计的主要论题   总被引:1,自引:0,他引:1  
基于谓词逻辑的逻辑程序设计语言将逻辑推理对应计算,它丰富的表达能力特别适合于知识信息处理。Warren提出的编译技术大大提高了顺序执行Prolog的时空效率。但是,为了满足知识信息处理应用的要求,需要研究并行推理机以并行执行逻辑程序。本文论述了并行推理机设计中涉及到的一些问题,从逻辑语言,执行模型和体系结构等方面探讨了并行推理机中并行性开发方法和需考虑的问题。  相似文献   

6.
在研究PLC程序编译执行过程和新指令特点的基础上,基于ARM-FPGA的PLC主机结构,提出一种新型PLC指令的编译方法。静态编译将指令的操作数转换为PLC软元件的直接地址,建立转移类指令的转移地址链表,编译成为新的PLC程序代码序列;动态编译在PLC程序执行过程中将新程序指令中操作数的直接地址转换为立即数,由FPGA模块执行。通过对PLC用户源程序的编译与执行,表明该方法能够充分应用FPGA高速并行处理的功能,提高了PLC程序执行的速度。  相似文献   

7.
设计并实现XQuery语言Hotspot编译系统的支撑框架,通过对XQuery程序进行Hotspot分析,将执行频率高的程序模块编译为Java字节码,以提高程序执行效率。实验结果证明,Hotspot编译系统在执行效率上相比解释系统有一定提高,与静态编译系统相比,能更有效地处理网络上动态生成的XQuery查询。  相似文献   

8.
逻辑文法是指用谓词逻辑来表达的文法。它属于计算语言学的范畴,是逻辑程序设计和现代语言学相结合的产物。在人工智能的自然语言处理等领域里,谓词逻辑通常用来描述知识和逻辑推理。70年代,逻辑用于程序设计的思想以Prolog语言的形式投入应用以来,谓词逻辑不再仅仅用于描述这些问题,还作为逻辑程序设计的工具去描述解决问题的过程。PROLOG语言使得逻辑和程序设计这  相似文献   

9.
给出了一种使用一阶谓词逻辑(Prolog语言)为图象内容建模,并结合知识库,实现高效图象检索的方案。基于知识的图象信息表示与检索系统(KIRS)将图象的人工注释、机器自动提取的图象低层信息以及知识库中的知识统一于一致的概念,以知识推理的方式进行检索。  相似文献   

10.
即时编译技术是改进动态语言性能的有效手段。基于踪迹(Trace)的即时编译技术能够在运行时识别出频繁执行的程序片段(热踪)并进行编译优化,在相当多的场景下能够提高程序整体的执行效率。然而,这种涉及底层代码优化的即时编译系统开发难度较大,导致其应用范围受到一定限制。为此,一种针对C语言子集CMinus的热踪编译技术被提出。利用这种热踪编译技术及其支撑工具,任何能够翻译为CMinus的开发语言都可以使用该技术提高程序执行效率,任何采用CMinus语言实现的算法也都可以得到热踪编译的支持。实验结果表明这种即时编译技术能够有效地提高程序的执行效率。  相似文献   

11.
Visual Prolog的搜索控制机制分析   总被引:8,自引:0,他引:8  
回溯机制是逻辑程序设计的重要设施。回溯本身是一种获得目标所有可能解的良好方法。然而回溯也有副作用,一是它可能导致Visual Prolog给出多余的答案,而Visual Prolog自己不能区分实质上相同的两个解,因此会降低效率;二是尽管一个特殊的目标已被满足,但是回溯机制可能还会强迫Visual Prolog继续手找另外的解,因此会增加系统开销。在这些情况下,必须仔细控制目标搜索求解的回溯过程。本文在揭示Visual Prolog回溯机制所存在问题的基础上,通过实例,对Visual Prolog的静态截断机制、失败谓词fail与否定谓词not等控制谓词,以及动态截断机制等所构成的完整的目标搜索求解控制机制进行了详细分析,从而揭示出回溯机制和搜索求解控制机制的本质特性及应用机理。  相似文献   

12.
Visual Prolog在专家系统故障诊断中的应用   总被引:2,自引:1,他引:1       下载免费PDF全文
郑璇  马昕  张贝克 《计算机工程》2009,35(16):189-191
针对故障诊断的特点,利用Visual Prolog语言在知识表示及逻辑推理过程中的优势,以流程工业中易发生事故的催化裂化装置为例设计并实现了基于规则的故障诊断专家系统。用事实和规则这2种构成Visual Prolog语言的短语进行知识库和推理机的编写。通过在催化裂化生产装置的实际应用表明,该诊断系统效果良好,能够对出现的多数异常工况进行有效的推理及分析,及时查找出故障原因,并提供相应的故障处理措施。  相似文献   

13.
面向Java的信息流分析工作需要修改编译器或实时执行环境,对已有系统兼容性差,且缺乏形式化分析与安全性证明。首先,提出了基于有限状态自动机的Java信息流分析方法,将整个程序变量污点取值空间抽象为自动机状态空间,并将Java字节码指令看做自动机状态转换动作;然后,给出了自动机转换的信息流安全规则,并证明了在该规则下程序执行的无干扰安全性;最后,采用静态污点跟踪指令插入和动态污点跟踪与控制的方法实现了原型系统IF-JVM,既不需要获得Java应用程序源码,也不需要修改Java编译器和实时执行环境,更独立于客户操作系统。实验结果表明,原型系统能正确实现对Java的细粒度地信息流跟踪与控制,性能开销为53.1%。  相似文献   

14.
尹青  何东  李娜  何红旗 《计算机工程》2012,38(19):30-33
为恢复变量的数据类型信息并提高反编译的质量,提出一种基于规则的数据类型重构方法.采用静态和动态相结合的分析方式,将可执行代码转化为中间语言,在优化中间语言的基础上为每条指令制定约束规则,并给出相应的求解算法,从而推导出变量的数据类型信息.实验结果表明,该方法能对简单数据变量类型和复杂数据变量类型进行恢复,具有较高的准确性.  相似文献   

15.
Turbo Prolog是一种纯编译型人工智能语言,适于开发专家系统、建立动态数据库、处理自然语言。自然语言处理(NLP)被公认为人工智能最杰出的领域之一。本文提出在动态库的基础上进行NLP的改进方法,并易于推广为多目标查询及综合查询。使NLP的关键词法具有更广泛的实用意义,为建立智能数据库打下基础。  相似文献   

16.
为有效产生程序测试数据,提高Fuzzing测试数据的生成效率和测试覆盖率的问题,提出了一种新的Fuzzing测试数据生成算法--H-Fuzzing.其主要思想是通过程序静态分析结果和动态运行属性,收集程序关键分支谓词的相关信息,得到其与输入变量之间的关联关系,进而指导测试数据算法的收缩,达到能够在少量的随机输入产生过程中得到较高的测试覆盖率的目的.  相似文献   

17.
1.问题分析 C语言中变量定义的实质(或目的),是为了在编译时能为其分配相应的存储单元。同时,C语言又提供了指针机制,允许使用指针对内存单元进行操作。而且,C语言经编译后,取得并使用四个逻辑上不同、且用于不同对象的内存区域,它们分别是:栈、堆、全局变量区、程序代码区,其中“堆”是一个自由内存区域,C语言可通过内存分配函数(malloc()、calloc()),动态地从中获得所需空间。由指针指向被分配的内存块,其  相似文献   

18.
木文给出逻辑程序综合的一种方法,按规范说明则p(X)Formula(X)中一阶公式Formula(X)的结构,反复运用变换规则,得到一个正确定义谓词p(X)Prolog程序。对于递归说明,也给出了相应的方法。  相似文献   

19.
在MIPS,ALPHA,SPARC和PowerPC等体系结构中,对全局变量和静态变量的访问一般采用间接寻址的方式.由于变量地址和变量值不在同一数据段,使得数据访问的局部性不好.这样,每次访问变量地址会导致大量冗余的数据cache不命中访存操作.此外,这种寻址方式会产生两条连续的有数据依赖的操作,降低了程序的指令级并行性.提出了基于反馈信息的地址寄存器提升算法(addrass register promotion based on feedbacks,ARPF).该算法减少了对全局变量地址和静态变量地址的冗余访问,提高了程序的ILP(instruction level parallelism),同时避免了由于寄存器压力增加导致性能下降.在龙芯编译器①上实现了该算法.实验表明ARPF对SPEC CPU2000INT所有测试用例有1%~6%的性能提升.  相似文献   

20.
1991年第10期刊载的“提高Turbo-PROLOG设计效率的几种方法”一文(以下简称《提》文)中,作者提出了“表一回溯结构法则”(即:将表元素的处理尽可能由递归的方法转化为动态数据库的回溯),并给出了分割表元素的两个对比程序。在第二个程序中,第五子句截断元素“!”的设置使得表中其它重复元素在动态数据库中的事实部被删除,不能达到预期的效果;程序最后一个子句中的谓词retractall不是标准谓词,需增加有关此谓词的子句。修改后的程序见所附程序一。《提》文中指出用“表-回溯结构法则”在用动态数  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号