SlideShare ist ein Scribd-Unternehmen logo
1 von 44
15.082 and 6.855J

Network Optimization

Fall 2010

J.B. Orlin
WELCOME!
Welcome to 15.082/6.855J
Introduction to Network Optimization
Instructor: James B. Orlin
TA: David Goldberg

Textbook: Network Flows: Theory, Algorithms,
and Applications by Ahuja, Magnanti, and Orlin
referred to as AMO

2
Quick Overview
Next: The Koenigsberg Bridge Problem
 Introduces Networks and Network Algorithms
Some subject management issues
Network flows and applications
Computational Complexity
Overall goal of today’s lecture: set the tone for the rest of
the subject
 provide background
 provide motivation
 handle some class logistics
3
On the background of students
Requirement for this class
 Either Linear Programming (15.081J)
 or Data Structures
Mathematical proofs
 The homework exercises usually call for
proofs.
 The midterms will not require proofs.
 For those who have not done many proofs
before, the TA will provide guidance

4
Some aspects of the class
Fondness for Powerpoint animations
Cold-calling as a way to speed up learning of the
algorithms
Talking with partners (the person next to you in
in the classroom.)
Class time: used for presenting theory,
algorithms, applications
 mostly outlines of proofs illustrated by
examples (not detailed proofs)
 detailed proofs are in the text
5
The Bridges of Koenigsberg: Euler 1736
“Graph Theory” began in 1736
Leonard Eüler
 Visited Koenigsberg
 People wondered whether it is possible to take
a walk, end up where you started from, and
cross each bridge in Koenigsberg exactly
once
 Generally it was believed to be impossible

6
The Bridges of Koenigsberg: Euler 1736
A
1

2

3

B
5

4

C

6

D

7

Is it possible to start in A, cross over each bridge
exactly once, and end up back in A?

7
The Bridges of Koenigsberg: Euler 1736
A
1

2

3

B
5

4

C

6

D

7

Conceptualization: Land masses are “nodes”.
8
The Bridges of Koenigsberg: Euler 1736

A
1

2

3

B

5

4
6

D

C

7

Conceptualization: Bridges are “arcs.”
9
The Bridges of Koenigsberg: Euler 1736

A
1

2

3

B

5

4
6

D

C

7

Is there a “walk” starting at A and ending at A and
passing through each arc exactly once?
10
Notation and Terminology
Network terminology as used in AMO.
1
a
4

b
c

2

1
e

3
d
An Undirected Graph or
Undirected Network

a

b

2

c

e

4

3
d
A Directed Graph or
Directed Network

Network G = (N, A)
Node set N = {1, 2, 3, 4}
Arc Set A = {(1,2), (1,3), (3,2), (3,4), (2,4)}
In an undirected graph, (i,j) = (j,i)

11
Path: Example: 5, 2, 3, 4.
(or 5, c, 2, b, 3, e, 4)
•No node is repeated.
•Directions are ignored.

1

Directed Path . Example: 1, 2, 5, 3, 4
(or 1, a, 2, c, 5, d, 3, e, 4)
•No node is repeated.
•Directions are important.

Cycle (or circuit or loop)
1, 2, 3, 1. (or 1, a, 2, b, 3, e)
•A path with 2 or more nodes, except
that the first node is the last node.
•Directions are ignored.

Directed Cycle: (1, 2, 3, 4, 1) or
1, a, 2, b, 3, c, 4, d, 1
•No node is repeated.
•Directions are important.

5

c
a

b

2

c
1

a

a

2

d
3 e

5

4

d

b

3 e

4

2
b
e

1
d

3

c
4
a

2
b
e

1
d

c
4

3
Walks
1
a
4

b

2

c

1
e

3

d
5

a
4

b

2

c

e
3

d
5

Walks are paths that can repeat nodes and arcs
Example of a directed walk: 1-2-3-5-4-2-3-5
A walk is closed if its first and last nodes are the
same.
A closed walk is a cycle except that it can repeat
nodes and arcs.
13
The Bridges of Koenigsberg: Euler 1736

A
1

2

3

B

5

4
6

D

C

7

Is there a “walk” starting at A and ending at A and
passing through each arc exactly once?
Such a walk is called an eulerian cycle.

14
Adding two bridges creates such a walk
A

1

8

2
B

4

5 6

3
C

9
D

7

Here is the walk.
A, 1, B, 5, D, 6, B, 4, C, 8, A, 3, C, 7, D, 9, B, 2, A
Note: the number of arcs incident to B is twice
the number of times that B appears on the walk.

15
On Eulerian Cycles
4
A

1
6

8

2
B

4

5 6

3
C

9
D
4

4

The degree of
a node in an
undirected
graph is the
number of
incident arcs

7

Theorem. An undirected graph has an eulerian
cycle if and only if
(1) every node degree is even and
(2) the graph is connected (that is, there is a path
from each node to each other node).
More on Euler’s Theorem
Necessity of two conditions:
 Any eulerian cycle “visits” each node an even
number of times
 Any eulerian cycle shows the network is connected


caveat: nodes of degree 0

Sufficiency of the condition
 Assume the result is true for all graphs with fewer
than |A| arcs.
 Start at some node, and take a walk until a cycle C is
found.

1

5

4

7

3
17
More on Euler’s Theorem
Sufficiency of the condition
 Start at some node, and take a walk until a cycle C is
found.
 Consider G’ = (N, AC)
the degree of each node is even
 each component is connected


So, G’ is the union of Eulerian cycles
Connect G’ into a single eulerian cycle by adding C.
5

4

7

3

18
Comments on Euler’s theorem
1.

It reflects how proofs are done in class, often in
outline form, with key ideas illustrated.

2.

However, this proof does not directly lead to an
efficient algorithm. (More on this in two
lectures.)

3.

Usually we focus on efficient algorithms.

19
15.082/6.855J Subject Goals:
1. To present students with a knowledge of the
state-of-the art in the theory and practice of
solving network flow problems.
A lot has happened since 1736
2. To provide students with a rigorous analysis of
network flow algorithms.
 computational complexity & worst case
analysis
3. To help each student develop his or her own
intuition about algorithm development and
algorithm analysis.
20
Homework Sets and Grading
Homework Sets
 6 assignments
 4 points per assignment
 lots of practice problems with solutions
Grading
 homework:
 Project
 Midterm 1:
 Midterm 2:

24 points
16 points
30 points
30 points

21
Class discussion
Have you seen network models elsewhere?
Do you have any specific goals in taking this
subject?

22
Mental break
Which nation gave women the right to vote first?
New Zealand.
Which Ocean goes to the deepest depths?
Pacific Ocean
What is northernmost land on earth?
Cape Morris Jessep in Greenland
Where is the Worlds Largest Aquarium?
Epcot Center in Orlando, FL
23
Mental break
What country has not fought in a war since 1815?
Switzerland
What does the term Prima Donna mean in Opera?
The leading female singer
What fruit were Hawaiian women once forbidden by
law to eat?
The coconut
What’s the most common non-contagious disease in
the world?
Tooth decay

24
Three Fundamental Flow Problems
The shortest path problem
The maximum flow problem
The minimum cost flow problem

25
The shortest path problem
2

4

4

2

2
1

1

2

3

4

6
6
2

3

3

5

Consider a network G = (N, A) in which there is
an origin node s and a destination node t.
standard notation: n = |N|, m = |A|
What is the shortest path from s to t?
26
The Maximum Flow Problem
Directed Graph G = (N, A).
 Source s
 Sink t
 Capacities uij on arc (i,j)


Maximize the flow out of s, subject to

Flow out of i = Flow into i, for i ≠ s or t.
9
10
s

6
6

1
1

1

8

8
7

t

10
2

A Network with Arc Capacities (and the maximum flow)

27
Representing the Max Flow as an LP

10, 9

1
1,1

