perm filename NINE.PUB[BIB,CSR] blob sn#537615 filedate 1980-09-26 generic text, type C, neo UTF8

COMMENT ⊗ VALID 00019 PAGES C REC PAGE DESCRIPTION C00001 00001 C00003 00002 .require "setup.csr[bib,csr]" source file C00004 00003 .once center C00006 00004 %3STAN-CS-80-806: C00010 00005 %3STAN-CS-80-807: C00012 00006 %3AIM-337 (STAN-CS-80-808): C00013 00007 %3AIM-338 (STAN-CS-80-809): C00016 00008 %3STAN-CS-80-810: C00017 00009 %3PVG-18 (STAN-CS-80-811): C00020 00010 %3HPP-80-21 (STAN-CS-80-812): C00023 00011 %3AIM-340 (STAN-CS-80-813): C00027 00012 %3HPP-80-17 (STAN-CS-80-814): C00032 00013 %3HPP-80-16 (STAN-CS-80-815): C00035 00014 %3STAN-CS-79-816: C00037 00015 %3STAN-CS-79-817: C00039 00016 %3AIM-341 (STAN-CS-80-818): C00043 00017 %3STAN-CS-80-819: C00048 00018 %3HPP-80-22 (STAN-CS-80-820): C00052 00019 %3STAN-CS-80-821: C00061 ENDMK C⊗; .require "setup.csr[bib,csr]" source file; .once center %3Stanford University Computer Science Reports%1 List Number 9↔October 1980 Listed here are abstracts of the most recent reports published by the Department of Computer Science at Stanford University. %3Request Reports:%1 Complete the enclosed order form, and return the entire order form page (including mailing label) as soon as possible. In many cases we can print only a limited number of copies, and requests will be filled on a first come, first served basis as the reports become available. If the code (FREE) is printed on your mailing label, you will not be charged for hardcopy. This exemption from payment is limited primarily to libraries. (The costs shown include all applicable sales taxes. %2Please send no money now, wait until you get an invoice%1.) %3Alternatively:%1 Copies of most Stanford CS Reports may be obtained by writing (about 2 months after the "Most Recent CS Reports" listing) to National Technical Information Service, 5285 Port Royal Road, Springfield, Virginia 22161. Stanford Ph.D. theses are available from University Microfilms, 300 North Zeeb Road, Ann Arbor, Michigan 48106. -↔- %3STAN-CS-80-806: %2On the Approximate Solution of Hyperbolic Initial-Boundary Value Problems%1 by William M. Coughran, Jr. (Thesis, 177 pages, June 1980) Hyperbolic initial-boundry value problems arise in a number of scientific disciplines, such as meteorology, ocanography, geophysics, aerodynamics, acoustics, and magnetohydrodynamics. These problems usually cannot be solved analytically, so approximate methods must be used. Unfortunately, the construction of stable finite difference approximations is a subtle matter, which often confuses the practitioner; the existing theories for establishing the well-posedness of continuous initial-boundary value problems and the stability of discrete analogs involve the verification of complicated algebraic conditions. Moreover, the stability theory fo discrete initial-boundary value problems in more than one space dimension is not well developed. In this thesis, the existing stability theory for discrete initial-boundary value problems, which has only been applied to (essentially) salar model problems, is used to analyze the stability of some %22 %4x %22%1 model problems, not written in characteristic variables; it is noted that the most accurate interior/boundary difference scheme combinations are the least stable to perturbations in the coefficients. (A practical numerical procedure for verifying the stability of discrete initial-boundary value problems is also introduced.) The stability results for %22 %4x %22%1 systems can be used in the stability analysis of larger systems where characteristics occur only singly and in pairs; in particular, discretizations of the wave equation, the shallow water equations, and the Eulerian equations for gas dynamics, which involve boundary conditions written in "natural" variables, are examined. The stability theory is also extended to multi-dimensional initial-bondary value problems by means of the concept of "tangential dissipativity"; as an application, a tangentially dissipative leap-frog metho is shown to be stable with Euler boundary conditions for a two-dimensional wave equation problem. The viability and limitations of the theory are demonstrated with some computational experiments. Finally, combining stability results with accuracy considerations, various approximations and boundary conditions are ranked. -↔- %3STAN-CS-80-807: %2Path-Regular Graphs%1 by David W. Matula and Danny Dolev (39 pages, June 1980) A graph is vertex-[edge-]path-regular if a list of shortest paths, allowing multiple copies of paths, exists where every pair of vertices are the endvertices of the same number of paths and each vertex [edge] occurs in the same number of paths of the list. The dependencies and independencies between the various path-regularity, regularity of degree, and symmetry properties are investigated. We show that every connected vertex-[edge-]symmetric graph is vertex-[edge-]path-regular, but not conversely. We show that the product of any two vertex-path-regular graphs is vertex-path-regular but not conversely, and the iterated product %2G %4x %2G %4x * * * %2G%1 is edge-path-regular if and only if %2G%1 is edge-path-regular. An interpretation of path-regular graphs is given regarding the efficient design of concurrent communication networks. -↔- %3AIM-337 (STAN-CS-80-808): %2Basic Research in Artificial Intelligence and Foundations of Programming%1 by John McCarthy (Principal Investigator), Thomas Binford, David Luckham, Zohar Manna, Richard Weyhrauch (Associate Investigators) (75 pages, May 1980) Recent research results are reviewed in the areas of formal reasoning, mathematical theory of computation, program verification, and image understanding. -↔- %3AIM-338 (STAN-CS-80-809): %2An Extention of Screw Theory and its Application to the Automation of Industrial Assemblies%1 by Jorgan S. Ohwovoriole (Thesis, 186 pages, April 1980) Interest in mathematical models that adequately predict what happens in the process of assembling industrial parts has heightened in recent times. This is a result of the desire to automate the assembly process. Up to this point there has not been much success in deriving adequate mathematical models of the assembly process. This thesis is an attempt to develop mathematical models of parts assembly. Assembly involves motion of bodies which generally contact each other during the process. Hence, we study the kinematics of the relative motion of contacting bodies. Basic to the theory of assembly is the classical theory of screws which, however, required substantial extensions for this application. The thesis begins with a review of basic screw theory, including line geometry and reciprocal screw systems, and new and more general derivations of some of these screw systems. We then extend the screw theory by introducing such concepts as "repelling" and "contrary" screw pairs, and "total freedom." Finally, we give a method of characterizing assemblies of industrial parts. Using the extended screw theory, we then analyze the "general peg-in-hole assembly" and subsequently give a mathematical description of this particular assembly. -↔- %3STAN-CS-80-810: %2Lower Bounds for algebraic Decision Trees%1 by J. Michael Steele and Andrew C. Yao (12 pages, July 1980) A topological method is given for obtaining lower bounds for the height of algebraic decision trees. The method is applied to the knapsack problem where a %6W%2(n↑2)%1 bound is obtained for trees with bounded-degree polynomial tests, thus extending the Dobkin-Lipton result for linear trees. Applications to the convex hull problem and the distinct element problem are also indcated. Some open problems are discussed. -↔- %3PVG-18 (STAN-CS-80-811): %2An Extended Semantic Definition of Pascal for Proving the Absence of Common Runtime Errors%1 by Steven M. German (57 pages, June 1980) We present an axiomatic definition of Pascal which is the logical basis of the Runcheck system, a working verifier for proving the absence of runtime errors such as arithmetic overflow, array subscripting out range, and accessing an uninitialized variable. Such errors cannot be detected at compile time by most compilers. Because the occurrence of a runtime error may depend on the values of data supplied to a program, techniques for assuring the absence of errors must be based on program specifications. Runchck accepts Pascal programs documented with assertions, and proves that the specifications are consistent with the program and that no runtime errors can occur. Our axiomatic definition is similar to Hoare's axiom system, but it takes into account certain restrictions that have not been considered in previous definitions. For instance, our definition accurately models uninitialized variables, and requires a variable to have a well defined value before it can be accessed. The logical problems of introducing the concept of uninitialized variables are discussed. Our definition of expression evaluation deals more fully with function calls than previous axiomatic definitions. Some generalizations of our semantics are presented, including a new method of verifying programs with procedure and function parameters. Our semantics can be easily adopted to similar languages, such as ADA. One of the main potential problems for the user of a verifier is the need to write detailed, repetitious assertions. We develop some simple logical properties of our definition which are exploited by Runcheck to reduce the need for such detailed assertions. -↔- %3HPP-80-21 (STAN-CS-80-812): %2Knowledge Engineering: The Applied Side of Artificial Intelligence%1 by Edward A. Feigenbaum (14 pages, September 1980) Expert System research is an emerging area of computer science that exploits the capabilities of computers for symbolic manipulation and inference to solve complex and difficult reasoning problems at the level of performance of human experts. The methods of this area are designed to acquire and represent both the formal and the informal knowledge that experts hold about the tasks of their disciplin. Numerous applications to science, engineering, and medicine have been accomplished. Expert System projects represent applied artificial intelligence research, though they also make salient numerous fundamental research issues in the acquisition, representation, and utilization of knowledge by computer programs. Knowledge engineering approaches promise significant cost savings in certain applications; intelligent computer-based aids for practitioners in fields whose knowledge is primarily nonmathematical; and the elucidation of the heuristic knowledge of experts -- the largely private knowledge of practice. There are major problems of knowledge engineering including the shortage of adequate computer equipment, the shortage of trained specialists in applied artificial intelligence, the scientific base for adequate knowledge acquisition, and the lack of sustained funding. -↔- %3AIM-340 (STAN-CS-80-813): %2Obstacle Avoidance and Navigation in the Real World by a Seeing Robot Rover%1 by Hans Peter Moravec (Thesis, 174 pages, September 1980) The Stanford AI lab cart is a card-table sized mobile robot controlled remotely through a radio link, and equipped with a TV camera and transmitter. A computer has been programmed to drive the cart through cluttered indoor and outdoor spaces, gaining its knowledge about the world entirely from images broadcast by the onboard TV system. The cart determines the three dimensional location of objects around it, and its own motion among them, by noting their apparent relative shifts in successive images obtained from the moving TV camera. It maintains a model of the location of the ground, and registers objects it has seen as potential obstacles if they are sufficiently above the surface, but not too high. It plans a path to a user-specified destination which avoids these obstructions. This plan is changed as the moving cart perceives new obstacles on its journey. The system is moderately reliable, but very slow. The cart moves about one meter every ten to fifteen minutes, in lurches. After rolling a meter, it stops, takes some pictures and computes for a long time. Then it plans a new path, and executes a little of it, and pauses again. The program has successfully driven the cart through several 20 meter indoor courses (each taking about five hours) complex enough to necessitate three or four avoiding swerves. A less sucessful outdoor run, in which the cart swerved around two obstacles but collided with a third, was also done. Harsh lighting (very bright surfaces next to very dark shadows) resulting in poor pictures, and movement of shadows during the cart's creeping progress, were major reasons for the poorer outdoor performance. These obstacle runs have been filmed (minus the very dull pauses). -↔- %3HPP-80-17 (STAN-CS-80-814): %2Prototypes and Production Rules: A Knowledge Representation for Computer Consultations%1 by Janice S. Aikins (Thesis, 204 pages, August 1980) This thesis presents a system called CENTAUR, which demonstrates the effectiveness of representing prototypical knowledge in a combination of frames and production rules for performing computer consultations. Key knowledge representation and control structure problems in %2production rule%1 systems similar to MYCIN are identified, and a set of important characteristics of the structures used for representing problem-solving knowledge is given. CENTAUR's frames, or %3prototypes%1, complement the production rules to satisfy these characteristics and represent expected patterns of data that permit a more focused, hypothesis-directed approach to problem solving. Among the characteristcs identified as desrible in the representation structures are the ability to %2explicitly%1 represent (a) prototypical cases, (b) the %2context%1 in which knowledge is applied, and (c) the %2strategies%1 for applying that knowledge. CENTAUR's prototypes consist of patterns of knowledge in the domain which serve as broad contexts, guiding the more detailed processing of the production rules. Strategies for the consultation, or control knowledge, are represented in the prototypes separately from other kinds of domain knowledge. This allows the domain expert to specify control knowledge that is specific to each prototype. Examples are presented which demonstrate how this explicit representation facilitates explanations of the system's reasoning. Further, the organization of knowledge in CENTAUR provides a useful framework for acquiring new knowledge. CENTAUR has been applied to the domain of pulmonary (lung) physiology in which it provides interpretations of pulmonary function tests. The prototypes represent standard pulmonary disease patterns, and the production rules serve as a stylized form of %2attached procedure%1. At the highest level, the stages of the consultation itself are represented in a %2Consultation%1 prototype. Thus the advantages of explicit representation apply to control of the consultation process as well. Other important feaures of the representation include the use of prototypes as a standard of comparison in order to detect inconsistent or erroneous data, and the representation in production rules of domain expertise to deal with data discrepancies and diagnosis refinement. Several experiments demonstrating the flexibility of the representation have also been performed. These include the implementation of different top-level prototype selection strategies (%2confirmation, elimination%1, and %2fixed-order%1), and the use of a second high-level prototype which can review knowledge stored in the domain-level prototypes. -↔- %3HPP-80-16 (STAN-CS-80-815): %2Two Papers on Medical Computing -- (1) Medical Cybernetics: The Chalenges of Clinical Computing, (2) Consultation Systems for Physicians: The Role of Artificial Intelligence Techniques%1 by Edward H. Shortliffe, M.D., Ph.D. (56 pages, July 1980) This memo contains two papers that deal with medical computing. The first, written for a book on cybernetics and society, examines the range of medical computing systems, plus some of the logistical and human engineering challenges limiting their utility or acceptance. It addressed five recurring themes that characterize the introduction of medical computing systems: 1) the need for the proposed application, 2) the system users, 3) the logistics of system introduction, 4) the required computational techniques, and 5) the required technological resources. In the context of these topics, suggestions are offered for long-range research and resource policies that are appropriate for assuring the development of practical clinical computing. The second paper, presented at a meeting on artificial intelligence in May 1980, takes a more detailed look at the reasons that medical computing systems have had a limited impact on clinical medicine. When one examines the most common reasons for poor acceptance for such systems, the potential relevance of artificial intelligence techniques becomes evident. The paper proposes design criteria for clinical computing systems and demonstrates their relationship to current research in knowledge engineering. The MYCIN System is used to illustrate the ways in which one research group has responded to the design criteria cited. -↔- %3STAN-CS-79-816: %2Automating the Study of Clinical Hypotheses on a Time-Oriented Data Base: The RX Project%1 by Robert L. Blum, M.D. (12 pages, November 1979) The existence of large chronic disease data bases offers the possibility of studying hypotheses of major medical importance. An objective of the RX Project is to assist a clinical researcher with the tasks of experimental design and statistical analysis. A major component of RX is a knowledge base of medicine and statistics, organized as a frame-based, taxonomic tree. RX determines confounding variables, study design, and analytic techniques. It then gathers data, analyzes it, and interprets results. The American Rheumatism Association Medical Information System is used. -↔- %3STAN-CS-79-817: %2Analysis of Coalesced Hashing%1 by Jeffrey Scott Vitter (Thesis, 111 pages, August 1980) This thesis analyzes the %2coalesced hashing%1 method, in which a portin of memory (called the %2address region%1) serves as the range of the hash function while the rest of memory (called the %2cellar%1) is devoted solely to storing recrds that collide when inserted. If the cellar should get full, subsequent colliders must be stored in empty slots in the address region and, thus, may cause later collisions. Varying the relative size of the cellar affects search performance. The main result of this thesis expresses he average search times as a function of the number of records and the cellar size, solving the long-standing open problem described in [Knuth, %2The Art of Computer Programming%1, Vol. 3, section 6.4-43]. We use these formulas to pick the cellar size that leads to %2optimum%1 search performance and then show that this "tuned" method is competitive with several well-known hashing schemes. We also address other important practical issues, such as developing good deletion algorithms and efficient implementations, and outline some interesting problems for future research. -↔- %3AIM-341 (STAN-CS-80-818): %2Expression Procedures and Program Derivation%1 by William Louis Scherlis (Thesis, 178 pages, August 1980) We explore techniques for systematically deriving programs from specifications. The goal of this exploration is a better understanding of the development of algorithms. Thus, the intention is not to develop a theory of programs, concerned with the analysis of existing programs, but instead to develop a theory of programming, dealing with the process of constructing new programs. Such a theory would have practical benefits both for programming methodology and for automatic program synthesis. We investigate the derivation of programs by program transformation techniques. By expanding an ordinary language of recursion equations to include a generalized procedure construct (the %2expression procedure%1), our ability to manipulate programs in that language is greatly facilitated. The expression procedure provides a means of expressing information not just about the properties of individual program elements, but also about the way they relate to each other. A set of three operations --- abstraction, application, and composition --- for transforming programs in this extended language is presented. We prove using operational semantics that these operations preserve the strong equivalence of programs. The well-known systems of Burstall and Darlington and of Manna and Waldinger are both based on an underlying rule system that does not have this property. Our transformation system is illustrated with several small examples, which are examined in detail to give insight to the heuristic problems of program development. A tactic of %2program specialization%1 is shown to underlie many of these derivations. While we present no implemented system, some consideration is given to issues related to the development of programming tools. The practical value of our approach is demonstrated in the systematic development of a partial family tree of parsing algorithms, similar in spirit to the treatment of sorting by Darlington and by Green and Barstow. Several intricate parsing algorithms (Earley's, Cocke-Younger-Kasami, and Top-Down) are derived in detail. -↔- %3STAN-CS-80-819: %2Computational Uses of the Manipulation of Formal Proofs%1 by Christopher Alan Goad (Thesis, 122 pages, August 1980) Mechanical procedures for the manipulation of formal proofs have played a central role in proof theory for more than fifty years. However, such procedures have not been widely applied to computational problems. One reason for this is that work in computer science to do with formal proof systems has emphasized the use of formal proofs as evidence -- as tools for automatically establishing the truth of propositions. As a consequence of this emphasis, the problem for mchanizing the construction of proofs has received much attention, whereas the manipulation of proofs -- that is, the conersion of one form of evidence into another -- has not. However, formal proofs can serve purposes other than the presentation of evidence. In particular, a formal proof of a proposition having the form, "for each %2x%1 there is a %2y%1 such that the relation %2R%1 holds between %2x%1 and %2y%1" provides, under the right conditions, a method for computing values of %2y%1 from values of %2x%1. That is, such a proof describes an algorighm %2A%1 where %2A%1 satisfies the specification %2R%1 in the sense that for each %2x%1, %2R(x,A(x))%1 holds. Thus formal proof systems can serve as programming languages -- languages for the formal description of algorithms. A proof which describes an algorithm may be "executed" by use of any of a variety of procedures developed in proof theory. A proof differs from more conventional descriptions of the same algorithm in that it formalizes additional information about the algorithm beyond that formalized in the conventional description. This information expands the class of transformations on the algorithm which are amenabel to automation. For example, there is a class of "pruning" transformations which improve the computational efficiency of a natural deduction proof regarded as a program by removing unneeded case analyses. These transforations make essential use of dependency information which finds formal expression in a proof, but not in a conventional program. Pruning is particularly useful for removing redundancies which arise when a general purpose algorithm is adapted to a special situation by symbolic execution. This thesis concerns (1) computational uses of the additional information contained in proofs, and (2) efficient methods for the representation and transformation of proofs. An extended lambda-calculus is presented which allows compact expression of the computationally significant part of the information contained in proofs. Terms of the calculus preserve dependency data, but can be efficiently executed by an interpreter of the kind used for lambda-calculus based languages such as LISP. The calculus has been implemented on the Stanford Artificial Intelligence Laboratory PDP-10 computer. Results of experiments on the use of pruning transformations in the specialization of a bin-packing algorithm are reported. -↔- %3HPP-80-22 (STAN-CS-80-820): %2A Domain-Independent System That Aids in Constructiong Knowledge-Based Consultation Programs%1 by William van Melle (Thesis, 192 pages, June 1980) This thesis demonstrates an effective domain-independent system, called EMYCIN, for constructing one class of expert computer programs: rule-based consultants. Such a consultant uses knowledge specific to a problem domain to provide consultative advice to a client. Domain knowledge is represented in EMYCIN primarily as production rules, which are applied by a goal-directed backward-chaining control structure. Rules and consultation data may have associated measures of certainty, and incomplete data are allowed. The system includes an explanation facility that can display the line of reasoning followed by the consultation program, or answer questions form the client about the contents of its knowledge base. Other build-in human-engineering features allow the system architect to produce, with a minimum of effort, a consultation program that is pleasing in appearance to the client. To aid the system designer in producing a knowledge base for a domain quickly and accuractely, EMYCIN provides a terse, stylized, but easily understood language for writing rules; performs extensive checks to catch common user errors, such as misspellings; and handles all necessary bookkeeping chores. To improve efficiency in a running consultation program, EMYCIN provides a %2rule compiler%1 that transforms the system's production rules into a decision tree, eliminating the redundant computation inherent in a rule interpreter. It then compiles the resulting tree into machine code. The program can thereby use an efficient deductive mechanism for running the actual consultation, while the flexible rule format remains available for acquisition, explanation, and debugging. Several consultation programs have been written using EMYCIN, including consultants for medical problems and a consultant for a structural engineering problem. -↔- %3STAN-CS-80-821: %2Semiantichains and Unichain Coverings in Direct Products of Partial Orders%1 by Doublas B. West and Craig A. Tovey (20 pages, September 1980) We conjecture a generalization of Dilworth's theorem to direct products of partial orders. In particular, we conjecture that the largest "semiantichain" and the smallest "unichain covering" have the same size. We consider a special class of semiantichains and unichain coverings and determine when equality holds for them. This conjecture implies the existene of %2k%1-saturated partitions. A stronger conjecture, for which we also prove a special case, implies the Greene-Kleitman result on simultaneous %2k%1 and %2(k + 1)%1-saturated partitions. -↔-