Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exhaustive Search. Brute Force Methods  guarantee best fitness value is found  feasible for ‘small’ data sets only.

Similar presentations


Presentation on theme: "Exhaustive Search. Brute Force Methods  guarantee best fitness value is found  feasible for ‘small’ data sets only."— Presentation transcript:

1 Exhaustive Search

2 Brute Force Methods  guarantee best fitness value is found  feasible for ‘small’ data sets only

3 SAT satisfiability problem  set of propositions prop[n]  fitness function logical expression based on propositions boolean fitness(prop)  try all 2 n combinations of T/F for propositions

4 boolean fitness(boolean b[]) //fitness function boolean [] prop = new boolean[n]; boolean satisfied = sat(n-1); boolean sat (int index) // find a solution {if (index==0) //base case { prop[0] = true; if fitness(prop) return true; prop[0] = false; return fitness(prop); } prop[index] = true; // recursive if (sat(index-1)) return true; prop[index] = false; return sat(index-1); }.....T..F.FT.TT.TF.FF FFTFTTFTFFFFTFTTTTTTFTFF 210210...

5 efficiency without risk  pruning the tree: suppose fitness(prop) is (p 0 \/ ~p 1 ) /\ (~p 2 )  partial evaluation.....T..F.FT.TT.TF.FF FFTFTTFTFFFFTFTTTTTTFTFF... 210210 nodes can be ignored: fitness can not be true

6 TSP travelling salesman  directed edges, complete graph: exhaustive search is the permutation problem enumerate all n! permutations of n distinct items (cities) {0,2,3,…,n-1} 1 2 0 3 ijij 0123 0. 1. 2. 3. rank in path array 3142 0123 D[i][j]

7 TSP travelling salesman O(n n ) input(V) // number of cities (Vertices) int[V] rIP // rankInPath, initialized to 0==not ranked visit(1) // generate visiting sequences void visit(int rank) { for (city = 0 to V-1) if (rIP[city] == 0) // not yet visited { rIP[city] = rank; if (rank == V) fitness(rIP) else visit(rank+1) rIP[city] = 0 } fitness(int[] p) calculate pathlength from D[i][j] if bestpath, save p fitness(int[] p) calculate pathlength from D[i][j] if bestpath, save p

8 efficiency without risk  fix first city  O((n-1) n-1 )  use sets instead of searching array  O((n-1)!)  keep partial fitness values reduce cost of fitness evaluation apply branch and bound BUT…still O(e n )

9 Variations on TSP  undirected edges: D[i][j] == D[j][i]  incomplete graph: some D[i][j] = null  Euclidean distances (on a plane) cities are located on plane at (x i,y i ) D[i][j] is computed from coordinates: D[i][j] = D[j][i] = sqrt((x i -x j ) 2 + (y i -y j ) 2 )  other data structures, efficiencies

10 Continuous problem spaces Where is height of land? 1. what scale to sample? x  [0,1], y  [0,1] interval length: 0.1: 100 data points 0.01: 10,000 0.001: 1,000,000 --- x  --- y 

11 Continuous problem spaces Where is height of land? 1. what scale to sample? x  [0,1], y  [0,1] interval length: 0.1: 100 data points 0.01: 10,000 0.001:1,000,000 --- x  --- y 

12 Continuous problem spaces Where is height of land? 2. constraints – ignore water fewer data points but constraints must be tested --- x  --- y 

13 Continuous problem spaces Where is height of land? 3. where to locate sample --- x  --- y 

14 Continuous problem spaces - NLP N on- L inear P rogramming problems Typical problems are functions of multiple variables over domains of each Maximize f(x 1,x 2,x 3,…,x n ) for x 1  D 1, x 2  D 2, x 3  D 3,…, x n  D n NLP problems are NP complete *Linear Programming problems are polynomial solvable O(n k )


Download ppt "Exhaustive Search. Brute Force Methods  guarantee best fitness value is found  feasible for ‘small’ data sets only."

Similar presentations


Ads by Google