Algorithms and Running Time

Post on 16-Jan-2016

27 views 0 download

Tags:

description

Algorithms and Running Time Algorithm: Well defined and finite sequence of steps to solve a well defined problem. Eg.,, Sequence of steps to multiply two numbers. Algorithms are meant to solve all instances of problems for which they are designed. - PowerPoint PPT Presentation

Transcript of Algorithms and Running Time

Algorithms and Running Time

Algorithm: Well defined and finite sequence of steps to solve a

well defined problem. Eg.,, Sequence of steps to multiply two numbers.

Algorithms are meant to solve all instances of problems for which

they are designed.

Proof of correctness is important for any algorithm.

Another aspect is Running Time.

Running time is the number of machine instructions it executes

when an algorithm is run on a particular instance.

Proof of correctness + Running Time = Analysis of Algorithm.

Running Time of an AlgorithmAlgorithms behavior to any instance of the problem

Two rules are necessary

Running be given for the worst instance of time.

Make running time depend on the size of the instance being solved.

Running time is a function.

The Running time of an algorithm A is 5N2 + 3n + 72 Where n measures the problem size RT of A becomes O(n2) Big O notation is used to show we are dropping lower order terms.

Algorithms whjich run on O(n) are said to be linear time, While that on O(n2) are quadratic.

An algotrithm running as polynomial on n is more efficient than that running as 2n.

Classification of ProblemsEfficient Algorithms Exist

Belong to Class P

Easy to Solve Problems

Efficient Algorithms do not Exist

We do not know whether efficient algorithm exist or not. It is undecided

i.e. Have not found an efficient algorithm nor do we know if they exist

NP Complete problems: If a solution is found one can check if it runs on polynomial time.

Easy to Check Problems

NP Hard Problems:P and NP problems are Decision Problems.

HPP is a Decision Problem..

Some are optimization Problems. The TSA is a optimization problem.

The decision version of TSA is NP complete, so the optimization version of TSA is NP hard.

GraphsDescribed by two sets

V the set of nodes or vertices

E set of edges

A distinct pairs of vertices Graph G is denoted by

G = (V,E) vertices by u,v or w.

Edges by e or pairs of vertices (u,v)

V = {1, 2, 3, 4}E = { (1, 2),(2, 4),(4,2) (4,1)}

Definitions

Undirected graphs: Edge is unordered pair of vertices [(u,v) = (v,u)]

Directed graph: Edge is an ordered pair of vertices [(u,v) ≠(v,u)]

Path is a list of distinct vertices

A cycle is a path such that it travels and no edge is repeated.

Weighted Graph: We associate a real number with edge. The weight of an edge (u,v) is called it’s cost Distance between u,v.

3, 4}E

Problems with GraphsHamiltonian Path Problem

Given a directed or undirected graph find:

A cycle in the graph such that every vertex appears exactly once (except first and last vertex).

If this is done we have a Hamiltonian Path.

Traveling salesman problem: Some cities are modeled as vertices and roads as edges. Traveling salesman are interested in minimizing the distance when visiting the cities.

Hamiltonian PathGiven a graph G, does there exist a closed path through the graph that visits each vertex once and only once?

Allowed traversal

Allowed traversal

Allowed traversal

Forbidden Traversal, since the circled vertices are not visited. The horizontal and vertical mirror images of this traversal are also forbidden (first and second forbiddentraversals).

Forbidden Traversal, since the circled vertices are not visited. The horizontal and vertical mirror images of this traversals are also forbidden (third and fourth forbidden traversals).

List of resourceswww.usc.edu/dept/molecular-science Leon Adelman (The man who

started it all)

www.dna.caltech.edu/~winfree Links to GOOD reviews

seemanlab4.chem.nyu.edu DNA nanotechnology

How to solve it by Computer R. Dromley, Prentice Hall India.

Computing with DNA

The Hamiltonian Path Problem

Introduction

Watson Crick Pairing

Polymerases

Ligases

Gel Electrophoresis

DNA Synthesis

Why DNA Computing for the Hamiltonian Problem

1 Algorithmically it is now Clear that one needs massive Parallelism to solve HPP.

2 DNA Computing Represents Massive Parallelism.

3 It has been Calculated that DNA can Hold 1bit/nm3

while Silicon Based Computers can Hold 1bit/µm3.

DNA Represents Massive Parallelism

•For a piece of DNA with a length of 20 bases.1ml of 0.001 M solution will contain 1017 molecules.

•Suppose we make a 1015 strands having different base sequences (100 copies of each sequence in solution)

•Introduction 1ml of 0.001 M and among these there are 1014 strands with 1000 copies each.•104 are sequences which are complements to the earlier strands and 1010

are not.These will hybridize with the original strand in an extremely parallel fashion.

•We will find 104 different sequences with 100 copies each

The AlgorithmGiven a graph with n vertices

• Generate a set of random paths through the graph

• For each path in the set:

• Check whether it starts from start vertex and ends with end vertex; if not remove that path from the set.

• Check it that path through exactly n vertices, it not remove that path from the set.

• For each vertex, check if the path passes through the vertex. It not remove that path from the set.

• If the set is not empty Report a Hamiltonian path

• If the set is Empty Report that there is No Hamiltonian Path.

1 Generate a Pool of Random Paths

Synthesize: Complementary DNA City Names (1014 molecules) and DNA flight Numbers (1014 molecules)

Take these, put it together with ligase in about 1 second. One has the answer

Randomly A--B: GCAGTCGG meets Boston Complementary DNA AGCCTGAC by design the A-B sequence ends with TCGG and sequence starts with AGCC.

G C A G T C G G

A G C C T G A C

A G C C T G A C

G C A G T C G G

Boston*

Atlanta - Boston

T G A A C G T C A G C C T G A C

G C A G T C G G A C T G G G C T

Atlanta* Boston*

Boston - Chicago

T G A A C G T C A G C C T G A C C C G A T A C A

G C A G T C G G A C T G G G C T A T G T C C G A

Atlanta* Boston* Detroit*

Atlanta - Boston - Chicago - Detroit

Paths Remaining

1. A-B2. B-A3. B-D4. B-C5. A-D6. C-D7. A-B-C8. A-B-D9. B-C-D10. B-A-D11. A-B-C-D12. A-B-A-D

After I Step in the Algorithm

After II Step of the Algorithm

Paths Left out are:

1. A-D2. A-B-D3. A-B-C-D4. A-B-A-D

After III Step Of the AlgorithmPaths Left are:

1. A-B-C-D2. A-B-A-D

After the Last Step in theAlgorithm

1. A-B-C-D

Deterministic & Non-Deterministic Algorithms Deterministic Algorithms are ones when the

Next Step is Fully Defined : Is x a Multiple of y ?

Non Deterministic Algorithms have Steps that Branch out in Several Directions.

When one goes through A-B or A-D one has to Guess as Well as Split.

Computers based on Molecules Mimic both Guessing & Splitting.

The Future of Computing