- 201 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Greedy Algorithms' - bailey

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Greedy Algorithms

Jeff Chastine

Greedy Algorithms

- Compared to Dynamic Programming
- Both used in optimization problems
- More efficient
- Not always optimal
- Top-down instead of bottom up
- Make a locally optimal (quick) choice
- Still have optimal substructure
- No need to dive into sub-problems

Jeff Chastine

Activity Selection

- Given a set of activities , find the maximum # you can schedule
- NOT optimal use of time of a room
- One activity is active at one time
- Activity has start time of and finish of
- Order activities by finish time

isifi

1 2 3 4 5 6 7 8 9 10 11

1 3 0 5 3 5 6 8 8 2 12

4 5 6 7 8 9 10 11 12 13 14

Jeff Chastine

Using Dynamic Programming

- Defining the subproblem:
- Set of activities that “fit” in this time chunk
- Picking any activity creates two sub-problems

Jeff Chastine

Recursive Solution

RECURSIVE-ACT-SELECT (s, f, i, n)

1 m ← i + 1

2 whilem ≤ n and sm < fi //find 1st activity

3 dom ← m + 1

4 ifm ≤ n

5 then return {am}

RECURSIVE-ACT-SELECT(s, f, m, n)

6 else return

Jeff Chastine

Where Greedy Fails

- Knapsack Problem
- Steal items of different weight and value
- Sack has weight limit
- Goal: steal as much as possible
- Two flavors of problem
- 0-1 version (take all of something)
- Fractional (can take only part)

Jeff Chastine

Greedy – Go for the Gold!

50

2030

$80

item 3

30

20

item 2

$100

20

item 1

10

10

$60

$100

$60

$120

Total = $240

Note: optimal for 0-1 was $220

Jeff Chastine

Why the Greedy Fail?

50

50

30

item 3

30

20

item 2

20

item 1

10

10

10

$100

$60

$120

Notice the waste of space!

Jeff Chastine

Huffman Codes

- Objective: compress text data
- Raw ASCII text file uses 8 bits/char (fixed)
- 1000 characters = 8K bits
- Book uses 6 characters for 3 bits/char
- Trick
- Analyze: not all characters are used!
- Analyze: frequency of characters
- Prefix codes: no binary code is prefix of another

Jeff Chastine

Analysis

a b c d e f

Frequency (in thousands) 45 13 12 16 9 5

Fixed-length codeword 000 001 010 011 100 101

Variable-length codeword 0 101 100 111 1101 1100

110001001101 = face //12 bits

01011010 = abba // 8 bits

Jeff Chastine

How it works

- Combine and re-sort

14

c:12

b:13

d:16

a:45

1

0

e:9

f:5

Watch how least frequent characters are pushed down the tree!

Jeff Chastine

How it works

25

30

a:45

0

1

1

0

14

c:12

b:13

d:16

1

0

e:9

f:5

Notice what’s happening to the first grouping we did

Jeff Chastine

Summary

- Greedy algorithms have two properties
- Greedy choice property: a globally optimal solution can be created by the greedy choice
- Optimal substructure: the optimal solution is contains optimal solutions to subproblems
- Greedy is top-down
- Doesn’t always yield optimal solution

Jeff Chastine

Download Presentation

Connecting to Server..