首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 111 毫秒
1.
我们设计了一个主要支持知识程序设计的“函数+逻辑”语言。它利用LISP丰富的语言环境,以LISP的S—表达式形式把LISP和Prolog有机统一起来,兼备函数和逻辑混合的或独立的编程风格,具有计算策略丰富、编程方式灵活多样、问题表达能力强等特点。为克服解释实现中逻辑部分执行效率远慢于函数部分等缺陷,我们实现了该“函数+逻辑”语言的解释一编辑系统。本文介绍了该系统的设计思想、内部结构及实现原理等。  相似文献   

2.
LISP语言是专为处理符号表格而设计的一种语言,它在人工智能的许多领域中都得到了广泛的应用,因此逐渐引起人们的注意。 本文扼要地介绍LISP语言的一些主要特点及功能,并通过一些例子说明如何利用LISP语言进行人工智能问题的程序设计。 本文共分三部分:第一部分介绍符号表达式的数据结构,基本LISP函数,LISP无语言以及LISP程序。第二部分介绍LISP函数的扩充,包括算术逻辑运算,以函数作变元的函数,具有程序特性的函数,原子特性表,改变表结构的函数以及输入输出函数。第三部分介绍一些应用实例,包括智力难题,定理证明,问题求解以及机器人道路探索等。着重介绍如何把人工智能问题转化为适合于进行表处理的问题,然后用LISP语言进行程序设计。  相似文献   

3.
逻辑程序设计语言LOGLISP是LISP语言和Prolog语言两者优点的结合。由LISP和嵌套在LISP中的表示LOGIC的新函数的集合组成。鼓励读者把LOGLISP想成 LOGLISP=LOGIC+LISP 该语言是由J.A.Robinson等人于1983年设计实现的。  相似文献   

4.
本文详细地介绍了我们研制成功的LISP-130解释系统。本系统以LISP1.5文本为主要依据,并吸取了其他LISP系统的特点,构成94个系统函数,以这94个函数为基础,可以方便地定义出各种新函数。 LISP语言是人工智能、模式识别及其他求解非数值问题的基本语言。国外越来越多的计算机开始配备LISP类型的语言,成为系统软件的基本组成部分。 随着国内计算机应用领域的不断扩大,非数值应用的比重越来越大,迫切需要适合于非数值计算的语言。同时考虑到国产DJS-130机已被广泛使用,为此研制了适用于DJS-130小型机的LISP独立解释系统。本系统于1980年11月鉴定通过。  相似文献   

5.
利用AutoLISP语言实现FORTRAN程序和AutoCAD之间接口,主要是利用了FORTRAN的格式输出能力和AutoLISP语言的I/O函数READ-LINE。FORTRAN语言的格式输出能力,使得FORTRAN能将其计算的结果数据以整齐的格式形成磁盘数据文件。这样,利用AutoLISP语言的I/O函数READ-LINE和子串函数SUBSTR,就可以一项一项地将数据文件中的各项分别取出。此时,取出的各项,其类型是“字符串”,再利用READ函数,它可以将一个字符串变为原子——即符号。对于这些符号,我们可以将其构成表的形式以方便LISP处理。如果在FORTRAN的输出语句中,将输出的数据文件写成带有符号名的整齐格式,如:符号名值符号名值……,那么由LISP将其构成  相似文献   

6.
布辉  刘冉 《福建电脑》2006,(10):83-84
LISP是最早和最重要的符号处理编程语言之一,Scheme语言是LISP的方言。本文总结了LISP语言的特点,并根据LISP语言的特点,用BNF范式完整的描述了Scheme语言的文法,这为用编译方法实现LISP语言提供了思路。  相似文献   

7.
LISP语言是一种通用高级计算机程序语言,为函数式程序设计语言,是较早的编程语言之一,以其函数性、递归性、数据与程序的一致性、自动进行存储分配和语法简单的特点,使其在专家系统和CAD领域得到了广泛的应用。介绍了运用LISP语言在多维标度分析(MDS)绘图软件中定制非标工艺表格,并进行内容填写等二次开发应用。  相似文献   

8.
LISP和Prolog     
本文对LISP和Prolog进行了比较,指出它们的五个相同点和五个不同点。Prolog在许多方面吸取了LISP的特点,但又给出了不少新的特性,因此在问题的表达上比LISP好。然而正如D.G、Bobrow指出的那样,各种语言都有风格、各有优缺点。函数式程序设计语言和逻辑程序设计语言是适用于不同领域的有生命力的非冯·诺依曼式语言。  相似文献   

