Axiomatic Theory of Algorithms

Axiomatic Theory of Algorithms

Axiomatic Theory of Algorithms: Computability and Decidability in Algorithmic Classes Mark Burgin Department of Mathematics University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA 90095 Abstract Axiomatic approach has demonstrated its power in mathematics. The main goal of this paper is to show that axiomatic methods are also very efficient for computer science. It is possible to apply these methods to many problems in computer science. Here the main modes of computer functioning and program execution are described, formalized, and studied in an axiomatic context. The emphasis is on three principal modes: computation, decision, and acceptation. Now the prevalent mode for computers is computation. Problems of artificial intelligence involve decision mode, while communication functions of computer demand accepting mode. The main goal of this paper is to study properties of these modes and relations between them. These problems are closely related to such fundamental concepts of computer science and technology as computability, decidability, and acceptability. In other words, we are concerned with the question what computers and software systems can do working in this or that mode. Consequently, results of this paper allow one to achieve higher understanding of computations and in such a way, to find some basic properties of computers and their applications. Classes of algorithms, which model different kinds of computers and software, are compared with respect to their computing, accepting or deciding power. Operations with algorithms and machines are introduced. Examples show how to apply axiomatic results to different classes of algorithms and machines in order to enhance their performance. Key words: computation, decision, computing mode, accepting mode, computability, computing power, recursive algorithms, super-recursive algorithms 1 Introduction The world of computers and their applications is very complex and sophisticated. It involves interaction of many issues: social and individual, biological and psychological, technical and organizational, economical and political. However, humankind in its development created a system of intellectual “devices” for dealing with overcomplicated systems. This system is called science and its “devices” are theories. When people want to see what they cannot see with their bare eyes, they build and use various magnifying devices. To visualize what is situated very far from them, people use telescopes. To discern very small things, such as microbes or cells of living organisms, people use microscopes. In a similar way, theories are “magnifying devices” for mind. They may be utilized both as microscopes and telescopes. Being very complex these “theoretical devices” have to be used by experts. Complexity of the world of modern technology is reflected in a study of Gartner Group's TechRepublic unit (Silverman, 2000). According to it, about 40% of all internal IT projects are canceled or unsuccessful, meaning that an average of 10% of a company's IT department each year produces no valuable work. An average canceled project is terminated after 14 weeks, when 52% of the work has already been done, the study shows. In addition, companies spend an average of almost $1 million of their $4.3 million annual budgets on failed projects, the study says. However, companies might be able to minimize canceled projects as well as the time for necessary cancellation if they have relevant evaluation theory and consult people who know how to apply this theory. All developed theories have a mathematical ground core. Thus, mathematics helps science and technology in many ways. Scientists are even curious, as wrote the Nobel Prize winner Eugene P. Wigner in 1959, why mathematics being so abstract and remote from reality is unreasonably effective in the natural sciences. It looks like a miracle. So, it is not a surprise that mathematics has its theories for computers and computations. The main of these theories is theory of algorithms. It explains in a logical way how computers function and how they are organized. Here, we are going to investigate functioning of computers, their networks, and other information processing systems. To do this, three main modes of computer functioning are separated: computation, decision, and acceptation. The prevalent mode now is computation. Computers were developed with the goal to compute. However, the development of computer technology and emergence of new kinds of information processing systems essentially extended functions of computers. As a result, solving different problems has become the main goal of computers. This involves mostly decision mode of functioning. Decision-making is a prime goal of artificial intelligence. At the same time, appearance of Internet transformed computers into communication devices. Communication involves receiving and sending information. Sending information is realized in computing mode, while receiving information demands accepting mode. For example, one of the vital problems for computer security is to make a decision whether to accept a message or to reject it because this message contains a virus. The main goal of this paper is to study properties of modes of computer functioning and relations between them. Usually to study properties of computers and to develop more efficient applications, we use mathematical models. There is a variety of such models: Turing machines of different kinds (with one tape and one head, with several tapes, with several heads, with n- dimensional tapes, non-deterministic, probabilistic, and alternating Turing machines, Turing machines that take advice and Turing machines with oracle, etc.), Post productions, partial recursive functions, neural networks, finite automata of different kinds (automata without memory, autonomous automata, accepting automata, probabilistic automata, etc.), Minsky machines, normal Markov algorithms, Kolmogorov algorithms, formal grammars of different kinds (regular, context free, context sensitive, phrase-structure, etc.), Storage Modification Machines or simply, Shönhage machines, Random Access Machines (RAM), Petri nets, which like Turing machines have several forms – ordinary, regular, free, colored, self-modifying, etc.), and so on. This diversity of models is natural and useful because each of these classes is suited for some kind of problems. In other words, the diversity of problems that are solved by computers involves a corresponding diversity of models. For example, general problems of computability involve such models as Turing machines and partial recursive functions. Finite automata are used for text search, lexical analysis, and construction of semantics for programming languages. In addition, different computing devices demand corresponding mathematical models. For example, universal Turing machines and inductive Turing machines allows one to investigate characteristics of conventional computers (Burgin, 2001). Petri nets are useful for modeling and analysis of computer networks, distributed computation, and communication processes (Peterson, 1981). Finite automata model computer arithmetic. Neural networks reflect properties of the brain. Abstract vector and array machines model vector and array computers (Pratt et al,1974) To utilize some kind of models that are related to a specific type of problems, we need to know its properties. In many cases, different classes have the same or similar properties. As a rule, such properties are proved for each class separately. Thus, alike proofs are repeated many times in similar situations involving various models and classes of algorithms. In contrast to this, the axiomatic theory of algorithms suggests a different approach. Assuming some simple basic conditions, we derive in this theory many profound properties of algorithms. This allows one, when dealing with a specific model not to prove this property, but only to check the conditions from the assumption, which is much easier than to prove the property under consideration. Thus, we can obtain various characteristics of types of computers and software systems. In addition, the axiomatic theory of algorithms solves another problem related to the very concept of algorithm. Now there is no consent on the definition of algorithm. Mathematicians and computer scientists are still asking what algorithm is (cf., for example, (Moschovakis, 2001)). Different researches give their own answer to this question. The axiomatic theory of algorithms allows one to derive properties of algorithms without exact specification of the concept of algorithm. Thus, its results are also useful for different concepts considered in theory of algorithm. As the result, this paper develops further the axiomatic approach originated in (Burgin, 1985). It is necessary to remark that logical tools and axiomatic description has been used in computer science for different purposes. For example, Manna (1974) constructed axiomatic theory of programs, while Milner (1989) developed axiomatic theory of communicating processes. All such approaches described by axioms separated objects. For instance, in the theory of Manna, such objects are computer programs, while in the theory of Milner, such objects are communicating computational processes. Consequently, they use local axiomatization. In comparison with those approaches, the approach presented in this paper is global as axioms are used to describe classes of algorithms, programs or automata. 2 Computational Modes in the Axiomatic Context The axiomatic

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us