1 / 31

Capabilities of computing systems

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

alfredb
Download Presentation

Capabilities of computing systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capabilities of computing systems • Numeric and symbolic Computations • A look at Computability theory • Turing Machines

  2. 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?

  3. 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

  4. 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.

  5. 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.

  6. 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

  7. 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]

  8. 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.

  9. 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

  10. 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

  11. 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

  12. 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.

  13. 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

  14. 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

  15. 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.

  16. 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.

  17. 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….

  18. 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.

  19. 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.

  20. 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.

  21. 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….

  22. 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.

  23. 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.

  24. 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.

  25. Turing machines and algorithms • Church Turing Thesis • Church (Lambda calculus) • Turing (Turing machines) • Showed that algorithms are equivalent • And unsolvability of problems.

  26. TMs • Popularity • For describing algorithms • For showing unsolvabilities

  27. 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

  28. 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.

  29. 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

  30. Solutions • 10001 and halts • Prints successively 1001, 10001, 100001, and so on without halting

  31. 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

More Related