CT CH 1 ppt
CT CH 1 ppt
(CoSc-4132)
Chapter One
Introduction to complexity theory and
preliminaries on Turing Machine
Discuss the general overview of complexity Theory, System and complex system.
• But it has established that these two seemingly different computational tasks
are in some sense the same (or, more precisely, are computationally
equivalent).
Cont.…
• In general, complexity theory is concerned with problems the solutions of
which are implicit in the problem's statement.
• That is, the problem contains all necessary information, and one merely
needs to process this information in order to supply the answer.
• Thus, complexity theory is concerned with manipulation of information, and its
transformation from one representation (in which the information is given) to
another representation (which is the one desired).
• Indeed, a solution to a computational problem is merely a different
representation of the information given; that is, a representation in which the
answer is explicit rather than implicit.
• For example, the answer to the question of whether or not a given Boolean
formula is satisfiable is implicit in the formula itself (but the task is to make the
answer explicit).
Cont.…
• Thus, complexity theory clarifies a central issue regarding representation;
that is, the distinction between what is explicit and what is implicit in a
representation. Furthermore, it even suggests a quantification of the level of
non-explicitness.
• In general, complexity theory provides new viewpoints on various
phenomena that were considered also by past thinkers.
• Examples include the aforementioned concepts of proofs and representation
as well as concepts like randomness, knowledge, interaction, secrecy and
learning. We next discuss some of these concepts and the perspective offered
by complexity theory.
5
Cont.…
• Complexity theory is the body of knowledge concerning fundamental
principles of computation. Its beginnings can be traced way back in history to
the use of asymptotic complexity and reducibility by the Babylonians.
• Modern complexity theory is the result of research activities in many different
fields:
• biologists studying models for neuron nets or evolution, electrical engineers
developing switching theory as a tool to hardware design, mathematicians
working on the foundations of logic and arithmetic’s, linguists investigating
grammars for natural languages, physicists studying the implications of
building Quantum computers, and last but not least, computer scientists
searching for efficient algorithms for hard problems.
Cont.…
• complexity theory is related to
• Randomness
• Recursive function
• Complexity classes L,P,NP, Pspace
• zero-knowledge interactions
• Cryptography
• probabilistically checkable proofs
• Approximation
• etc.
summary
• Complexity theory is concerned with manipulation of information
• A solution to a computational problem is a different representation of the information
• A representation in which the answer is explicit rather than implicit
• The problem contains all necessary information
• Process the information in order to supply the answer
• E.g. the answer to “is a given Boolean formula satisfiable” is implicit in the formula itself and the
task is to make the answer explicit
• Failed to establish lower bounds on resources
• Showed that many problems computationally equivalent
• All of them have efficient algorithms or all of them do not
• E.g. failed to determine complexity of finding satisfying assignment of boolean formula
(SAT) or 3COL
• In contrast, established that these problems are computationally equivalent
• Study the resources required to solve computational tasks
• time, space(memory)
• Understanding relations between complexity phenomena
• Provides new perspective on various concepts
Turing Machine(TM)
Turing Machine
• TMs are an abstract model of computation. They provide a precise formal definition
of what it means for a function to be computable.
• Turing describes a machine that has an infinitely long tape upon which it writes,
reads and alters symbols.
• He further shows that a machine with the correct minimal set of operations can
calculate anything that is computable, no matter the complexity.
• While it may seem as if the tape is merely the input and output of the machine, it is
not! Nor is the tape just the memory of the machine. In a way the tape is the
computer.
• As the symbols on the tape are manipulated by simple rules, the computing
happens. The output is really more of an artifact of the machine using the tape as the
computer.
10
Cont..
• The heart of the Turing machine is the read-write head. The read-write head
transports the tape and positions cells of the tape appropriately.
• It can read a cell determining what, if any, symbol is written there.
• The machine works on, and knows about, only one cell at a time.
• The Turing machine is not intended to be a functional computing technology;
instead, it is intended as a hypothetical machine that represents a computing
machine.
11
Cont.…
• Turing machines mathematically model a device that mechanically runs using a tape. This
tape includes symbols, which the machine can write and read, one after the other, with the
help of a tape head.
• More specifically, a Turing machine includes the following:
• Tape: A tape that is split into cells, one beside the other. Every cell includes a symbol
from a certain finite alphabet. The alphabet includes a unique blank symbol as well as
one or more other symbols. The volume of tape required for the computation is always
included in the Turing machine.
• Head: A head that is able to write and read symbols on the tape. In certain models, the
head moves while the tape is fixed.
• State register: A state register to store the Turing machine's state. There is a special
start state through which the state register is initialized.
• Finite table: A finite table (sometimes referred to as a transition function or an action
table) of instructions, which are generally quintuples, but occasionally quadruples.
Complex T GS CS 15
Complex T GS CS 16
Turing Machine: Formal Definition
Definition (Turing Machine)
A Turing machine M for a seven-tuple model is given by M=(Q, Γ, B, Σ, q0, F, δ) where