September 8, 2004
Axiomatic approach has demonstrated its power in mathematics. The main goal of this preprint 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 preprint 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 preprint 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.
Similar papers 1
July 3, 2012
In this paper, we analyze axiomatic issues of unconventional computations from a methodological and philosophical point of view. We explain how the new models of algorithms changed the algorithmic universe, making it open and allowing increased flexibility and creativity. However, the greater power of new types of algorithms also brought the greater complexity of the algorithmic universe, demanding new tools for its study. That is why we analyze new powerful tools brought for...
August 18, 2021
Although algorithm is one of the central subjects, there have been little common understandings of what an algorithm is. For example, Gurevich view algorithms as abstract state machines, while others view algorithms as recursors. We promote a third view: it is a combination to these two disparate views. This approach -- based on computability logic -- describes an algorithm as $A(I,O)$ where $I$ is a set of input services and $O$ an output service. It leads to the following m...
February 10, 2014
The field of computability and complexity was, where computer science sprung from. Turing, Church, and Kleene all developed formalisms that demonstrated what they held "intuitively computable". The times change however and today's (aspiring) computer scientists are less proficient in building automata or composing functions and are much more native to the world of programming languages. This article will try to introduce typical concepts of computability theory and complexity...
October 29, 2012
In this paper we analyze methodological and philosophical implications of algorithmic aspects of unconventional computation. At first, we describe how the classical algorithmic universe developed and analyze why it became closed in the conventional approach to computation. Then we explain how new models of algorithms turned the classical closed algorithmic universe into the open world of algorithmic constellations, allowing higher flexibility and expressive power, supporting ...
November 15, 2018
It is well known that many theorems in recursion theory can be "relativized". This means that they remain true if partial recursive functions are replaced by functions that are partial recursive relative to some fixed oracle set. Uspensky formulates three "axioms" called "axiom of computation records", "axiom of programs'" and "arithmeticity axiom". Then, using these axioms (more precisely, two first ones) he proves basic results of the recursion theory. These two axioms are ...
April 9, 2004
In the same sense as classical logic is a formal theory of truth, the recently initiated approach called computability logic is a formal theory of computability. It understands (interactive) computational problems as games played by a machine against the environment, their computability as existence of a machine that always wins the game, logical operators as operations on computational problems, and validity of a logical formula as being a scheme of "always computable" probl...
December 14, 2016
This article presents a survey of computability logic: its philosophy and motivations, main concepts and most significant results obtained so far. A continuously updated online version of this article is maintained at http://www.csc.villanova.edu/~japaridz/CL/ .
July 4, 2008
People solve different problems and know that some of them are simple, some are complex and some insoluble. The main goal of this work is to develop a mathematical theory of algorithmic complexity for problems. This theory is aimed at determination of computer abilities in solving different problems and estimation of resources that computers need to do this. Here we build the part of this theory related to static measures of algorithms. At first, we consider problems for fini...
March 22, 2000
We introduce a set of eight universal Rules of Inference by which computer programs with known properties (axioms) are transformed into new programs with known properties (theorems). Axioms are presented to formalize a segment of Number Theory, DataBase retrieval and Computability Theory. The resulting Program Calculus is used to generate programs to (1) Determine if one number is a factor of another. (2) List all employees who earn more than their manager. (3) List the set o...
May 13, 2020
These are notes for the course CS-172 I first taught in the Fall 1986 at UC Berkeley and subsequently at Boston University. The goal was to introduce the undergraduates to basic concepts of Theory of Computation and to provoke their interest in further study. Model-dependent effects were systematically ignored. Concrete computational problems were considered only as illustrations of general principles. The notes are skeletal: they do have (terse) proofs, but exercises, refere...