refined Computation Information, explanation, recent texts, monographs, and related patents.
Information & explanations, latest texts & monographs on Computation (including recent related patents.)


Computation

Computation can be actually defined as finding a solution to a problem from given inputs by means of an algorithm. This is what the theory of computation, a subfield of computer science and mathematics, deals with. For thousands of years, computing was done with pen and paper, or chalk and slate, or mentally, sometimes with the aid of tables. The theory of computation began early in the twentieth century, before modern electronic computers had been invented. At that time, mathematicians were trying to find which math problems can be solved by simple methods and which cannot. The first step was to define what they meant by a "simple method" for solving a problem. In other words, they needed a formal model of computation. Several different computational models were devised by these early researchers. One model, the Turing machine, stores characters on an infinitely long tape, with one square at any given time being scanned by a read/write head. Another model, recursive functions, uses functions and function composition to operate on numbers. The lambda calculus uses a similar approach. Still others, including Markov algorithms and Post systems, use grammar-like rules to operate on strings. All of these formalisms were shown to be equivalent in computational power -- that is, any computation that can be performed with one can be performed with any of the others. They are also equivalent in power to the familiar electronic computer, if one pretends that electronic computers have infinite memory. Indeed, it is widely believed that all "proper" formalizations of the concept of algorithm will be equivalent in power to Turing machines; this is known as the Church-Turing thesis. In general, questions of what can be computed by various machines are investigated in computability theory. The theory of computation studies these models of general computation, along with the limits of computing: Which problems are (provably) unsolvable by a computer? (See the halting problem and the Post correspondence problem.) Which problems are solvable by a computer, but require such an enormously long time to compute that the solution is impractical? (See Presburger arithmetic.) Can it be harder to solve a problem than to check a given solution? (See complexity classes P and NP). In general, questions concerning the time or space requirements of given problems are investigated in complexity theory. In addition to the general computational models, some simpler computational models are useful for special, restricted applications. Regular expressions, for example, are used to specify string patterns in UNIX and in some programming languages such as Perl. Another formalism mathematically equivalent to regular expressions, Finite automata are used in circuit design and in some kinds of problem-solving. Context-free grammars are used to specify programming language syntax. Non-deterministic pushdown automata are another formalism equivalent to context-free grammars. Primitive recursive functions are a defined subclass of the recursive functions. Different models of computation have the ability to do different tasks. One way to measure the power of a computational model is to study the class of formal languages that the model can generate; this leads to the Chomsky hierarchy of languages. The following table shows some of the classes of problems (or languages, or grammars) that are considered in computability theory (blue) and complexity theory (green). If class X is a strict subset of Y, then X is shown below Y, with a dark line connecting them. If X is a subset, but it is unknown whether they are equal sets, then the line is lighter and is dotted. Decision Problem Type 0 (Recursively enumerable) Undecidable Decidable EXPSPACE EXPTIME PSPACE Type 1 (Context Sensitive) PSPACE-Complete Co-NP NP BPP BQP NP-Complete P NC P-Complete Type 2 (Context Free) Type 3 (Regular) For Further Reading
  • Garey, Michael R., and David S. Johnson: Computers and Intractability: A Guide to the Theory of NP-Completeness. New York: W. H. Freeman & Co., 1979. The standard reference on NP-Complete problems - an important category of problems whose solutions appear to require an impractically long time to compute.
  • Hein, James L: Theory of Computation. Sudbury, MA: Jones & Bartlett, 1996. A gentle introduction to the field, appropriate for second-year undergraduate computer science students.
  • Hopcroft, John E., and Jeffrey D. Ullman: Introduction to Automata Theory, Languages, and Computation. Reading, MA: Addison-Wesley, 1979. One of the standard references in the field.
  • Taylor, R. Gregory: Models of Computation. New York: Oxford University Press, 1998. An unusually readable textbook, appropriate for upper-level undergraduates or beginning graduate students.
  • The Complexity Zoo: A huger list of complexity classes, as reference for experts.

This article contains some content from an article by Nancy Tinkham, originally posted on Nupedia. This article is open content.

This article is adapted from from Wikipedia All Wikipedia article text is available under the terms of the GNU Free Documentation License

Introduction to the Theory of Computation by Michael Sipser

Introduction to Automata Theory, Languages, and Computation (2nd Edition) by John E. Hopcroft

Quantum Computation and Quantum Information by Michael A. Nielsen

Matrix Computations (Johns Hopkins Series in the Mathematical Sciences) by Gene H. Golub