s
6, 6

2

max v
s.t xs1 + xs2

t
10,7

max
= v

-xs1 + x12 + x1t = 0
-xs2 - x12 + x2t = 0
-x1t - x2t

Flow out of i - Flow into i =
0 for i ≠ s or t.

8,8

= -v

0 ≤ xij ≤ uij for all (i,j)

s.t.

v

∑ j xsj
=
∑ j xij – ∑ j xji =

v
0

for each i ≠ s or t
s.t. - ∑ i xit
= -v
0 ≤ xij ≤ uij for all (i,j)

28
Min Cost Flows
5
2

$4 ,10
1

Flow out of i - Flow into i = b(i)
4

3

min
s.t

∑ i,j cijxij
∑ j xij – ∑ j xji

Each arc has a
linear cost and a
capacity

= b(i) for each i

0 ≤ xij ≤ uij for all (i,j)
Covered in detail in Chapter 1 of AMO

29
Where Network Optimization Arises
Transportation Systems
 Transportation of goods over transportation networks
 Scheduling of fleets of airplanes
Manufacturing Systems
 Scheduling of goods for manufacturing
 Flow of manufactured items within inventory systems
Communication Systems
 Design and expansion of communication systems
 Flow of information across networks
Energy Systems, Financial Systems, and much more

30
Next topic: computational complexity
What is an efficient algorithm?
How do we measure efficiency?
“Worst case analysis”

but first …

31
Measuring Computational Complexity
Consider the following algorithm for adding two m × n
matrices A and B with coefficients a( , ) and b( , ).
begin
for i = 1 to m do
for j = 1 to n do c(i,j) := a(i,j) + b(i,j)
end

What is the running time of this algorithm?
Let’s measure it as precisely as we can as a function of n and m.
Is it 2nm, or 3nm, or what?

Worst case versus average case
How do we measure the running time?
What are the basic steps that we should count?
32
Compute the running time precisely.
Operation Number (as a function of m,n)
Additions
Assignments
Comparisons
Multiplications

33
Towards Computational Complexity
1. We will ignore running time constants.
2. Our running times will be stated in terms of
relevant problem parameters, e.g., nm.
3. We will measure everything in terms of worst
case or most pessimistic analysis (performance
guarantees.)
4. All arithmetic operations are assumed to take
one step,
(or a number of steps that is bounded by a
constant).
34
A Simpler Metric for Running Time.
Operation Number (as a function of m,n)
Additions ≤ c1 mn for some c1 and m, n ≥ 1
 O(mn) steps
Assignments ≤ c2 mn for some c2 and m, n ≥ 1
 O(mn) steps
Comparisons ≤ c3 mn for some c3 and m, n ≥ 1
 O(mn) steps
TOTAL ≤ c4 mn for some c4 and m, n ≥ 1
 O(mn) steps

35
Simplifying Assumptions and Notation
MACHINE MODEL: Random Access Machine
(RAM).
This is the computer model that everyone is used
to. It allows the use of arrays, and it can select
any element of an array or matrix in O(1) steps.
 c(i,j) := a(i,j) + b(i,j).
Integrality Assumption. All numbers are integral
(unless stated otherwise.)

36
Size of a problem
The size of a problem is the number of bits
needed to represent the problem.
The size of the n × m matrix A is not nm.
 If each matrix element has K bits, the size is
nmK
 e.g., if max 2107 < aij < 2108, then K = 108.
K

= O( log (amax)).

37
Polynomial Time Algorithms
We say that an algorithm runs in polynomial time
if the number of steps taken by an algorithm on
any instance I is bounded by a polynomial in the
size of I.
We say that an algorithm runs in exponential time
if it does not run in polynomial time.
Example 1: finding the determinant of a matrix
can be done in O(n3) steps.
 This is polynomial time.

38
Polynomial Time Algorithms
Example 2: We can determine if n is prime by dividing n by
every integer less than n.
 This algorithm is exponential time.
 The size of the instance is log n
 The running time of the algorithm is O(n).
 Side note: there is a polynomial time algorithm for
