310 likes | 333 Views
Capabilities of computing systems. Numeric and symbolic Computations A look at Computability theory Turing Machines. Objectives. What is numeric computation Popularity, applications Limitations What is symbolic computation
E N D
Capabilities of computing systems • Numeric and symbolic Computations • A look at Computability theory • Turing Machines
Objectives • What is numeric computation Popularity, applications Limitations • What is symbolic computation • Is is theoretically possible to solve all mathematical problems by computers? An intoduction to the study of this problem?
Numeric computation • The earliest and most important application – number cruching • Virtually all applications that we come across are numeric. • Eg virtual reality.- High resolution, very fast graphics with multimedia and specialized input output devices. Encryption, decryption/ Data bases
Need for more than numeric computing • Many mathematical tasks are dealt with in a symbolic way by human beings. eg. Simplify a polynomial Solve equations factorize polynomials Similarly, computing pi to a large number of decimal places, factorials of large numbers would not fall within the range of numeric data handled by a computer.
Symbolic Computing Area dealing with a new type use of computers in mathematics, science and engineering. Can enhance significantly the types of problems humans can use computers for.
What is symbolic computing • Solving problems expressed in terms of `symbols’ or variables like x and y instead of numeric values is called symbolic computing • Laborious tasks like expanding (1 + x + 3y) 4 or solving (x 10 –1) can be given to computers
Mathematica • It is a symbolic computing package. • Wolfram Research Inc. • http://www.wolfram.com/mathematica/ • Some commands • N[expr,I] eg N[pi,250] • Factorial example: 200! • Simplify[expr], Factor[expr], Solve[equation,unknown] (systems) • Expand[expr], D[expr,x], Integrate[expr,x]
Implementation • Some of these tasks are simple, and have a simple interface to a numeric version of the problem and its solution • Some tasks are more difficult and require techniques from artificial intelligence, using symbolic logic and complicated searches.
An example Curve fitting Linear equation Solve[x2 – 3 = 0] x2 – 3 = 0 a=1,b=0,c=3 Quadratic equation User Interface Equation Solver Compute the two roots User + 1.732 Display Results on screen + 1.732 Cubic equation Plotting
A model of a computing agent • Accepts input • Store and retrieve information • Can take actions according to algorithmic instructions; actions depend on present state of the computing agent and the input • 4. Produce output
Theory of computationEarly studies on formalizing proofs, before modern computers.Study of the nature of proofs. Formalizing, validating and mechanizing proofs.Many statements cannot be proved using a system.Led to a study of the nature of computation itself.Different models of computation and computing agents.Turing’s model – ingenious - captures the essence of computing
A Turing machine • A conceptual model • An infinite tape , extending in both the directions left and right. • Tape divided into cells, each can contain a symbol, from a finite set of symbols called the alphabet. • Special symbol b – blank, 1 , 0 and other symbols, placeholders or markers.
The Turing Machine (cont’d) • At any time only a finite number of cells contain nonblank symbols. • Tape holds input to a TM/ input must be a finite string of nonblank symbols from the alphabet (a finite set of symbols). • TM writes its output to tape using same set of symbols. • Tape also serves as memory
TM (cont’d) • The TM has a `state’ at any time, which is one of a finite set of states of a TM, labeled 1,2, ….k. • Also, at a time, its `head’ is on a particular cell and it can read that cell. • Based on state and input read, it does three things. • Writes a symbol to the cell (replacing if needed) • Go to new state • Move one cell left or right
Transitions or instructions • A typical TM transition rule or instruction says: If you are in state i and read symbol j then Write symbol k on tape, and go to state s, and move in direction d. It is of the form (i,j,k,s,d) (current state, input symbol, next symbol, next state, move) A set of such instructions defines a TM.
TM • TM starts from state 1. • Finds an instruction to apply, for present sate and input and applies the instruction. • Repeats the above. • If there is no instruction applicable, TM halts. • Assumption: For one state input pair, there is at most one instruction applicable.
An exampleA TM for converting 011 to 100 • (1,0,1,2,R) • (1,1,1,2,R) • (2,0,1,2,R) • (2,1,0,2,R) • (2,b,b,3,L) s1….bb011bb…. s2…bb111bb…. s2….bb101bb…. s2…bb100bb…. s3….bb100bb….
Tm as a computing agent • Satisfies all criteria. • Can be built for all computable problems - see later. Can solve more than real or practical computers, as infinite memory is there.
TM as an algorithm • An algorithm: 1. Well ordered collection. 2. contains unambiguous and effectively computable operations. 3. Halt in finite amount of time. (Problem) For `correct input’ halts. 4. Produce an output.
TM • TM starts from state 1. • Finds an instruction to apply, for present sate and input and applies the instruction. • Repeats the above. • If there is no instruction applicable, TM halts. • Assumption: For one state input pair, there is at most one instruction applicable.
An exampleA TM for converting 011 to 100 • (1,0,1,2,R) • (1,1,1,2,R) • (2,0,1,2,R) • (2,1,0,2,R) • (2,b,b,3,L) s1….bb011bb…. s2…bb111bb…. s2….bb101bb…. s2…bb100bb…. s3….bb100bb….
Tm as a computing agent • Satisfies all criteria. • Can be built for all computable problems - see later. Can solve more than real or practical computers, as infinite memory is there.
TM as an algorithm • An algorithm: 1. Well ordered collection. 2. contains unambiguous and effectively computable operations. 3. Halt in finite amount of time. (Problem) For `correct input’ halts. 4. Produce an output.
Examples • Bit inverter: (1,0,1,1,R) (1,1,0,1,R) • A parity bit machine: (1,1,1,2,R) (1,0,0,1,R) (2,1,1,1,R) (2,0,0,2,R) (1,b,1,3,R) (2,b,0,3,R) An extra bit called odd parity bit is attached to each string such that the number of 1’s in each string becomes odd.
Turing machines and algorithms • Church Turing Thesis • Church (Lambda calculus) • Turing (Turing machines) • Showed that algorithms are equivalent • And unsolvability of problems.
TMs • Popularity • For describing algorithms • For showing unsolvabilities
The Halting Problem of TMs • Given a Turing machine M (encoded) and an input I can it be decided whether the Turing machine accepts or does not accept. • --------------------------------------------------- • (Special states accept) • (Special states reject) • Else loops
Not decidable • If it is , T is a TM to do this task. • Construct H to read <M> and run T on <M M>. • Reject if T accepts , accept if T rejects. • Run H with <H> as input • Contradiction – accepts if reject and reject if accepts • Hence no T exists.
Problems • Find the output of the TM (1,1,1,2,R) (1,0,0,2,R) (1,b,1,2,R) (2,0,0,2,R) (2,1,0,1,R) When run on the tape…. bbb1001bbbb… • Describe the behaviour of a TM (1,1,1,1,R) (1,0,0,2,L) (2,1,0,2,L) (2,b,1,3,L) (3,b,b,1,R) on the input bbb101bbb
Solutions • 10001 and halts • Prints successively 1001, 10001, 100001, and so on without halting
Problem • Write a TM that begins on a tape containing a single 1 and never halts but successively displays the strings • ..b1b… • …010… • 00100…. • And so on