cs270: lecture 1. - people

281
CS270: Lecture 1. 1. Overview 2. Administration 3. Dueling Subroutines: Congestion/Tolls.

Upload: others

Post on 19-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS270: Lecture 1. - People

CS270: Lecture 1.

1. Overview2. Administration3. Dueling Subroutines: Congestion/Tolls.

Page 2: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 3: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 4: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 5: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions:

effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 6: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective

precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 7: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.4. Techniques: Greedy Dyn. Programming Linear

Programming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 8: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques:

Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 9: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy

Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 10: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming

LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 11: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 12: CS270: Lecture 1. - People

Algorithms.

Undergraduate.

This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 13: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 14: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.Flavor of the week?

Modern.

2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 15: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 16: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.

3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 17: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 18: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!

Analysis sometimes based on modelling world.

4. Techniques: Greedy Dyn. Programming LinearProgramming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 19: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!

Analysis sometimes based on modelling world.4. Techniques: Greedy Dyn. Programming Linear

Programming.

Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 20: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!

Analysis sometimes based on modelling world.4. Techniques: Greedy Dyn. Programming Linear

Programming.Heuristic, in practice.

5. Techniques tend to be Combinatorial.

Probabilistic, linear algebra methods, continuous.

Page 21: CS270: Lecture 1. - People

Algorithms.

Undergraduate.This class.

1. Classical.

Flavor of the week?

Modern.2. Cleanly Stated Problems. Shortest Paths, max-flow, MST.

Vaguely stated problems!

Address problems; messy or not.3. Solutions: effective precise bounds!

Ineffective ..imprecise!

Analysis sometimes based on modelling world.4. Techniques: Greedy Dyn. Programming Linear

Programming.Heuristic, in practice.

5. Techniques tend to be Combinatorial.Probabilistic, linear algebra methods, continuous.

Page 22: CS270: Lecture 1. - People

Example Problem: clustering.

I Points: documents, dna, preferences.I Graphs: applications to VLSI, parallel processing, image

segmentation.

Page 23: CS270: Lecture 1. - People

Image example.

Page 24: CS270: Lecture 1. - People

Image Segmentation

Which region?

Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)

Either is generally useful!

Page 25: CS270: Lecture 1. - People

Image Segmentation

Which region?

Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)

Either is generally useful!

Page 26: CS270: Lecture 1. - People

Image Segmentation

Which region?

Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)

Either is generally useful!

Page 27: CS270: Lecture 1. - People

Image Segmentation

Which region? Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)

Either is generally useful!

Page 28: CS270: Lecture 1. - People

Image Segmentation

Which region? Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)

Either is generally useful!

Page 29: CS270: Lecture 1. - People

Image Segmentation

Which region? Normalized Cut: Find S, which minimizes

w(S,S)

w(S)×w(S).

Ratio Cut: minimizew(S,S)

w(S),

w(S) no more than half the weight. (Minimize cost per unitweight that is removed.)Either is generally useful!

Page 30: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)

Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 31: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.

Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 32: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.

Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 33: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 34: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)

Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 35: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.

Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 36: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 37: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 38: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 39: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary?

Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 40: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah?

A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 41: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 42: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.

More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 43: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!

Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 44: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors.

Principal Components methods.Topic Models.Reasoning about these methods.

Page 45: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.

Topic Models.Reasoning about these methods.

Page 46: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.

Reasoning about these methods.

Page 47: CS270: Lecture 1. - People

Example: recommendations.Sarah Palin likes True Grit (the old one.)Sarah Palin doesn’t like The Social Network.Sarah Palin doesn’t like Black Swan.Sarah Palin likes Sarah Palin on Discovery channel.

Hillary Clinton doesn’t like True Grit (the old one.)Hillary Clinton likes The Social Network.Hillary Clinton likes Black Swan.

Should you recommend the discovery channel to Hillary?

What about you?

Are you Hillary? Are you Sarah? A bit of both?

High dimensional data: dimension for each movie.More than three dimensions!Nearest neighbors. Principal Components methods.Topic Models.Reasoning about these methods.

Page 48: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 49: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 50: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 51: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 52: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 53: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation.

Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 54: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 55: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 56: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 57: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 58: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School:

substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 59: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution,

adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 60: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...

Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 61: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 62: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 63: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m).

Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 64: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm.

What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 65: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 66: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:

Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 67: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.

Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 68: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).

Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 69: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.

Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 70: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 71: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications:

Better Max Flow!

Page 72: CS270: Lecture 1. - People

Linear Systems.Revolution!

Physical Simulation. Airflow.

Solve Ax = b.

How long?

n×n matrix A.

Middle School: substitution, adding equations ...Time: O(n3).

Now: O(m). Hmmm. What’s that tilde?

Techniques:Relate graph theory to matrix properties.Dense matrix (graph) to sparse matrix (graph).Approximating distances by trees.Electrical networks analysis.

Combinatorial Applications: Better Max Flow!

Page 73: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 74: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.

Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 75: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.

Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 76: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.

Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 77: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 78: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 79: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.

Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 80: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 81: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.

Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 82: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.

Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 83: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 84: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.

Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 85: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.

Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 86: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.

Lower uses upper’s evidence to prove better lower bounds.

Page 87: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 88: CS270: Lecture 1. - People

Other Algorithmic Techiniques

Sketching:Large stream of data: a1,a2, . . .

Find digest.Graphs: Sparse graph.Data: average, statistics.Points: center point, k -medians, .

High Dimensional optimization.Gradient Descent. Convexity.

Linear Algebra.Eigenvalues.Semidefinite Programming.

Dueling Subroutines. Duality.Lower bounder, upper bounder.Upper uses lower’s evidence to find better solutions.Lower uses upper’s evidence to prove better lower bounds.

Page 89: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish Rao

Benjamin Weitz2. Piazza. Log in! Pay attention to “bypass email preferences”

especially.3. Assessment.

3.1 Homeworks (40%).Homework 1 out tonight/tomorrow.

3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 90: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 91: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.

3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 92: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)

3.3 Project (35%)Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 93: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 94: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.

Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 95: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.

Or explore/digest a topic from class.3.4 No Discussion this week.

Page 96: CS270: Lecture 1. - People

CS270: Administration.

1. Staff:Satish RaoBenjamin Weitz

2. Piazza. Log in! Pay attention to “bypass email preferences”especially.

3. Assessment.3.1 Homeworks (40%).

Homework 1 out tonight/tomorrow.3.2 1 Takehome Midterm (25 %)3.3 Project (35%)

Groups of 2 or 3.Connect research to class.Or explore/digest a topic from class.

3.4 No Discussion this week.

Page 97: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 98: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 99: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 100: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 101: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 102: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3

—————

Value: 2

Page 103: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3

—————

Value: 2

Page 104: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 105: CS270: Lecture 1. - People

Path Routing.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k pathsconnecting si and ti and minimize max load on any edge.

s1 t1

s2

t2

s3

t3

Value: 3—————

Value: 2

Page 106: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)number of paths in routing that contain e.

Congestion of routing: maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 107: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)

number of paths in routing that contain e.

Congestion of routing: maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 108: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)number of paths in routing that contain e.

Congestion of routing: maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 109: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)number of paths in routing that contain e.

Congestion of routing:

maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 110: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)number of paths in routing that contain e.

Congestion of routing: maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 111: CS270: Lecture 1. - People

Terminology

Routing: Paths p1,p2, . . . ,pk , pi connects si and ti .

Congestion of edge, e: c(e)number of paths in routing that contain e.

Congestion of routing: maximum congestion of any edge.

Find routing that minimizes congestion (or maximumcongestion.)

Page 112: CS270: Lecture 1. - People

Algorithms?Route along any path.

Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 113: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...

but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 114: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?

How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 115: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?