determining if n is prime.
Almost all of the algorithms presented in this class will be
polynomial time.
One can find an Eulerian cycle (if one exists) in O(m) steps.
There is no known polynomial time algorithm for finding a
min cost traveling salesman tour
39
On polynomial vs exponential time
We contrast two algorithm, one that takes 30,000 n3
steps, and one that takes 2n steps.
Suppose that we could carry out 1 billion steps per
second.
# of nodes
n = 30,
n = 40,
n = 50
n = 60

30,000 n3 steps 2n steps
0.81 seconds
1 second
1.92 seconds
17 minutes
3.75 seconds
12 days
6.48 seconds
31 years
40
On polynomial vs. exponential time
Suppose that we could carry out 1 trillion steps
per second, and instantaneously eliminate
99.9999999% of all solutions as not worth
considering

# of nodes
n = 70,
n = 80,
n = 90
n = 100

1,000 n10 steps
2.82 seconds
10.74 seconds
34.86 seconds
100 seconds

2n steps
1 second
17 minutes
12 days
31 years
41
Overview of today’s lecture
Eulerian cycles
Network Definitions
Network Applications
Introduction to computational complexity

42
Upcoming Lectures
Lecture 2: Review of Data Structures
 even those with data structure backgrounds
are encouraged to attend.
Lecture 3. Graph Search Algorithms.
 how to determine if a graph is connected
 and to label a graph
 and more

43
MITOpenCourseWare
http://ocw.mit.edu

15.082J / 6.855J / ESD.78J Network Optimization
Fall 2010

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

Weitere ähnliche Inhalte

Was ist angesagt?

Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programming
zukun
 
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
Roman Elizarov
 

Was ist angesagt? (20)

Backtracking & branch and bound
Backtracking & branch and boundBacktracking & branch and bound
Backtracking & branch and bound
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
013_20160328_Topological_Measurement_Of_Protein_Compressibility
013_20160328_Topological_Measurement_Of_Protein_Compressibility013_20160328_Topological_Measurement_Of_Protein_Compressibility
013_20160328_Topological_Measurement_Of_Protein_Compressibility
 
Pyoneers - IITGN CSE Seminar Presentation
Pyoneers - IITGN CSE Seminar PresentationPyoneers - IITGN CSE Seminar Presentation
Pyoneers - IITGN CSE Seminar Presentation
 
Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programming
 
Absorbing Random Walk Centrality
Absorbing Random Walk CentralityAbsorbing Random Walk Centrality
Absorbing Random Walk Centrality
 
Randomized algorithms all pairs shortest path
Randomized algorithms  all pairs shortest pathRandomized algorithms  all pairs shortest path
Randomized algorithms all pairs shortest path
 
Dijksatra
DijksatraDijksatra
Dijksatra
 
Dynamic Programming - Part II
Dynamic Programming - Part IIDynamic Programming - Part II
Dynamic Programming - Part II
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 
1524 elliptic curve cryptography
1524 elliptic curve cryptography1524 elliptic curve cryptography
1524 elliptic curve cryptography
 
Algorithmic Data Science = Theory + Practice
Algorithmic Data Science = Theory + PracticeAlgorithmic Data Science = Theory + Practice
Algorithmic Data Science = Theory + Practice
 
Lecture warshall floyd
Lecture warshall floydLecture warshall floyd
Lecture warshall floyd
 
ACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2015 NEERC (Northeastern European Regional Contest) Problems Review
 
Graph Summarization with Quality Guarantees
Graph Summarization with Quality GuaranteesGraph Summarization with Quality Guarantees
Graph Summarization with Quality Guarantees
 
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
 
TRIEST: Counting Local and Global Triangles in Fully-Dynamic Streams with Fix...
TRIEST: Counting Local and Global Triangles in Fully-Dynamic Streams with Fix...TRIEST: Counting Local and Global Triangles in Fully-Dynamic Streams with Fix...
TRIEST: Counting Local and Global Triangles in Fully-Dynamic Streams with Fix...
 