Nanosystems: Molecular Machinery, Manufacturing, and Computation by K. Eric Drexler

Principles of Data Mining (Adaptive Computation and Machine Learning) by David J. Hand

Working With Numbers: Refresher: Computation-Algebra-Geometry by Meredith Edgley O'Reilly

Algorithms + Data Structures = Programs (Prentice-Hall Series in Automatic Computation) by Niklaus Wirth

Using MPI - 2nd Edition: Portable Parallel Programming with the Message Passing Interface (Scientific and Engineering Computation) by William Gropp

Turing (A Novel about Computation) by Christos H. Papadimitriou

Introduction to Automata Theory, Languages, and Computation by John E. Hopcroft

Reinforcement Learning: An Introduction (Adaptive Computation and Machine Learning) by Richard S. Sutton

Feynman Lectures on Computation by Richard P. Feynman

Blondie24: Playing at the Edge of AI by David Fogel

Betcha! Estimating (Mathstart, Level 3) by Stuart J. Murphy


Recent Computation related patents

From USPTO:
6718542: Disambiguating memory references based upon user-specified programming constraints
6718540: Data processing system and method for storing data in a communication network
6718538: Method and apparatus for hybrid checkpointing
6718523: Reduced pessimism clock gating tests for a timing analysis tool
6718520: Method and apparatus for selectively providing hierarchy to a circuit design
6718511: Method and apparatus to detect a signal received from a channel signal
6718504: Method and apparatus for implementing a data processor adapted for turbo decoding
6718501: Copy protected digital audio compact disc and method and system for producing same
6718493: Method and apparatus for selection of ARQ parameters and estimation of improved communications
6718486: Fault monitor for restarting failed instances of the fault monitor
6718475: Multi-processor mobile computer system having one processor integrated with a chipset
6718465: Reconfigurable inner product processor architecture implementing square recursive decomposition of partial product matrices
6718457: Multiple-thread processor for threaded software applications
6718438: Using feedback to determine the size of an object cache
6718435: Method and system for migrating data in a raid logical drive migration
6718431: Apparatus and method for pipelined memory operations
6718429: Configurable register file with multi-range shift register support
6718413: Contention-based methods for generating reduced number of interrupts
6718356: In-place operation method and apparatus for minimizing the memory of radix-r FFTs using maximum throughput butterflies
6718355: Systems and methods for a partial sum digital fir filter
6718346: Generating summary data for a requested time period having a requested start time and end time a plurality of data records
6718324: Metadata search results ranking system
6718315: System and method for approximating probabilities using a decision tree
6718314: Multi-purpose transaction card system
6718309: Continuously variable time scale modification of digital audio signals
6718294: System and method for synchronized control of system simulators with multiple processor cores
6718293: Etching and growth simulation method using a modified cell model
6718270: Vibration testing device and vibration response evaluating method
6718266: Determination of dipole shear anisotropy of earth formations
6718265: Petrophysical property estimation using an acoustic calibration relationship
6718264: Method for acquiring azimuth information
6718261: Architecture for real-time maintenance of distributed mission plans
6718253: Method for forming an actuating variable
6718252: Control apparatus for internal combustion engine
6718248: System for detecting surface profile of a driving road
6718245: Electronic control system for construction machinery
6718233: Placement of an optical component on a substrate
6718193: Method and apparatus for analyzing vessels displayed as unfolded structures
6718189: Method and apparatus for non-invasive blood analyte measurement with fluid compartment equilibration
6718174: Method and apparatus for estimating velocity of a terminal in a wireless communication system
6718162: Receiver for a CDMA mobile radiocommunication system
6718138: Digital-signal quality monitoring method and communications apparatus using this method
6718127: Heating device of the light irradiation type
6718099: Pin insertion tool and method for measuring endface surface topography of multi-fiber fiberoptic connectors
6718080: Optical programmable delay system
6718072: Image conversion method, image processing apparatus, and image display apparatus
6718068: Noise reduction method utilizing statistical weighting, apparatus, and program for digital image processing
6718066: Method and apparatus for coding an image object of arbitrary shape
6718063: Method and apparatus for computing the similarity between images

Bibliographic Resources
Updates and comments at Essential Facts blog
Are you interested in Feng Shui?
Price Theory Resources
Fructose, Sucrose, Glucose Core Bibliography
World Class Photographers
Some philosophical movements
Top PDF and eBook Downloads
©2004, All applicable rights reserved.