(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 116: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!

(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 117: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.

(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 118: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 119: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 120: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · ·

Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 121: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · ·

Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 122: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · ·

Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 123: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · ·

Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 124: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · ·

Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 125: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 126: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 127: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..

but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 128: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!

Route along shortest path! Duh.Optimal use of “resources” ..or edges.

Page 129: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path!

Duh.Optimal use of “resources” ..or edges.

Page 130: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 131: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources”

..or edges.

Page 132: CS270: Lecture 1. - People

Algorithms?Route along any path.Feasible...but is it as good as possible?How far from optimal could it be?(A) It is optimal!(B) A factor of two.(C) A factor of k , in general.

(C)

s1s2sk

t1t2tk

· · ·

· · · Value: k .

Opt: 1.

Stupid..but this could be depth first search lexicographically!Route along shortest path! Duh.

Optimal use of “resources” ..or edges.

Page 133: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 134: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).

si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 135: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi

`(pi) is number of edges in pi .Also minimizes total congestion: ∑e c(e)

where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 136: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 137: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)

where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 138: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 139: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why?

Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 140: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 141: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?

(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 142: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?

(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 143: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 144: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A).

Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 145: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?

Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 146: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges.

Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 147: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 148: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”

→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 149: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 150: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi)

= ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 151: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1

= ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 152: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1

= ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 153: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 154: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion

! !

Page 155: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion !

!

Page 156: CS270: Lecture 1. - People

Shortest Path Routing.

Minimizes ∑i `(pi).si , ti routed along pi`(pi) is number of edges in pi .

Also minimizes total congestion: ∑e c(e)where c(e) congestion of edge.

Why? Let `(pi) be the length of path pi .

(A) ∑i `(pi) = ∑e c(e)?(B) ∑i `(pi)> ∑e c(e)?(C) ∑i `(pi)< ∑e c(e)?

(A). Proof?Path i uses `(pi) edges. Edge e used by c(e) paths.

Both count “uses”→ Sums are the same.

∑i `(pi) = ∑i ∑e∈pi1 = ∑e ∑pi3e 1 = ∑e c(e)

Shortest path routing minimizes total congestion ! !

Page 157: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e). Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 158: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e).

Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 159: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e). Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 160: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e). Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 161: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e). Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 162: CS270: Lecture 1. - People

Shortest Path Routing and Congestion.

Minimize each path length minimizes total congestion.

Also minimizes average: 1m ∑e c(e). Just a scaling!

Average load is lower bound on the lowest max congestion!

Shortest path routing minimizes average load.

Does it minimize maximum load?

Page 163: CS270: Lecture 1. - People

One problem...

How far from optimal?

Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 164: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal?

Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 165: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2?

Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 166: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 167: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·

Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 168: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·

Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 169: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·

Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 170: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·

Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 171: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·

Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 172: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 173: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 174: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though,

FWIW.Any suggestions?

Page 175: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.

Any suggestions?

Page 176: CS270: Lecture 1. - People

One problem...

How far from optimal?Optimal? Factor 2? Factor k?

s1s2sk

t1t2tk

...... > 2k

· · ·

· · ·

··

· ·Value: k .

Opt: 1.

Does minimize average load though, FWIW.Any suggestions?

Page 177: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 178: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 179: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 180: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid:

311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 181: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311

+ 311 + 3

11 = 911

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 182: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11

+ 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 183: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311

= 911

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 184: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 185: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 186: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.

Toll paid: 12 +

12 +

12 = 3

2

Page 187: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid:

12 +

12 +

12 = 3

2

Page 188: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12

= 32

Page 189: CS270: Lecture 1. - People

Another problem.

Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll for connecting pairs.

s1

t1

s2

t2

s3

t3

111

111 1

11

111

111

111

111

111

111

12

12

Assign 111 on each of 11 edges.

Toll paid: 311 + 3

11 + 311 = 9

11

Can we do better?

Assign 1/2 on these two edges.Toll paid: 1

2 +12 +

12 = 3

2

Page 190: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 191: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 192: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 193: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar?

Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 194: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 195: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).

Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 196: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression?

d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 197: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 198: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 199: CS270: Lecture 1. - People

Toll problem and Routing problem.Given G = (V ,E), (s1, t1), . . . ,(sk , tk ), find a set of k paths assign oneunit of “toll” to edges to maximize total toll paid to connecting pairs.

Possible solution: 1m on each edge.

Toll collected: ≥ ∑i `(pi )m .

Familiar? Consider.

Find d : e→ R with ∑e d(e) = 1 which maximizes

∑i

d(si , ti).

d(si , ti)- shortest path between si and ti under d(·).Digression? d(e) suggests a weighted average.

Remember uniform average congestion is lower bound on congestionof routing!

Any toll solution value (weighted average congestion) is lower boundon path routing value (max congestion).

Page 200: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.

d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorphic

x could be edge, path, or pair.

Page 201: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.

d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorphic

x could be edge, path, or pair.

Page 202: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .

d(x) - polymorpic

polymorphic

x could be edge, path, or pair.

Page 203: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorphicx could be edge, path, or pair.

Page 204: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorphic

x could be edge, path, or pair.

Page 205: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorpicpolymorphic

x could be edge, path, or pair.

Page 206: CS270: Lecture 1. - People

Proving lower bound: notation.

d(e) - toll assigned to edge e.d(p) - total toll assigned to path p.d(u,v) - total assigned to shortest path between u and v .d(x) - polymorpic

polymorpic

polymorphicx could be edge, path, or pair.

Page 207: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 208: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.

Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 209: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?

maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 210: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 211: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 212: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 213: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 214: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 215: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 216: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 217: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 218: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 219: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e)

= ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 220: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)

≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 221: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).

Routing solution cost ≥ Any toll solution cost.

Page 222: CS270: Lecture 1. - People

Proving lower bound.

Routing solution: pi connects (si , ti) and has length d(pi).

c(e) - congestion on edge e under routing.Max c(e)?maxe c(e)≥ ∑e c(e)d(e) since ∑e d(e) = 1.

∑e

c(e)d(e) = ∑i

d(pi)

∑i

d(pi) = ∑i

∑e∈pi

d(e)

= ∑e

∑i :e3pi

d(e)

= ∑e

d(e) ∑i :e3pi

1

= ∑e

d(e)c(e)

A path uses “volume” d(pi).

Volume on edge is d(e)c(e).

∑i d(pi) = ∑e d(e)c(e).

maxe c(e)≥ ∑e d(e)c(e) = ∑i d(pi)≥ ∑i d(si , ti).Routing solution cost ≥ Any toll solution cost.

Page 223: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)

Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 224: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 225: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 226: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 227: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 228: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.

Any routing solution is an upper bound on a toll solution.

Page 229: CS270: Lecture 1. - People

Toll is lower bound.

From before:Max bigger than minimum weighted average:maxe c(e)≥ ∑e c(e)d(e)Total length is total congestion: ∑e c(e)d(e) = ∑i d(pi)Each path, pi , in routing has length d(pi)≥ d(si , ti).

maxe

c(e)≥ ∑e

c(e)d(e) =∑i

d(pi)≥∑i

d(si , ti).

A toll solution is lower bound on any routing solution.Any routing solution is an upper bound on a toll solution.

Page 230: CS270: Lecture 1. - People

Shall we continue?

Page 231: CS270: Lecture 1. - People

Algorithm.

Assign tolls.

How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 232: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route?

Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 233: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!

Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 234: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.

How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 235: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls?

Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 236: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.

Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 237: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 238: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:

The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 239: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 240: CS270: Lecture 1. - People

Algorithm.

Assign tolls.How to route? Shortest paths!Assign routing.How to assign tolls? Higher tolls on congested edges.Toll: d(e) ∝ 2c(e).

Equilibrium:The shortest path routing has d(e) ∝ 2c(e).

The routing does not change, the tolls do not change.

Page 241: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 242: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 243: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e)

=∑e 2c(e)c(e)

∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 244: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e)

Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 245: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e)

Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 246: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).

For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 247: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 248: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 249: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 250: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 251: CS270: Lecture 1. - People

How good is equilibrium?Path is routed along shortest path and d(e) ∝ 2c(e).For e with c(e)≤ cmax −2logm; 2c(e) ≤ 2cmax−2logm = 2cmax

m2 .

copt ≥ ∑i

d(si , ti) = ∑e

d(e)c(e)

= ∑e

2c(e)

∑e′ 2c(e′) c(e) = ∑e 2c(e)c(e)∑e 2c(e) Let ct = cmax −2logm.

≥∑e:c(e)>ct 2c(e)c(e)

∑e:c(e)>ct 2c(e)+ ∑e:c(e)≤ct 2c(e)

≥(ct)∑e:c(e)>ct 2c(e)

(1+ 1m )∑e:c(e)>ct 2c(e)

≥ (ct)

1+ 1m

