Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Elaine Kant is active.

Publication


Featured researches published by Elaine Kant.


IEEE Transactions on Software Engineering | 1985

Understanding and Automating Algorithm Design

Elaine Kant

Algorithm design is a challenging intellectual activity that provides a rich source of observation and a test domain for a theory of problem-solving behavior. This paper describes a theory of the algorithm design process based on observations of human design and also outlines a framework for automatic design. The adaptation of the theory of human design to a framework for automation in the DESIGNER system helps us understand human design better, and the implementation process helps validate the framework. Issues discussed in this paper include the problem spaces used for design, the loci of knowledge and problem-solving power, and the relationship to other methods of algorithm design and to automatic programming as a whole.


Information Processing and Management | 1984

Problem solving techniques for the design of algorithms

Elaine Kant; Allen Newell

Abstract By studying the problem-solving techniques that people use to design algorithms we can learn something about building systems that automatically derive algorithms or assist human designers. In this paper we present a model of algorithm design based on our analysis of the protocols of two subjects designing three convex hull algorithms. The subjects work mainly in a data-flow problem space in which the objects are representations of partially specified algorithms. A small number of general-purpose operators construct and modify the representations; these operators are adapted to the current problem state by means-ends analysis. The problem space also includes knowledge-rich schemas such as divide and conquer that subjects incorporate into their algorithms. A particularly versatile problem-solving method in this problem space is symbolic execution, which can be used to refine, verify, or explain components of an algorithm. The subjects also work in a task-domain space about geometry. The interplay between problem solving in the two spaces makes possible the process of discovery. We have observed that the time a subject takes to design an algorithm is proportional to the number of components in the algorithms data-flow representation. Finally, the details of the problem spaces provide a model for building a robust automated system.


IEEE Transactions on Software Engineering | 1981

The Refinement Paradigm: The Interaction of Coding and Efficiency Knowledge in Program Synthesis

Elaine Kant; David R. Barstow

A refinement paradigm for implementing a high-level specification in a low-level target language is discussed. In this paradigm, coding and analysis knowledge work together to produce an efficient program in the target language. Since there are many possible implementations for a given specification of a program, searching knowledge is applied to increase the efficiency of the process of finding a good implementation. For example, analysis knowledge is applied to determine upper and lower cost bounds on alternate implementations, and these bounds are used to measure the potential impact of different design decisions and to decide which alternatives should be pursued. In this paper we also describe a particular implementation of this program synthesis paradigm, called PSI/SYN, that has automatically implemented a number of programs in the domain of symbolic processing.


Artificial Intelligence | 1983

On the efficient synthesis of efficient programs

Elaine Kant

Abstract Efficiency is a problem in automatic programming—both in the programs produced and in the synthesis process itself. The efficiency problem arises because many target-language programs (which vary in their time and space performance) typically satisfy one abstract specification. This paper presents a framework for using analysis and searching knowledge to guide program synthesis in a stepwise refinement paradigm. A particular implementation of the framework, called libra , is described. Given a program specification that includes size and frequency notes, the performance measure to be minimized, and some limits on synthesis resources, libra selects algorithms and data representations and decides whether to use ‘optimizing’ transformations. By applying incremental, algebraic program analysis, explicit rules about plausible implementations, and resource allocation on the basis of decision importance, libra has guided the automatic implementation of a number of programs in the domain of symbolic processing.


IEEE Transactions on Software Engineering | 1985

The Roles of Execution and Analysis in Algorthm Design

David M. Steier; Elaine Kant

The analysis and execution of partial algorithm descriptions is an important part of the algorithm design process (as is borne out by studying the behavior of human algorithm designers). In this paper, we describe a language for representing partially designed algorithms and a process, developmental evaluation, that can discover useful knowledge to guide design. Using these and other results from our research in artificial intelligence, we are building a system, DESIGNER, that automatically designs algorithms. This paper also compares developmental evaluation to execution and analysis techniques used for testing complete programs and for validation of abstract specifications; concepts similar to those found in developmental evaluation are thus shown to apply to all stages of the software life cycle.


Proceedings of the IEEE/IAFE 1997 Computational Intelligence for Financial Engineering (CIFEr) | 1997

Numerical options models without programming

Curt Randall; Elaine Kant

The authors describe the automatic generation of finite difference codes for solving the Black-Scholes and related equations for option valuation using the SCINAPSE software synthesis system. Analysts can specify codes at a very high level that mirrors the mathematical description of the problem. A typical option pricing specification occupies less than a half page. From such concise input, the system automatically generates validated, documented codes of several hundred lines of either C or Fortran in minutes, codes of several thousand lines in about an hour.


Intelligence\/sigart Bulletin | 1980

Review of "Principles of Artificial Intelligence by Nils J. Nilsson", Tioga Publishing Co.

Elaine Kant

Nils Nilssons new book, (Principles of Artificial Intelligence) (Tioga Publishing Co., 1980) discusses some basic ideas underlying different applications of AI. The book, designed as a text for a senior or first-year graduate course, aims to fill a gap between theory and practice. It succeeds in building a good solid arch outward from the shore of theory, but only a few support beams anchor the bridge to the shore of practice.


Int. CMG Conference | 1985

Programming expert systems in OPS5: an introduction to rule-based programming

Lee Brownston; Robert G. Farrell; Elaine Kant; Nancy Martin


Archive | 1997

System and method for financial instrument modeling and valuation

Elaine Kant; Curt Randall


Archive | 2001

System and method for financial instrument modeling and using monte carlo simulation

Elaine Kant; Curt Randall

Collaboration


Dive into the Elaine Kant's collaboration.

Top Co-Authors

Avatar

Allen Newell

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lee Brownston

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Robert G. Farrell

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David M. Steier

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David Notkin

University of Washington

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge