Goto

Collaborating Authors

 Europe


Knowledge-based programming self-applied

Classics

A knowledge-based programming system can utilize a very-high-level self description to rewrite and improve itself. This paper presents a specification, in the very-high-level language V, of the rule compiler component of the CIII knowledgebased programming system. From this specification of part of itself, CIII produces an efficient program satisfying the specification. This represents a modest application of a machine intelligence system to a real programming problem, namely improving one of the programming environment's tools — the rule compiler. The high-level description and the use of a programming knowledge base provide potential for system performance to improve with added knowledge.In Hayes, J. E., Michie, D., and Pao, Y.-H. (Eds.), Machine Intelligence 10. Ellis Horwood.


LOGLISP: an alternative to PROLOG

Classics

Our own early attempts (as devoted users of LISP) to use PROLOG convinced us that it would be worth the effort to create within LISP a faithful implementation of Kowalski's logic programming idea. We felt it would be very convenient to be able to set up a knowledge base of assertions inside a LISP workspace, and to compute the answers to queries simply by executing appropriate function calls.In Hayes, J. E., Michie, D., and Pao, Y.-H. (Eds.), Machine Intelligence 10. Ellis Horwood.





A first order formalization of knowledge and action for a multi-agent planning system

Classics

We are interested in constructing a computer agent whose behaviour will be intelligent enough to perform cooperative tasks involving other agents like itself. The construction of such agents has been a major goal of artificial intelligence research. One of the key tasks such an agent must perform is to form plans to carry out its intentions in a complex world in which other planning agents also exist. To construct such agents, it will be necessary to address a number of issues that concern the interaction of knowledge, actions, and planning. Briefly stated, an agent at planning time must take into account what his future states of knowledge will be if he is to form plans that he can execute; and if he must incorporate the plans of other agents into his own, then he must also be able to reason about the knowledge and plans of other agents in an appropriate way.


Higher-order extensions to PROLOG: are they needed?

Classics

PROLOG is a simple and powerful progamming language based on first-order logic. This paper examines two possible extensions to the language which would generally be considered "higher-order".t The first extension introduces lambda expressions and predicate variables so that functions and relations can be treated as 'first class' data objects. We argue that this extension does not add anything to the real power of the language. The other extension concerns the introduction of set expressions to denote the set of all (provable) solutions to some goal. We argue that this extension does indeed fill a real gap in the language, but must be defined with care.In Hayes, J. E., Michie, D., and Pao, Y.-H. (Eds.), Machine Intelligence 10. Ellis Horwood.


The computational problem of motor control

Classics

Motor control systems are complex systems that process information. Orientation behaviour, posture control, and the manipulation of objects are examples of motor control systems which involve one or more sensory modality and various central neural processes, as well as effector systems and their immediate neuronal control mechanisms. Like all complex information processing systems, they must be analysed and understood at several different levels (see, e.g., Marr & Poggio 1977). At the lowest level there is the analysis of basic components and circuits, the neurons, their synapses, etc. At the other extreme, there is the study of the computations performed by the system -- the problems it solves and the ways that it solves them -- and the analysis of its logical organization in terms of its primary modules. Each of these levels of description, and those in-between, has its place in the eventual understanding of motor control by the nervous system. None is sufficient, nor is there any simple translation from one to another. A purely biophysical investigation, however exhaustive, can say nothing by itself about the information processing performed by the system, nor, on the other hand, can an understanding of the computational problem which the system solves lead directly to an understanding of the properties of the hardware. Two examples of motor control theories belonging to different levels will illustrate this point.


Solving Symbolic Equations with Press

Classics

Equation Time Methods Used (I) 2200 Function Swapplng,Polysolve (2) 1905 Function Swapping,Isolation (3) 6280 Homogenization,Function Swapping, (4) I010 (5) 1350 (6) 815 (7) 3580 The numbered equations refer to given in milliseconds. Polysolve,Isolation Homogenization,Polysolve,Isolation Homogenization,Polysolve,Isolation Attraction,Collection,Isolation The following table Homogenlzation,Polysolve,Isolation those given in the introduction. Times are CPU times REFERENCES [Borning and Bundy 81] Borning, A and Bundy, A. Using matching in algebraic equation solving.


PROLOG: a language for implementing expert systems

Classics

We briefly describe the logic programming language PROLOG concentrating on those aspects of the language that make it suitable for implementing expert systems. We show how features of expert systems such as: (1) inference generated requests for data, (2) probabilistic reasoning, (3) explanation of behaviour can be easily programmed in PROLOG. We illustrate each of these features by showing how a fault finder expert could be programmed in PROLOG.In Hayes, J. E., Michie, D., and Pao, Y.-H. (Eds.), Machine Intelligence 10. Ellis Horwood.