Title: Capabilities of computing systems
1Capabilities of computing systems
- Numeric and symbolic Computations
- A look at Computability theory
- Turing Machines
2Objectives
- 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?
3Numeric 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
4Need 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.
5Symbolic 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.
6What 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
7Mathematica
- It is a symbolic computing package.
- Wolfram Research Inc.
- http//www.wolfram.com/mathematica/
- Some commands
- Nexpr,I eg Npi,250
- Factorial example 200!
- Simplifyexpr, Factorexpr, Solveequation,unkno
wn (systems) - Expandexpr, Dexpr,x, Integrateexpr,x
8Implementation
- 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.
9An example
Curve fitting
Linear equation
Solvex2 3 0
x2 3 0
a1,b0,c3
Quadratic equation
User Interface
Equation Solver
Compute the two roots
User
1.732
Display Results on screen
1.732
Cubic equation
Plotting
10A 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.Turings model
ingenious - captures the essence of computing
12A 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.
13The Turing Machine (contd)
- 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
14TM (contd)
- 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
15Transitions 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.
16TM
- 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.
17An 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. s2bb111bb.
- s2.bb101bb. s2bb100bb.
- s3.bb100bb.
18Tm 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.
19TM 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.
20TM
- 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.
21An 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. s2bb111bb.
- s2.bb101bb. s2bb100bb.
- s3.bb100bb.
22Tm 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.
23TM 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.
24Examples
- 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 1s in each
string becomes odd.
25Turing machines and algorithms
- Church Turing Thesis
- Church (Lambda calculus)
- Turing (Turing machines)
- Showed that algorithms are equivalent
- And unsolvability of problems.
26TMs
- Popularity
- For describing algorithms
- For showing unsolvabilities
27The 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
28Not decidable
- If it is , T is a TM to do this task.
- Construct H to read ltMgt and run T on ltM Mgt.
- Reject if T accepts , accept if T rejects.
- Run H with ltHgt as input
- Contradiction accepts if reject and reject if
accepts - Hence no T exists.
29Problems
- 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
30Solutions
- 10001 and halts
- Prints successively 1001, 10001, 100001, and so
on without halting
31Problem
- 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