Muchtadi
MuchtadiMuchtadi
Muchtadi
 
Cs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer keyCs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer key
 
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2013 NEERC (Northeastern European Regional Contest) Problems Review
 

Ähnlich wie Mit15 082 jf10_lec01

Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
SintooChauhan6
 
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
zukun
 
Semet Gecco06
Semet Gecco06Semet Gecco06
Semet Gecco06
ysemet
 
Ch24 efficient algorithms
Ch24 efficient algorithmsCh24 efficient algorithms
Ch24 efficient algorithms
rajatmay1992
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
Sajid Marwat
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
KUSHDHIRRA2111026030
 

Ähnlich wie Mit15 082 jf10_lec01 (20)

Design and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture NotesDesign and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture Notes
 
Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
Decision Maths 1 Chapter 3 Algorithms on Graphs (including Floyd A2 content)....
 
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
 
Project Management Techniques
Project Management TechniquesProject Management Techniques
Project Management Techniques
 
Branch and bounding : Data structures
Branch and bounding : Data structuresBranch and bounding : Data structures
Branch and bounding : Data structures
 
Clock Skew Compensation Algorithm Immune to Floating-Point Precision Loss
Clock Skew Compensation Algorithm Immune to Floating-Point Precision LossClock Skew Compensation Algorithm Immune to Floating-Point Precision Loss
Clock Skew Compensation Algorithm Immune to Floating-Point Precision Loss
 
Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis
 
Traveling Salesman Problem in Distributed Environment
Traveling Salesman Problem in Distributed EnvironmentTraveling Salesman Problem in Distributed Environment
Traveling Salesman Problem in Distributed Environment
 
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENTTRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
TRAVELING SALESMAN PROBLEM IN DISTRIBUTED ENVIRONMENT
 
Semet Gecco06
Semet Gecco06Semet Gecco06
Semet Gecco06
 
Ch24 efficient algorithms
Ch24 efficient algorithmsCh24 efficient algorithms
Ch24 efficient algorithms
 
Time complexity.ppt
Time complexity.pptTime complexity.ppt
Time complexity.ppt
 
algorithm Unit 3
algorithm Unit 3algorithm Unit 3
algorithm Unit 3
 
Learning multifractal structure in large networks (Purdue ML Seminar)
Learning multifractal structure in large networks (Purdue ML Seminar)Learning multifractal structure in large networks (Purdue ML Seminar)
Learning multifractal structure in large networks (Purdue ML Seminar)
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
 
5.3 dyn algo-i
5.3 dyn algo-i5.3 dyn algo-i
5.3 dyn algo-i
 
CS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdfCS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdf
 
Introduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptxIntroduction to data structures and complexity.pptx
Introduction to data structures and complexity.pptx
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Mit15 082 jf10_lec01

  • 1. 15.082 and 6.855J Network Optimization Fall 2010 J.B. Orlin
  • 2. WELCOME! Welcome to 15.082/6.855J Introduction to Network Optimization Instructor: James B. Orlin TA: David Goldberg Textbook: Network Flows: Theory, Algorithms, and Applications by Ahuja, Magnanti, and Orlin referred to as AMO 2
  • 3. Quick Overview Next: The Koenigsberg Bridge Problem  Introduces Networks and Network Algorithms Some subject management issues Network flows and applications Computational Complexity Overall goal of today’s lecture: set the tone for the rest of the subject  provide background  provide motivation  handle some class logistics 3
  • 4. On the background of students Requirement for this class  Either Linear Programming (15.081J)  or Data Structures Mathematical proofs  The homework exercises usually call for proofs.  The midterms will not require proofs.  For those who have not done many proofs before, the TA will provide guidance 4
  • 5. Some aspects of the class Fondness for Powerpoint animations Cold-calling as a way to speed up learning of the algorithms Talking with partners (the person next to you in in the classroom.) Class time: used for presenting theory, algorithms, applications  mostly outlines of proofs illustrated by examples (not detailed proofs)  detailed proofs are in the text 5
  • 6. The Bridges of Koenigsberg: Euler 1736 “Graph Theory” began in 1736 Leonard Eüler  Visited Koenigsberg  People wondered whether it is possible to take a walk, end up where you started from, and cross each bridge in Koenigsberg exactly once  Generally it was believed to be impossible 6
  • 7. The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 C 6 D 7 Is it possible to start in A, cross over each bridge exactly once, and end up back in A? 7
  • 8. The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 C 6 D 7 Conceptualization: Land masses are “nodes”. 8
  • 9. The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Conceptualization: Bridges are “arcs.” 9
  • 10. The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Is there a “walk” starting at A and ending at A and passing through each arc exactly once? 10
  • 11. Notation and Terminology Network terminology as used in AMO. 1 a 4 b c 2 1 e 3 d An Undirected Graph or Undirected Network a b 2 c e 4 3 d A Directed Graph or Directed Network Network G = (N, A) Node set N = {1, 2, 3, 4} Arc Set A = {(1,2), (1,3), (3,2), (3,4), (2,4)} In an undirected graph, (i,j) = (j,i) 11
  • 12. Path: Example: 5, 2, 3, 4. (or 5, c, 2, b, 3, e, 4) •No node is repeated. •Directions are ignored. 1 Directed Path . Example: 1, 2, 5, 3, 4 (or 1, a, 2, c, 5, d, 3, e, 4) •No node is repeated. •Directions are important. Cycle (or circuit or loop) 1, 2, 3, 1. (or 1, a, 2, b, 3, e) •A path with 2 or more nodes, except that the first node is the last node. •Directions are ignored. Directed Cycle: (1, 2, 3, 4, 1) or 1, a, 2, b, 3, c, 4, d, 1 •No node is repeated. •Directions are important. 5 c a b 2 c 1 a a 2 d 3 e 5 4 d b 3 e 4 2 b e 1 d 3 c 4 a 2 b e 1 d c 4 3
  • 13. Walks 1 a 4 b 2 c 1 e 3 d 5 a 4 b 2 c e 3 d 5 Walks are paths that can repeat nodes and arcs Example of a directed walk: 1-2-3-5-4-2-3-5 A walk is closed if its first and last nodes are the same. A closed walk is a cycle except that it can repeat nodes and arcs. 13
  • 14. The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Is there a “walk” starting at A and ending at A and passing through each arc exactly once? Such a walk is called an eulerian cycle. 14
  • 15. Adding two bridges creates such a walk A 1 8 2 B 4 5 6 3 C 9 D 7 Here is the walk. A, 1, B, 5, D, 6, B, 4, C, 8, A, 3, C, 7, D, 9, B, 2, A Note: the number of arcs incident to B is twice the number of times that B appears on the walk. 15
  • 16. On Eulerian Cycles 4 A 1 6 8 2 B 4 5 6 3 C 9 D 4 4 The degree of a node in an undirected graph is the number of incident arcs 7 Theorem. An undirected graph has an eulerian cycle if and only if (1) every node degree is even and (2) the graph is connected (that is, there is a path from each node to each other node).
  • 17. More on Euler’s Theorem Necessity of two conditions:  Any eulerian cycle “visits” each node an even number of times  Any eulerian cycle shows the network is connected  caveat: nodes of degree 0 Sufficiency of the condition  Assume the result is true for all graphs with fewer than |A| arcs.  Start at some node, and take a walk until a cycle C is found. 1 5 4 7 3 17
  • 18. More on Euler’s Theorem Sufficiency of the condition  Start at some node, and take a walk until a cycle C is found.  Consider G’ = (N, AC) the degree of each node is even  each component is connected  So, G’ is the union of Eulerian cycles Connect G’ into a single eulerian cycle by adding C. 5 4 7 3 18
  • 19. Comments on Euler’s theorem 1. It reflects how proofs are done in class, often in outline form, with key ideas illustrated. 2. However, this proof does not directly lead to an efficient algorithm. (More on this in two lectures.) 3. Usually we focus on efficient algorithms. 19
  • 20. 15.082/6.855J Subject Goals: 1. To present students with a knowledge of the state-of-the art in the theory and practice of solving network flow problems. A lot has happened since 1736 2. To provide students with a rigorous analysis of network flow algorithms.  computational complexity & worst case analysis 3. To help each student develop his or her own intuition about algorithm development and algorithm analysis. 20
  • 21. Homework Sets and Grading Homework Sets  6 assignments  4 points per assignment  lots of practice problems with solutions Grading  homework:  Project  Midterm 1:  Midterm 2: 24 points 16 points 30 points 30 points 21
  • 22. Class discussion Have you seen network models elsewhere? Do you have any specific goals in taking this subject? 22
  • 23. Mental break Which nation gave women the right to vote first? New Zealand. Which Ocean goes to the deepest depths? Pacific Ocean What is northernmost land on earth? Cape Morris Jessep in Greenland Where is the Worlds Largest Aquarium? Epcot Center in Orlando, FL 23
  • 24. Mental break What country has not fought in a war since 1815? Switzerland What does the term Prima Donna mean in Opera? The leading female singer What fruit were Hawaiian women once forbidden by law to eat? The coconut What’s the most common non-contagious disease in the world? Tooth decay 24
  • 25. Three Fundamental Flow Problems The shortest path problem The maximum flow problem The minimum cost flow problem 25
  • 26. The shortest path problem 2 4 4 2 2 1 1 2 3 4 6 6 2 3 3 5 Consider a network G = (N, A) in which there is an origin node s and a destination node t. standard notation: n = |N|, m = |A| What is the shortest path from s to t? 26
  • 27. The Maximum Flow Problem Directed Graph G = (N, A).  Source s  Sink t  Capacities uij on arc (i,j)  Maximize the flow out of s, subject to Flow out of i = Flow into i, for i ≠ s or t. 9 10 s 6 6 1 1 1 8 8 7 t 10 2 A Network with Arc Capacities (and the maximum flow) 27
  • 28. Representing the Max Flow as an LP 10, 9 1 1,1 s 6, 6 2 max v s.t xs1 + xs2 t 10,7 max = v -xs1 + x12 + x1t = 0 -xs2 - x12 + x2t = 0 -x1t - x2t Flow out of i - Flow into i = 0 for i ≠ s or t. 8,8 = -v 0 ≤ xij ≤ uij for all (i,j) s.t. v ∑ j xsj = ∑ j xij – ∑ j xji = v 0 for each i ≠ s or t s.t. - ∑ i xit = -v 0 ≤ xij ≤ uij for all (i,j) 28
  • 29. Min Cost Flows 5 2 $4 ,10 1 Flow out of i - Flow into i = b(i) 4 3 min s.t ∑ i,j cijxij ∑ j xij – ∑ j xji Each arc has a linear cost and a capacity = b(i) for each i 0 ≤ xij ≤ uij for all (i,j) Covered in detail in Chapter 1 of AMO 29
  • 30. Where Network Optimization Arises Transportation Systems  Transportation of goods over transportation networks  Scheduling of fleets of airplanes Manufacturing Systems  Scheduling of goods for manufacturing  Flow of manufactured items within inventory systems Communication Systems  Design and expansion of communication systems  Flow of information across networks Energy Systems, Financial Systems, and much more 30
  • 31. Next topic: computational complexity What is an efficient algorithm? How do we measure efficiency? “Worst case analysis” but first … 31
  • 32. Measuring Computational Complexity Consider the following algorithm for adding two m × n matrices A and B with coefficients a( , ) and b( , ). begin for i = 1 to m do for j = 1 to n do c(i,j) := a(i,j) + b(i,j) end What is the running time of this algorithm? Let’s measure it as precisely as we can as a function of n and m. Is it 2nm, or 3nm, or what? Worst case versus average case How do we measure the running time? What are the basic steps that we should count? 32
  • 33. Compute the running time precisely. Operation Number (as a function of m,n) Additions Assignments Comparisons Multiplications 33
  • 34. Towards Computational Complexity 1. We will ignore running time constants. 2. Our running times will be stated in terms of relevant problem parameters, e.g., nm. 3. We will measure everything in terms of worst case or most pessimistic analysis (performance guarantees.) 4. All arithmetic operations are assumed to take one step, (or a number of steps that is bounded by a constant). 34
  • 35. A Simpler Metric for Running Time. Operation Number (as a function of m,n) Additions ≤ c1 mn for some c1 and m, n ≥ 1  O(mn) steps Assignments ≤ c2 mn for some c2 and m, n ≥ 1  O(mn) steps Comparisons ≤ c3 mn for some c3 and m, n ≥ 1  O(mn) steps TOTAL ≤ c4 mn for some c4 and m, n ≥ 1  O(mn) steps 35
  • 36. Simplifying Assumptions and Notation MACHINE MODEL: Random Access Machine (RAM). This is the computer model that everyone is used to. It allows the use of arrays, and it can select any element of an array or matrix in O(1) steps.  c(i,j) := a(i,j) + b(i,j). Integrality Assumption. All numbers are integral (unless stated otherwise.) 36
  • 37. Size of a problem The size of a problem is the number of bits needed to represent the problem. The size of the n × m matrix A is not nm.  If each matrix element has K bits, the size is nmK  e.g., if max 2107 < aij < 2108, then K = 108. K = O( log (amax)). 37
  • 38. Polynomial Time Algorithms We say that an algorithm runs in polynomial time if the number of steps taken by an algorithm on any instance I is bounded by a polynomial in the size of I. We say that an algorithm runs in exponential time if it does not run in polynomial time. Example 1: finding the determinant of a matrix can be done in O(n3) steps.  This is polynomial time. 38
  • 39. Polynomial Time Algorithms Example 2: We can determine if n is prime by dividing n by every integer less than n.  This algorithm is exponential time.  The size of the instance is log n  The running time of the algorithm is O(n).  Side note: there is a polynomial time algorithm for determining if n is prime. Almost all of the algorithms presented in this class will be polynomial time. One can find an Eulerian cycle (if one exists) in O(m) steps. There is no known polynomial time algorithm for finding a min cost traveling salesman tour 39
  • 40. On polynomial vs exponential time We contrast two algorithm, one that takes 30,000 n3 steps, and one that takes 2n steps. Suppose that we could carry out 1 billion steps per second. # of nodes n = 30, n = 40, n = 50 n = 60 30,000 n3 steps 2n steps 0.81 seconds 1 second 1.92 seconds 17 minutes 3.75 seconds 12 days 6.48 seconds 31 years 40
  • 41. On polynomial vs. exponential time Suppose that we could carry out 1 trillion steps per second, and instantaneously eliminate 99.9999999% of all solutions as not worth considering # of nodes n = 70, n = 80, n = 90 n = 100 1,000 n10 steps 2.82 seconds 10.74 seconds 34.86 seconds 100 seconds 2n steps 1 second 17 minutes 12 days 31 years 41
  • 42. Overview of today’s lecture Eulerian cycles Network Definitions Network Applications Introduction to computational complexity 42
  • 43. Upcoming Lectures Lecture 2: Review of Data Structures  even those with data structure backgrounds are encouraged to attend. Lecture 3. Graph Search Algorithms.  how to determine if a graph is connected  and to label a graph  and more 43
  • 44. MITOpenCourseWare http://ocw.mit.edu 15.082J / 6.855J / ESD.78J Network Optimization Fall 2010 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

Hinweis der Redaktion

  1. This is a good time to discuss homework rules and what will be involved. It is also a good time to mention the project.
  2. See if I can tie this back to the student’s comments about thesis work.