CS301 Complexity of Algorithms
Lecture 1
October 3rd, 2017
”” is not an algorithmic problem.
”integer addition” is an algorithmic problem.
is the set of all binary string.
Formally, .
Lecture 2
October 6th, 2017
All data can be encoded with . is an algorithmic problem. An algorithm is a solution to said problem.
It has to terminate in a finite number of steps and must be finitely representable.
is a decision problem. Very often we can reduce an arbitrary algorithmic problem to a decision problem.
The algorithmic problem , provided you have a finite upper bound, can be calculated through repeated calls to
Limits of Computation
Goal: answer whether an algorithmic problem…
- can be solved by a computer
- can be solved efficiently by a computer
Notation:
- denotes the representation of object
- a pair can be encoded as in the alphabet , then encoded with , , .
Decision problem , can be identified with language . The problem of computing is equivalent to deciding .
Reduce to Hamiltonian cycle test: weight 1
on non-edges, 0
on edges.
Elemental operations:
- Read a bit from input or scratch pad.
- Write bit to scratch pad.
- Either stop, output
0
or1
, or choose a new rule that will be applied next (branching).