online algorithms and competitive analysiscs.brown.edu/courses/cs016/static/files/lectures/... ·...
TRANSCRIPT
![Page 1: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/1.jpg)
Online Algorithms and Competitive Analysis
CS16: Introduction to Data Structures & AlgorithmsCS16: Introduction to Data Structures & AlgorithmsSpring 2020
![Page 2: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/2.jpg)
Outline1. Motivation2. The Ski-Rental Problem3. Experts Problem4. Dating Problem
2
![Page 3: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/3.jpg)
Motivation‣ We don’t always start off with all the data we
want at once‣ We want the best algorithms to answer
questions about such data
3
![Page 4: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/4.jpg)
Offline Algorithms‣An offline algorithm has access to all of its data at the start – it “knows” all of its data in advance‣Most of what you have done in this class has been offline (or at least given offline)
4
![Page 5: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/5.jpg)
Online Algorithms‣An online algorithm does not have access to all of the data at the start‣Data is received serially, with no knowledge of what comes next‣How do you make a good algorithm when you don’t know the future?
5
![Page 6: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/6.jpg)
Ski-Rental Problem‣You like skiing‣You’re going to go skiing for n days‣You need to decide: Do you rent skis or buy skis?‣Renting:‣$50 per day
‣Buy:‣$500 once
‣ Goal: Minimize cost
6
![Page 7: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/7.jpg)
Ski-Rental Problem (Offline)‣Offline solution:‣ If n < 10, rent!‣ Else, buy!
‣Tough luck. You don’t know what n is‣ You love skiing so much,
you’ll ski as long as you don’t get injured
7
![Page 8: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/8.jpg)
Ski-Rental Problem – Rent vs. Buy
8
TimeDays
Rent
Buy
10
$500
Total $
![Page 9: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/9.jpg)
Ski-Rental Problem (Offline)
9
Time
$500
Offline solution is somewhere on the
blue line
Days10
Total $
![Page 10: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/10.jpg)
Ski-Rental Problem (Online)‣We don’t know the future, so what can we do?‣Try to get within some constant multiplicative factor of the offline solution!‣ “I want to spend at most X times the amount the offline
solution would spend”‣Strategy:‣ Rent until total spending equals the cost of buying‣ Then buy if we want to ski some more
10
![Page 11: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/11.jpg)
Ski-Rental Problem (Online)
11
Total $
Days10
$500
Online solution is somewhere on the
purple line
$1000
![Page 12: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/12.jpg)
Ski-Rental Problem – Analysis‣How good is this?‣ If we ski 10 days or less, we match the optimal solution!‣ If we ski more than 10 days, we never spend more than twice
the offline solution‣ This is not the only online solution!
12
![Page 13: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/13.jpg)
Comparing Solutions
13
Days10
$500
Online solution
Offline solution
Total $
![Page 14: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/14.jpg)
How good is this?‣ How do we know that our algorithms are
“good”, i.e. close to optimal?‣ What can we do if we don’t even know what
the most optimal algorithm is?
14
![Page 15: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/15.jpg)
Competitive Analysis‣Analyzing an online algorithm by comparing it to an offline
counterpart‣Competitive ratio: Ratio of performance of an online
algorithm to performance of an optimal offline algorithm
‣Our ski-rental solution has a competitive ratio of 2, since we are never more than 2 times as bad as the offline solution‣Our online algorithm is “2-competitive” with the offline solution
15
perf online c · perf o✏ine + ↵
![Page 16: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/16.jpg)
More than just skis…‣ Refactoring versus working with a poor design ‣ Dating?
16
![Page 17: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/17.jpg)
The Experts Problem‣ Dating is hard‣ You know nothing about dating‣ Dating can be reformulated as a series of binary
decisions‣ Not “What should I wear?”, but
‣ Do I wear these shoes? (yes)
‣ Should we go at 7? Should we go at 8? (7)
‣ Do I wait 15 minutes to text them back? Or 3 hours? (3)
‣ Should I buy them flowers? (no)
17
![Page 18: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/18.jpg)
The Experts Problem: The Scenario‣You know nothing, so you should ask for help‣You know n experts who can give you advice before you make each decision (but you don’t know if it’s good)
18
![Page 19: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/19.jpg)
The Experts Problem‣Rules‣ If you make the right decision, you gain nothing‣ If you make the wrong decision, you get 1 unit of embarrassment‣Total embarrassment = number of mistakes
‣Goal: Minimize total embarrassment (relative to what the best expert would’ve gotten)
19
![Page 20: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/20.jpg)
The Experts Problem (Offline)‣Offline:
‣ We know the best expert‣ We only listen to them‣ Whatever successes and mistakes they have, we have
‣Online: ‣We don’t know the best expert
20
![Page 21: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/21.jpg)
The Experts Problem (Online)‣Assign every expert a weight of 1, for total weight of W = n across all experts‣Repeat for every decision:‣Ask every expert for their advice‣Weight their advice and decide by majority vote ‣After the outcome is known, take every expert who gave bad advice and cut their weight in half, regardless of whether your bet was good or bad
21
![Page 22: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/22.jpg)
Lecture Activity 1Fill in the blank weights on your sheet!
Round 1: Should I buy them flowers?What do the experts say?• Expert 1, 2, 3 say no• Expert 4, 5 say yes
Correct Answer? Yes!
Round 2: Should I show up fashionably late?What do the experts say?• Expert 3, 5 say no• Expert 1, 2, 4 say yes
Correct Answer? No!
22
2 Mins….
![Page 23: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/23.jpg)
Lecture Activity 1Fill in the blank weights on your sheet!
Round 1: Should I buy them flowers?What do the experts say?• Expert 1, 2, 3 say no• Expert 4, 5 say yes
Correct Answer? Yes!
Round 2: Should I show up fashionably late?What do the experts say?• Expert 3, 5 say no• Expert 1, 2, 4 say yes
Correct Answer? No!
23
1Min….
![Page 24: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/24.jpg)
Lecture Activity 1Fill in the blank weights on your sheet!
Round 1: Should I buy them flowers?What do the experts say?• Expert 1, 2, 3 say no• Expert 4, 5 say yes
Correct Answer? Yes!
Round 2: Should I show up fashionably late?What do the experts say?• Expert 3, 5 say no• Expert 1, 2, 4 say yes
Correct Answer? No!
24
0 Mins….
![Page 25: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/25.jpg)
Lecture Activity 1 AnswersUpdating the weights
‣Let’s see how we can make a decision in the third round!‣Remember, sum the weights of the experts of both options and pick the majority value!
25
![Page 26: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/26.jpg)
Lecture Activity 2Which decision should we make?
Round 3: Should I order the clams and garlic?What do the experts say?• Expert 1, 2, 3 say yes• Expert 4, 5 say no
26
1 Min….
![Page 27: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/27.jpg)
Lecture Activity 2Which decision should we make?
Round 3: Should I order the clams and garlic?What do the experts say?• Expert 1, 2, 3 say yes• Expert 4, 5 say no
27
0 Mins….
![Page 28: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/28.jpg)
Lecture Activity 2 AnswerWhich decision should we make?
Round 3: Should I order the clams and garlic?What do the experts say?• Expert 1, 2, 3 say yes• Expert 4, 5 say no
Majority DecisionYes sum: 0.25 + 0.25 + 0.5 = 1No sum: 0.5 + 1 = 1.5Majority answer is No, so we don’t eat clams and garlic! Good choice…
‣How good is our algorithm?
28
![Page 29: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/29.jpg)
Multiplicative Weights Algorithm - Analysis
‣To analyze how good this is, we need to relate the number of mistakes we make (m) to the number of mistakes the best expert makes (b)‣How can we do that? Use the weights!‣Let W represent the sum of the weights across the n experts at an arbitrary point in the algorithm
29
![Page 30: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/30.jpg)
Experts Algorithm - Analysis‣Look at the total weight assigned to the experts‣When the best expert makes the wrong decision…‣We cut their weight in half‣ They started out with a weight of 1
30
✓1
2
◆b
W
![Page 31: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/31.jpg)
Experts Algorithm - Analysis‣Look at the total weight assigned to the experts‣When we made the wrong decision…‣ At least ½ weight was placed on the wrong decision‣We will cut at least ¼ of W, so we will reduce the total weight
to at most ¾ of W‣ Since we gave the experts n total weight at the start:
31
W n
✓3
4
◆m
![Page 32: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/32.jpg)
Experts Algorithm - Analysis
32
W n
✓3
4
◆m
✓1
2
◆b
W
✓1
2
◆b
W n
✓3
4
◆m
![Page 33: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/33.jpg)
Experts Algorithm - Analysis
33
So the number of mistakes we make, m, is at most 2.41 times
the number of mistakes the best expert makes, b, plus some
change
✓1
2
◆b
W n
✓3
4
◆m
✓1
2b
◆ W n
✓3
4
◆m
✓1
2b
◆ n
✓3
4
◆m
(1)
�b log2 n+m log2
✓3
4
◆(1)
�b� log2 n m log2
✓3
4
◆
b+ log2 n � m log2
✓4
3
◆
(b+ log2 n)
log2�43
� � m
(1)
![Page 34: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/34.jpg)
We want THE BEST‣ How to find the best…
‣ apartment?‣ deal for a ticket?‣ class to take?‣ partner?
‣ How can we know that they’re the best?‣ How much effort are we willing to spend to find
the best one?34
![Page 35: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/35.jpg)
The {Best Choice, Dating} Problem‣ Also known as the secretary problem‣ There are n people we are interested in, and we
want to end up dating the best one‣ Assumptions:‣ People are consistently comparable, and score(a) != score(b) for arbitrary people a and b
‣ You don’t know anyone’s score until you’ve gone on at least one date with them
‣ Can only date one person at a time (serial monogamy)‣ Anyone you ask to stay with you will agree to do so
35
![Page 36: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/36.jpg)
Dating Problem‣ What’s the offline solution?‣ If you already know everyone’s score, just pick the best
person
‣ A naïve online solution?‣ Try going out with everyone to assign them scores, and
ask the best person to take you back
‣ Problems:‣ Takes a lot of time / money, depending on n‣ Assumes that they will take you back
36
![Page 37: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/37.jpg)
Dating Problem‣ Two main constraints:‣ You can’t look ahead into the future‣ There’s no “undo” – if you let someone go, chances are
they’ll be taken by the time you ask for them back
‣ In other words, the problem is: Do I reject the current possibility in hopes of landing something better if I keep looking, or do I stick with what I have?
37
![Page 38: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/38.jpg)
Dating Problem‣ Solution:‣ Pick a random ordering of the n people‣ Go out with the first k people.‣ No matter how the dates go, reject them (calibration of
expectations)‣ After these k dates, pick the first person that’s better
than everyone we’ve seen so far, and stick with them – they’re probably the best candidate
38
![Page 39: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/39.jpg)
Dating Problem - Analysis‣ What value of k maximises our chances of
ending up with the best person?‣ 3 Cases to consider :‣ What if the best person is in the first k?‣ We end up alone. Oops.
‣ What if the person that we pick isn’t actually the best?‣ Oh well, we live in blissful ignorance
‣ Otherwise, we successfully pick the best person!
39
![Page 40: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/40.jpg)
Dating Problem - Analysis
‣ Consider the candidate at position j‣ Let’s first consider the probability that the
algorithm pairs us with this candidate, given a value of k
40
Pchoose(k, j) =
8<
:
0 if j k,k
j � 1otherwise
![Page 41: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/41.jpg)
Dating Problem - Analysis
‣ Consider the candidate at position j‣ Case 1
41
0 kj n
Pchoose(k, j) =
8<
:
0 if j k,k
j � 1otherwise
![Page 42: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/42.jpg)
Dating Problem - Analysis
‣ Case 2:‣ There exists some person at position i who has the
highest score we’ve seen so far by the time we’re considering the jth person
42
0 k ji n
0 k ji n
Pchoose(k, j) =
8<
:
0 if j k,k
j � 1otherwise
![Page 43: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/43.jpg)
Dating Problem - Analysis‣ The probability that the jth person actually is
the best is 1 / n)‣ For a given k, the probability that we end up
with the best person, Pbest, is the sum of the conditional probabilities for each valid value of j
43
Pbest(k) =nX
j=k+1
✓k
j � 1
◆✓1
n
◆(1)
![Page 44: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/44.jpg)
Dating Problem - Analysis
44
In the above graph, what’s the k/n value that maximizes pbest? And what’s the maximum value?
Pbest(k) =nX
j=k+1
✓k
j � 1
◆✓1
n
◆
=
✓k
n
◆ nX
j=k+1
✓1
j � 1
◆
limn!1
⇡ �✓k
n
◆ln
✓k
n
◆
(1)
![Page 45: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/45.jpg)
Dating Problem - Analysis‣ 1/e, for both the maximum value of Pbest and
the maximizing input for k/n
45
1
e=
k
n=) k =
n
e
‣ So, with 1/e = 36.79% probability, if your strategy is to date the first person better than everyone in the first 36.79% of dates, you’ll end up with the best person!
![Page 46: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/46.jpg)
Dating Problem - Improvements‣1/e probability of not ending up with anyone :(
‣ Strategy: Be desperate‣ Pick the last person, if you get that far‣ With probability 1/e, we pick the last person who will have, on average, rank
n/2, so we’ll probably be ok‣ Strategy: Gradually lower expectations
‣ Pick a series of timesteps, t0, t1, t2, tk…‣ Reject the first t0 dates as before‣ Look for the best person we’ve seen so far between dates t0 and t1
‣ If we find them, great!‣ Otherwise, between dating the (t1+1)th and t2th people, look for either the
first or the second best we haven’t yet dated‣ Repeat the above, gradually accepting a larger “pool”‣ We’ll probably do better than the “be desperate” strategy, though by how
much is hard to say without hardcore math
46
![Page 47: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/47.jpg)
Recap‣An online algorithm is an algorithm where input is fed to you piece by piece, which makes writing a fast and optimal algorithm much more difficult‣Competitive analysis frames an online algorithm’s efficiency in terms of an offline solution
47
![Page 48: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/48.jpg)
CS Applications‣ CPUs and memory caches (CS33, CS157)‣ Intel pays major $$$ for good caching strategies
‣ Artificial intelligence (CS141)‣ Heuristics, search, genetic algorithms
‣ Machine learning (CS142)‣ Statistics
48
![Page 49: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/49.jpg)
More Applications (continued)‣ Economics‣ Stocks and trading‣ Game theory‣ Gambling
‣ Biology (featuring 2 authors of our textbook, Papadimitriou and Varizani)‣ https://www.quantamagazine.org/20140618-the-game-
theory-of-life/‣ Our textbook: Dasgupta, Papadimitriou, and Varizani‣ Evolution as a balance between fitness and diversity,
given an unknown future49
![Page 50: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/50.jpg)
Dealing with Hard Problems
CS16: Introduction to Data Structures & AlgorithmsSpring 2020
![Page 51: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/51.jpg)
Outline‣ Seating Arrangements‣ Problem hardness‣ P, NP, NP-Complete, NP-Hard‣ Dealing with hard problems‣ Problem translation‣ Genetic Algorithms‣ Approximations
‣ Travling Salesman Problem51
![Page 52: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/52.jpg)
Seating Arrangement Problem‣ Your dating algorithms worked!‣ You need to plan the seating arrangements
for a wedding
52
![Page 53: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/53.jpg)
‣ Constraints / goals‣ k tables‣ n people‣ Avoid antagonistic pairs (exes, rivals, etc) sitting at the
same table‣ Maximise overall happiness
53
Seating Arrangement Problem
![Page 54: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/54.jpg)
‣ Assume each pair of people (A, B) has an associated ‘compatibility score’‣ for friends comp(A, B) = 10
‣ for couples comp(A, B) = 50
‣ for antagonistic pairs comp(A, B) = -500
‣ These values are known ahead of time
54
Quantifications of Pair-wise Happiness
![Page 55: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/55.jpg)
‣ Sum all the compatibility scores for each pair at the table
Quantifications of Table-wise Happiness
55
H (table) =X
pair2table
comp(pair)
![Page 56: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/56.jpg)
Quantification of Total Happiness‣ Utilitarian Approach:
56
Total Hegalitarian = mint2tables
H(t)
Total Hutilitarian =X
t2tables
H(table)
‣ Egalitarian Approach:
‣ Many more options!
![Page 57: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/57.jpg)
This seems hard‣ Could we just try permutations and comparing
scores?‣ With 60 people, 60! permutations to test‣ 8.32 x 1081
‣ ouch
‣ This doesn’t necessarily mean that the problem is hard, however
57
![Page 58: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/58.jpg)
Defining Problem Hardness‣ Hardness of problem is defined by the runtime of the best
solution‣ A bad sorting algorithm could be O(n!), but sorting in general
isn’t considered hard, because we have fast algorithms to solve it
‣ Polynomial Runtimes‣ O(n), O(n2), O(n500) ‣ Problems with these solutions are tractable
‣ Super-Polynomial Runtimes‣ O(n!), O(2n), O(nn)‣ Problems with these solutions are intractable
58
![Page 59: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/59.jpg)
Exponential vs. Polynomial Growth Rates
59
log(y)
0
100
200
300
400
x10 20 30 40 50 60 70 80 90 100 110 120 130 140
nnn!n100
![Page 60: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/60.jpg)
Categories of Hardness‣ NP
‣ The set of problems for which we can verify the correctness of a solution in polynomial time
‣ P‣ A subset of NP, where the problem is solvable in polynomial
time
‣ NP-Complete‣ “The hardest problems in NP”‣ Solution is checkable in polynomial time‣ not known whether there exist any polynomial time
algorithms to solve them
‣ NP-Hard‣ Problems that are “at least as hard as the hardest problems
in NP”‣ Don’t necessarily have solutions that are checkable in
polynomial time60
![Page 61: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/61.jpg)
Back to our seating arrangement‣ To get an intuition as to how hard our problem
is, let’s see if we can convert it into a problem that has already been proven to be in NP, P, NP-Complete, or NP-Hard
‣ But… where to start?
61
![Page 62: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/62.jpg)
Constraint Relaxation‣ See if you can solve an ‘easier’ version of the
problem, by removing some of the properties that make the problem hard
‣ In real life ‣ “what would you do if you could not fail?”‣ “which job would you take if they all paid equally?”
62
![Page 63: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/63.jpg)
Let’s avoid disaster
63
‣ Constraints / goals‣ # of tables‣ # of people‣ Avoid antagonistic pairs (exes, rivals, etc)‣ Maximise overall happiness
‣ Hopefully, having no tables with antagonistic pairs will put in the right direction for maximising overall happiness
![Page 64: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/64.jpg)
Relationships as a graph‣ edge key:
‣ friends
‣ couple
‣ enemies
‣ no edge = no prefs
64
![Page 65: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/65.jpg)
An Antagonism graph
65
![Page 66: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/66.jpg)
Translating the problem‣ Now, we have these antagonistic relationships
represented as a graph!‣ Question is no longer:‣ Can we avoid antagonistic pairs (exes, rivals, etc) sitting at
the same table, given n people and k tables?
‣ Instead:‣ Use colours to represent different tables, so:‣ Could we assign 1 of k colours to each node in the
antagonism graph, such that no two nodes that share an edge have the same colour?
66
![Page 67: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/67.jpg)
An Antagonism graph
67
![Page 68: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/68.jpg)
Lecture Activity 3Try out the Graph k-colouring problem!
68
2 Mins….
![Page 69: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/69.jpg)
Lecture Activity 3Try out the Graph k-colouring problem!
69
1 Min….
![Page 70: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/70.jpg)
Lecture Activity 3Try out the Graph k-colouring problem!
70
0 Mins….
![Page 71: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/71.jpg)
Lecture Activity 3 AnswersAnswers!
71
![Page 72: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/72.jpg)
Graph colouring example
72
![Page 73: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/73.jpg)
Graph k-colouring‣ Generally, the problem of
determining whether nodes in a graph can be coloured using up to k separate colours, such that no two adjacent vertices share a colour
‣ This is NP-Complete!‣ And thus, even this much
easier version of the problem is very hard
73
![Page 74: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/74.jpg)
Are we screwed?‣ The best algorithms to solve the graph k-
colorability problem take O(2.445n) time and space
‣ With 60 guests, 2.44560 = ~450 billion‣ which isn’t that bad‣ Modern computers can handle ~3 billion
‘operations’ / sec, so this would take more than a couple minutes, probably less than 15
‣ But we’ve still only avoided the worst case!74
![Page 75: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/75.jpg)
Genetic Algorithms‣ A form of ‘guess and check’, using a number of
possible solutions to a problem‣ Inspired the process of evolution
75
![Page 76: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/76.jpg)
Biology Review‣ All organisms are made up of genes, where
genes (or a combination many genes) interact to produce our phenotype, the expression of those genes
‣ We are all a combination of a mix of our parents genes, and some random mutations
76
![Page 77: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/77.jpg)
Evolution via Sexual Reproduction, broadly
‣ There exist an initial population of organisms within a species
‣ The ‘sexually fit’ organisms reproduce‣ Take some genes of parent A, some of parent B‣ add some random noise‣ this new collection of genes is a new specimen, AB’
‣ Older + less fit parts of populations die off, leaving the survivors to repeat the reproduction process
77
![Page 78: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/78.jpg)
Solution Mating
78
1 2
4 5
3
6
1 2
4 5
3
6
1 2
4 5
3
6
+
Total_H = 300 Total_H = 325
Total_H = 400
![Page 79: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/79.jpg)
High-Level Genetic Algorithm Pseudocode
79
function geneticAlgo(opt_seed_sols): solution_set = opt_seed_sols or || randomly generated initial population of solutions init_size = size(solution_set, threshold, time_limit)
while True:new_gen = []for some number of iterations:
A, B = 2 solutions from solution_set, drawn at randomAB’ = a new solution that combines properties of A and BrandomlyMutate(AB’)new_gen.append(AB’)
solution_set.addAll(new_gen)rank solutions in solution_set based on ‘fitness’remove all but init_size many best solutions from solution_setif best(solution_set) > threshold or time_limit has passed:
breakreturn highest ranking solution from solution_set
![Page 80: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/80.jpg)
Genetic Algorithms‣ If seeded with ‘good’ solutions
for the initial population of solutions, output is guaranteed to be at least as good as the best of the initial solutions
‣ Can come up with unexpected solutions
‣ Tend to do really well!80
![Page 81: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/81.jpg)
Honeymooning‣ Also known as the Traveling Salesman Problem‣ TSP, defined: “Given a list of cities and the
distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?”
81
![Page 82: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/82.jpg)
Cities (not to scale):
82
Metamora
Pekin
Springfield
Taylorville
Decatur
Shelbyville
Sullivan
Paris
Danville
Urbana
Monticello
Clinton
Mt. Pulask
Bloomington
![Page 83: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/83.jpg)
Best route:
83
Metamora
Pekin
Springfield
Taylorville
Decatur
Shelbyville
Sullivan
Paris
Danville
Urbana
Monticello
Clinton
Mt. Pulask
Bloomington
83
![Page 84: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/84.jpg)
TSP Hardness‣ Given a graph with n nodes‣ we could exhaustively try O(n!) possible city-orderings‣ But let’s see if we can do any better
‣ Finding the most optimal route is NP-Hard :(‣ Held-Karl algorithm solves it in O(n2 x 2n)
84
![Page 85: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/85.jpg)
But we’re not totally screwed!‣ Again, relaxing constraints…‣ What if we were‣ allowed to visit a city more than once, and‣ allowed to retrace your steps for free?
‣ Sounds like the problem reduces to connecting alls the cities as cheaply as possible - do we know how to solve this problem?
85
![Page 86: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/86.jpg)
MSTs as a starting point to approximate TSP
‣ This is very easy!‣ Provides a lower bound for the real solution‣ a solution with free backtracking can’t possibly be
worse than a solution that has to follow all the original rules
‣ If we find a solution to the original problem, can use the MST as a comparison for how close we might be‣ If an MST for some graph has total 100 mile distance, but a
given solution has total distance of 110, we are at most 10% longer than the best solution
86
![Page 87: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/87.jpg)
MST of cities:
87
Metamora
Pekin
Springfield
Taylorville
Decatur
Shelbyville
Sullivan
Paris
Danville
Urbana
Monticello
Clinton
Mt. Pulask
Bloomington
![Page 88: Online Algorithms and Competitive Analysiscs.brown.edu/courses/cs016/static/files/lectures/... · The Experts Problem (Online) ‣Assign every expert a weight of 1, for total weight](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f72ad31589226418b279ed1/html5/thumbnails/88.jpg)
Best route vs. MST
88
Bloo Bloo