Software


Some techniques for proving correctness of programs which alter data structures

Classics

We will extend Floyd's proof system for flow diagrams to handle commands Which process lists. McCarthy and Painter (1967) deal with arrays by introducing'change' and'access' functions so as to write a[i]: a[j] 1 as a: change (a, i, access 24 BURSTALL King (1969) in mechanising Floyd's technique gives a method for such assignments which, however, introduces case analysis that sometimes becomes unwieldy. Let us recall briefly the technique of Floyd (1967) for proving correctness of programs in flow diagram form. We will here retain the inductive method of Floyd for dealing with flow diagrams containing loops, but give methods for coping with more complex kinds of assignment command.



Artificial Intelligence: A General Survey (The Lighthill Report)

Classics

In forming such a view the Council has available to it a great deal of specialist information through its structure of Boards and Committees-- particularly from the Engineering Board and its Computing Science Committee and from the Science Board and its Biological Sciences Committee. To supplement the important mass of specialist and detailed information available to the Science Research Council, its Chairman decided to commission an independent report by someone outside the Al eld but with substantial general experience of research work in multidisciplinary elds including elds with mathematical, engineering and biological aspects. Such a personal view of the subject might be helpful to other lay persons such as Council members in the process of preparing to study specialist reports and recommendations and working towards detailed policy formation and decision taking. In scientic applications, there is a similar look beyond conventional data processing to the problems involved in large-scale data banking and retrieval, The vast eld of chemical compounds is one which has lent itself to ingenious and eective programs for data storage and retrieval and for the inference of chemical structure from mass-spec- trometry and other data.


An approach to the frame problem, and its implementation

Classics

This paper proposes a method for handling the frame problem in representing conceptual, or natural-language-type information. The method is part of a larger calculus for expressing conceptual information, called P c F-2, which is described in Sandewall (1972), and which is a modification and extension of Sandewall (1971a). When the STRIPS schema adds a fact, PLANNER would add the corresponding fact to the data base using the primitive thassert. In this context, by epistemological information we mean a notation together with a set of rules (for example, logical axioms) which describe permissible deductions.


Mathematical and computational models of transformational grammar

Classics

We were led to this comparison by the observation that the computer model is weaker in three important ways: search depth is not unbounded, structures matching variables cannot be compared, and structures matching variables cannot be moved. Thus, every recursively enumerable language is generated by a transformational grammar with limited search depth, without equality comparisons of variables, and without moving structures corresponding to variables. On the other hand, both mathematical models allow unbounded depth of analysis; both allow equality comparisons of variables, although the Ginsburg-Partee model.compares


On generality and problem solving: a case study using the DENDRAL program

Classics

"Heuristic DENDRAL is a computer program written to solve problems of inductive inference in organic chemistry. This paper will use the design of Heuristic DENDRAL and its performance on different problems for a discussion of the following topics: 1. the design for generality; 2. the performance problems attendant upon too much generality; 3. the coupling of expertise to the general problem solving processes; 4. the symbiotic relationship between generality and expertness, and the implications of this symbiosis for the study and design of problem solving systems. We conclude the paper with a view of the design for a general problem solver that is a variant of the "big switch" theory of generality."See also: Stanford University Report (ACM Citation)In Meltzer, B. and Michie, D. (Eds.), Machine Intelligence 6, pp. 165ā€“190. Edinburgh University Press



Natural language question-answering systems: 1969

Classics

In the meantime, Chomsky (1965) devised a paradigm for linguistic analysis that includes syntactic, semantic, and phonological components to account for the generation of natural language statements. This theory can be interpreted to imply that the meaning of a sentence can be represented as a semantically interpreted deep structure--i.e, From computer science's preoccupation with formal programming languages and compilers, there emerged another paradigm. The adoption and combination of these two new paradigms have resulted in a vigorous new generation of language processing systems characterized by sophisticated linguistic and logical processing of well-defined formal data structures. These included a social-conversation machine, systems that translated from English into limited logical calculi, and programs that attempted to answer questions from English text.


Bi-Directional Search

Classics

Ph.D. dissertation "Bi-directional and heuristic search in path problems" (Stanford, Computer Science, 1970) summarized in this article in Machine Intelligence 6 (1971).In the uni-directional algorithms, the search proceeds from an initial nodeforward until the goal node is encountered. Problems for which the goal nodeis explicitly known can be searched backward from the goal node. Analgorithm combining both search directions is bi-directional.This method has not seen much use because book-keeping problems werethought to outweigh the possible search reduction. The use of hashingfunctions to partition the search space provides a solution to some of theseimplementation problems. However, a more serious difficulty is involved.To realize significant savings in bi-directional search, the forward andbackward search trees must meet in the 'middle' of the space. The potentialbenefits from this technique motivates this paper's examination of thetheoretical and practical problems in using bi-directional search.


Machine Intelligence 4

Classics

Several workers in recent years have considered using techniques and ideas of various mathematical theories of computation for proving interesting results about computer programs. These predicates may be thought of as expressing the relevant relations between the values of the variables of interest at the given point; in particular, the predicate on the exit point represents the property of the program we wish to prove. In a program scheme we have a set of registers L1, L2,.. Lā€ž, a set of function names ft,,f2, -. fp, and a set of test names ti, t2,..