next up previous contents
Next: References of the Section Up: Research Activites in 1996 Previous: Research Activites in 1996

Integration of Deductive and Inductive Synthesis of Programs
J.Penjam)

The perspectives of integration of inductive and deductive synthesis of programs were studied in 1996. The following items can be forwarded as results:

The motivation. Deductive program synthesis have proven itself as well formed and powerful method for software construction from declarative specification. This is straightforward to use the method for solving computational tasks in engineering, first of all, in well formalised problem domains. To use machine learning and inductive programming would support construction of formal specification of problems. To model human intelligent activities that is based on different reasoning principles, this is another motivation to the research

The goal of the study is to develop further AI techniques used in problem solving and elaborate principles of a technological environment for software engineering that relates to the methods studied.

Research object. A modern system of artificial intelligence (AI) is a distributed system of intelligent agents. Behaviour of whole system can be considered as interaction between agents within the system as well as between agents and the environment surrounding the system. every single agent attempts to solve a problem that is a part of the problem to be solved by the system. At any moment an agent analyses data received by preception about changes in its environment (i.e. changes both in other agents and aspects of the surroundings of the system) and take the corresponding "rational" decision for further actions. This decision depends on the perception, on knowledge stored in the knowledge base of the agent and on its built-in inference engine. The agent is assumed to be active, that means that the agent can initiate queries or tasks to other agents of the system or in the environment and look for additional information form available sources, for example form data bases.

An intelligent agent is intended to imitate intellectual activities of human being (accordingly to the Turing test to user of AI system should be formed an imagery that he is communicating with other human). This concludes deductive inference and decision making as well as the agent's self-analysis of its behaviour so far, generalisation of experiences and learning.

More detailed goal of this study is to specification and implementation of agents based on Tõugu's computational models (computational models in the rest) for knowledge representation and using intuitionistic propositional calculus when reasoning. Existing deductive inference engine used for structural program synthesis is planned to complement with an inductive component enabling to use information given by examples and involve machine learning techniques in problem solving. More adaptivity of deductive reasoning subsystem (used in the NUT system) for real-time changes in the environment and usage of "fuzzy" knowledge in specifications is expected.

Although the main principles of inductive programming and machine learning are same in general in all AI systems, particular algorithms widely depend on used knowledge representation methods. Integration of deductive and inductive inference methods require to develop unified data structures, to find "rational" heuristics that assure tractability of inductive method.

On results of year 1996. The project is planned to run in years 1996 - 1999. Up to some extent, the first project year was preparatory addressed to more precise planning of future research activities.

  1. The study of state-of-art in inductive programming techniques and their adaptivity to the paradigm of computational models for knowledge. Particularly, the following techniques have been investigated in details:

    These results are presented in the Research Report CS88/96 [1] written by Sergei Tupailo and in the drat version of the Research Report on hidden Markov models and adaption of finite automata. Among the rest, latter report describes experiments of learning finite automata in the NUT system realiseerimine demonstreeritava arvutisüsteemi kujul. Arvestades piiratud ressursse, on environment.

  2. An important component of the project is to demonstrate new proposed techniques by implementation of corresponding computer system. Taking into consideration limited resources, it is reasonable to develop of separated version of the knowledge-based system NUT. This requires re-engineering of several components of the system, first of all input language and program synthesiser. This would be based on unified algorithm for program synthesis from logical specifications of programs. There are promising results towards such unified algorithm obtained by Tarmo Uustalu and Varmo Vene (research project "A Cube of Proof-systems for Intuitionistic Predicate mu,nu-logic", financed previously by Swedish foundations, there is the dedicated grant project no 386 / 2981of the ESF to continue these investigations). The results of this study have been presented at the workshop in Jäneda and at the 8th Nordic Workshop on Programming Theory [4] .

    Within the project several components of the NUT system were re-designed and implemented once more. This was done taking into account strategic goals and supporting modularization of the system that would support independent implementation of different versions of the system in future years.

    Agents are intended to act in the environment of systems developed on different platforms. Thus, inteoprability is an important character of agent systems. Possibilities and different solutions for increasing of interoperability of knowledge-based systems in general and the NUT system in particular were studied in 1996. Standard data structures and related algorithms were developed allowing co-operation of different agents implemented on platform of NUT between themselves and with UNIX and C systems as well as with different simulation tools (foe instance MatLab). To achieve this goal, there are added dynamic link libraries, automatic construction of programs in C (until now there was implemented synthesis of programs in internal language of the system, user interface of the system has been unified with standard functions of the X Windows system. New object memory system allow present large object models and solve complex problems. Ongoing study of development parallel NUT system and debugging facilities of the system will hopefully promote to achieve goals of this project as involvement of inductive method will cause tremendous growth of needed data structures.

    Developments above are described more precisely in Sec. gif.

To utilise the results the studies should be accompanied by development of suitable techniques for usage of the system. This is planned to develop in co-operation with teleinformatics department of KTH. This includes first of all development of tools and methods for graphical specification of concepts and objects as well as accompanying techniques and tools for knowledge engineering (for instance, OMT method in the NUT environment). There are also important to impact of distributed nature of knowledge and the system on technology and engineering when knowledge-based systems are used. There are certain hopes to use results obtained on attributed models of computing and its applications for specification of protocols and distributed systems in particular (see in Sec. gif).




next up previous contents
Next: References of the Section Up: Research Activites in 1996 Previous: Research Activites in 1996

Jaan Penjam
Thu Jan 23 11:38:07 EET 1997