9.
随着知识工程学科在各个领域的广泛应用,对开发知识工程的有效工具需要日趋迫切。在不同环境下支持的知识工程工具应运而生。本文介绍了一个在 IBM PC 微型计算机上,利用具有很强的建立系统工具能力和高处理速度的 COMMON LISP 语言设计并构造的知识工程工具。该工具的建立,对于在理论教学上学习知识工程,以及在更多的领域开发应用知识工程,都是有一定意义的。  相似文献   

10.
XLISP解释系统的分析与研究   总被引:1,自引:0,他引:1  
一、引言目前,人们对在微机上进行人工智能研究的兴趣正在不断地增长。在微机上已配置了各种版本的 Prolog 语言和 Lisp 语言。就 Lisp 语言而言,在国内流行的有 LISP3.3,LISP-11,IQ LISP,GCLISP 和 XLISP。它们各有优缺点。LISP-11和 LISP3·3分别是 PDP-11/03和 CROMEMCO 微机上配置的 Lisp 语言。这两个系统的共同缺点是:①系统留给用户的自由空间太小,②将其扩展又不方便。实际上,它们仅能用于教学实践,而不能利用它们设计人工智能领域内有实用价值的系统。PC 机上的 IQLISP 具有很强的数学运算能力,而且提供了一些便于处理计算问题的“宏”函数,然而它的输入输出却不方便,整个系统比较庞杂。  相似文献   

11.
《Parallel Computing》2014,40(3-4):1-33
There has been a renewed interest in dataflow computing models in recent years of technology scaling. Potentiality of exploiting huge parallelism, with the expense of low power, simpler circuit, less silicon area, is the main characteristic of a dataflow model. Growing trends in housing large number of functional units in a single chip, making use of local clocks, reducing energy consumptions, avoiding global wires are the main reasons behind the resurgence of dataflow models. To program a dataflow machine, new architectures suggest imperative languages rather than functional type dataflow languages or parallel languages because this is the right way to make the new architectures popular among the general community. Although for several decades scientists have been working on how imperative languages can be used in dataflow models efficiently, there is no systematic review on those works. Existing reviews on dataflow paradigm mainly focus on the architectures. Although few papers review programming languages of dataflow architectures, their discussions are limited to only dataflow languages and visual programming languages which are fundamentally different from imperative languages. In this paper, we conduct a systematic review on those works that attempt to provide a way to use imperative languages in any type of dataflow architectures. Our survey of compilers and related architectures cover the aspects like translation mechanisms of program construct, their optimization techniques, memory ordering methods, program allocation and scheduling and special architectural features. We also present some of our observations and future research directions obtained by exploring the literature.  相似文献   

12.
Parallel computing and distributed computing have traditionally evolved as two separate research disciplines. Parallel computing has addressed problems of communication-intensive computation on tightly-coupled processors while distributed computing has been concerned with coordination, availability, timeliness, etc., of more loosely coupled computations. Current trends, such as parallel computing on networks of conventional processors and Internet computing, suggest the advantages of unifying these two disciplines. Actors provide a flexible model of computation which supports both parallel and distributed computing. One may evaluate the utility of a programming paradigm in terms of four criteria: expressiveness, portability, efficiency, and performance predictability. We discuss how the Actor model and programming methods based on it support these goals. In particular, we provide an overview of the state of the art in Actor languages and their implementation. Finally, we place this work in the context of recent developments in middleware, the Java language, and agents.  相似文献   

13.
As languages and systems for rapid prototyping and application development have grown in popularity and the problems that they are being used to solve have grown in size, so has the need for enhancing them with a coordination facility to support distributed and parallel computations and the creation of application ensembles. We describe NetWorkSpace, a coordination facility based on the fundamental concept of a variable/value binding. NetWorkSpace is implemented as an open source server with clients available for a variety of environments. We present an overview of its design, implementation, performance and usage case studies.  相似文献   

14.
This paper introduces and discusses programming models for parallel processing and recent trends in the area of parallel programming. The paper discusses different parallel programming languages and tools that reflect various parallel computation models. These language differ in expressiveness, portability and performance. Software design and implementation largely varies by using different languages that make the programmer task easy or complex. We describe here the design goals and the main issues of parallel programming models and languages belonging to the following categories: shared-space based languages, message-based languages, parallel toolkits, data-parallel languages, parallel declarative languages, parallel object-oriented languages, and parallel composition-based languages. Tools and languages such as HPF, Linda, Java, OpenMP, PVM, MPI, Parallel C+ +, Sisal, Orca, Mentat, SkieCL, BSP and others are described in some detail. Their main features for design and implementation of high performance applications are discussed. Finally, we outline directions of research and development in the parallel programming area with a special attention to novel approaches based on high-level programming structures that make transparent to the users the architectural details of parallel computing machines.  相似文献   

15.
Experiences are described of parallelizing a functional finite-element program (written in Haskell) for the solution of computational fluid-dynamics problems. A transformation prototyping approach using a system developed at the University of York, which simulates idealised parallel machines on a conventional sequential workstation, is presented. In this paper we demonstrate: (a) the relative simplicity of the functional approach for parallelizing a complex program compared with the conventional procedural approach; (b) the suitability of functional languages for prototyping parallel algorithms to improve an implementation; and (c) the considerable assistance provided by the simulator.  相似文献   

16.
该文提出了一种将调用局部化技术应用于并行环境下面向对象语言的方法,文中详细讨论了该技术的适用条件以及如何通过该方法减少循环中的远程过程调用开销,该优化技术产首先将循环分离成多个包含有远程调用的循环,再将分离后的循环分离给循环中对象所在的处理器,最后,化简迭代空间,并且用消息传递来传输数据,这种优化对象分布和循环并行化之后进行,将函数调用局部化于处理器,通过这种优化,可以进一步挖掘循环中的任务并行性,降低计算复杂度,减少函数调用开销,尤其适合面向对象语言中对循环里小函数的优化,该技术已经在作者设计的Java自动并行化编译器JAPS-Ⅱ中实现,在实验中,利用这种优化技术得到了超线性性加速比。  相似文献   

17.
基于方法调用一般化模型的并行性分析   总被引:3,自引:0,他引:3  
该文给出了一种考虑了面向对象语言的多态和对象引用别名问题的对象方法间并行性的分析方法,这种方法用于面向对象语言并行化中的并行性分析,文中首先给出了一般化的方法调用模型,然后基于该模型给出了表达式化简,过程和过程间分析的算法,该算法可以求出变量的定义和使用集合,由于并行性分析,该文给出的简单例子即可以将该文的和相关的工作加以区别。其技术已经在作者研制的Java并行化编译器JAPS-Ⅱ中实现。  相似文献   

18.
There are many paradigms being promoted and explored for programming parallel computers, including modified sequential languages, new imperative languages and applicative languages. SISAL is an applicative language which has been designed by a consortium of industrial and research organizations for the specification and execution of parallel programs. It allows programs to be written with little concern for the structure of the underlying machine, thus the programmer is free to explore different ways of expressing the parallelism. A major problem with applicative languages has been their poor efficiency at handling large data structures. To counter this problem SISAL includes some advanced memory management techniques for reducing the amount of data copying that occurs. In this paper we discuss the implementation of some image processing benchmarks in SISAL and C to evaluate the effectiveness of the memory management code. In general, the SISAL program was easier to code than the C (augmented with the PARMACS macros) because we were not concerned with the parallel implementation details. We found that the SISAL performance was in general comparable to C, and that it could be brought in line with an efficient parallel C implementation by some programmer-specified code transformations.  相似文献   

19.
This paper is a discussion of functional languages and parallel computers. It is aimed at an audience that has a background in computer architecture, but not necessarily in the area of functional languages. It therefore constitutes an introductory survey of functional languages, on the one hand, and a non-introductory discussion of parallel computers, on the other. The aim is to highlight some important issues regarding the use of adequacy of these languages and also on the design of parallel computers to interpret them. The concluding thesis of put forth is twofold: one, that to widen their scope of applicability, functional languages need to include more features of nondeterminism and may need to be integrated with features from conventional languages; two, that the right sort of architectures for such extended languages may well be less-specialised ones with a von Neumann flavour.  相似文献   

20.
文章提出了基于网格计算来实现电力系统分布式并行计算的方案。主要涉及计算池(ComputingPool)的设计、资源的管理与动态分配,以及图论分割和稀疏数值计算库的设计和实现等。文章首先介绍了网格计算应用于电力系统分布式并行计算的概念,在此基础上,分析了基于GlobusR网格计算开发平台实现的以上功能模块。最后对测试平台和测试结果进行了简要的介绍。  相似文献   

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

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