=cmax−2logm

(1+ 1m )

Or cmax ≤ (1+ 1m )copt +2logm.

(Almost) within 2 logm of optimal!

Page 252: CS270: Lecture 1. - People

The end: sort of.

Page 253: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 254: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 255: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 256: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.

copt ≥ ∑i d(si , ti)≥ 13 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 257: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 258: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 259: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!

What do we gain?

Page 260: CS270: Lecture 1. - People

Getting to equilibrium.

Maybe no equilibrium!

Approximate equilibrium:

Each path is routed along a path with lengthwithin a factor of 3 of the shortest path and d(e) ∝ 2c(e).

Lose a factor of three at the beginning.copt ≥ ∑i d(si , ti)≥ 1

3 ∑e d(pi).

We obtain cmax = 3(1+ 1m )copt +2logm.

This is worse!What do we gain?

Page 261: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X

=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)

p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 262: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X

=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)

p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 263: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X

=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)

p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 264: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X

=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)

p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:

Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 265: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)

p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.

Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 266: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 267: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 268: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases.

=⇒ termination and existence.

Page 269: CS270: Lecture 1. - People

An algorithm!

Algorithm: reroute paths that are off by a factor of three.(Note: d(e) recomputed every rerouting.)

si ti

p: w(p) = X=⇒ w ′(p) = X/2−1 for c(e)

+1 for c(e)p′: w(p′)≤ X/3

=⇒ w ′(p′)≤ 2X/3

Potential function: ∑e w(e), w(e) = 2c(e)

Moving path:Divides w(e) along long path (with w(p) of X ) by two.Multiplies w(e) along shorter (w(p)≤ X/3) path by two.

−X2 + X

3 =−X6 .

Potential function decreases. =⇒ termination and existence.

Page 270: CS270: Lecture 1. - People

Tuning...

Replace d(e) = (1+ ε)c(e).

Replace factor of 3 by (1+2ε)

cmax ≤ (1+2ε)copt +2logm/ε.. (Roughly)

Fractional paths?

Page 271: CS270: Lecture 1. - People

Tuning...

Replace d(e) = (1+ ε)c(e).

Replace factor of 3 by (1+2ε)

cmax ≤ (1+2ε)copt +2logm/ε.. (Roughly)

Fractional paths?

Page 272: CS270: Lecture 1. - People

Tuning...

Replace d(e) = (1+ ε)c(e).

Replace factor of 3 by (1+2ε)

cmax ≤ (1+2ε)copt +2logm/ε.. (Roughly)

Fractional paths?

Page 273: CS270: Lecture 1. - People

Tuning...

Replace d(e) = (1+ ε)c(e).

Replace factor of 3 by (1+2ε)

cmax ≤ (1+2ε)copt +2logm/ε.. (Roughly)

Fractional paths?

Page 274: CS270: Lecture 1. - People

Tuning...

Replace d(e) = (1+ ε)c(e).

Replace factor of 3 by (1+2ε)

cmax ≤ (1+2ε)copt +2logm/ε.. (Roughly)

Fractional paths?

Page 275: CS270: Lecture 1. - People

Wrap up.

Dueling players:

Toll player raises tolls on congested edges.Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),and helpful (mysterious?)!

Page 276: CS270: Lecture 1. - People

Wrap up.

Dueling players:Toll player raises tolls on congested edges.

Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),and helpful (mysterious?)!

Page 277: CS270: Lecture 1. - People

Wrap up.

Dueling players:Toll player raises tolls on congested edges.Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),and helpful (mysterious?)!

Page 278: CS270: Lecture 1. - People

Wrap up.

Dueling players:Toll player raises tolls on congested edges.Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),and helpful (mysterious?)!

Page 279: CS270: Lecture 1. - People

Wrap up.

Dueling players:Toll player raises tolls on congested edges.Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),

and helpful (mysterious?)!

Page 280: CS270: Lecture 1. - People

Wrap up.

Dueling players:Toll player raises tolls on congested edges.Congestion player avoids tolls.

Converges to near optimal solution!

A lower bound is “necessary” (natural),and helpful (mysterious?)!

Page 281: CS270: Lecture 1. - People

Done for the day.....

...see you on Thursday.