Download presentation
Presentation is loading. Please wait.
Published byCitlali Buntin Modified over 9 years ago
1
Problem Solving Dr. Andrew Wallace PhD BEng(hons) EurIng andrew.wallace@cs.umu.se
2
Overview Breaking and entry How to get away? Which items to steal? Stash the loot
3
Brute Force Simple Start at the beginning Keep working till.. You find a solution! Bang you head against a brick wall long enough, sooner or later the brick wall gives out
4
Brute Force
5
Searching a list Travelling salesman problem Deoxyribonucleic acid Heuristics!
6
Brute Force It can work! Some times it’s the only solution! Problem: Inefficient Can become time consuming
7
Optimal subproblems Optimal solution has optimal subproblem solutions S = {s 1, s 2, s 3, … s n } Optimal sub-structure Greedy algorithms Else Overlapping substructures Dynamic programming
8
Greedy Algorithms Local optimum results in global optimum Problem: Shortest path from A to B Museum Safe House 10 12 9 6 10 12 3 8 2 15
9
Greedy Algorithms Not all local optimal solutions can lead to global optimal solutions Can end up with the worse case If globally optimal can be fast
10
Greedy Algorithms Set of candidate solutions Paths Selection function Which path to choose? End function Are we there yet?
11
Greedy Algorithms A resource Set of agents who want to use the resource No overlaps in time allowed Agents (a)abcdefg Start (s) 1324675 Finish (f) 4566810 a, d, e
12
Greedy Algorithms Earliest finishing time to maximise the number of participants Maximise the remaining time
13
Greedy Algorithms O(n)
14
Greedy Algorithms No back tracking Choices dependent on passed choices but not future choices
15
Dynamic programming Overlapping sub problems Once calculated, save and reuse Dynamic Updates and changes things but not as in dynamic programming languages Programming Filling tables not computer programming
16
Dynamic programming Items Weight Value But we have … Max weight!
17
Dynamic programming Fibonacci sequence F n = F n-1 + F n-2 F 0 = 0, F 1 = 1 and F 2 = 1 F(6) F(4) F(5) F(3) F(4) F(3) F(1)F(2) F(0)F(1) F(2) F(0) F(1) F(2) F(0)F(1) F(2) F(0)F(1) F(2) F(1)F(0) F(1)
18
Dynamic programming Items = {i 1, i 2, i 3 … i n } Weight = {w 1, w 2, w 3 … w n } Value = {v 1, v 2, v 3 … v n } W = max weight we can take
19
Dynamic programming Optimal structure? w = {w 1, w 2 … w j } w = {w 1, w 2 … w j-1 } Overlapping subproblems Compare solution with item to solution without item
20
Dynamic programming If i = 0 or w= 0 If w i > w If i > 0 or w >= w i
21
Dynamic programming O(n)
22
Divide and Conquer Recursion Break the problem reclusively into small problems Preferably evenly Solve the smaller problems Combine together to produce the overall solution
23
Divide and Conquer T(n) = 2T(n/2) + (n) Master method
24
Divide and Conquer
25
Find 90 3345538290120150
26
Divide and Conquer Find 90 Divide into two 3345538290120150
27
Divide and Conquer Find 90 Divide into two And again! 90120150
28
Divide and Conquer Find 90 Divide into two And again! 90
29
Divide and Conquer
30
Problem solving Top down greedy Bottom up dynamic
31
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.