Evaluation of the Course (Modified) - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Evaluation of the Course (Modified)

Description:

Evaluation of the Course (Modified) Course work: 30% Four assignments (25%) 7.5 5 points for each of the first two three assignments 10 points for the last assignment – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 39
Provided by: xuying
Category:

less

Transcript and Presenter's Notes

Title: Evaluation of the Course (Modified)


1
Evaluation of the Course (Modified)
  • Course work 30
  • Four assignments (25)
  • 7.5 5 points for each of the first two three
    assignments
  • 10 points for the last assignment
  • One term paper (5) (week13 Friday)
  • Find an open problem from internet.
  • State the problem definition in English.
  • Write the definition mathematically.
  • Summarize the current status
  • No more than 1 page
  • A final exam 70

2
Single source shortest path with negative cost
edges
3
Shortest Paths Dynamic Programming
  • Def. OPT(i, v)length of shortest s-v path P
    using at most i edges.
  • Case 1 P uses at most i-1 edges.
  • OPT(i, v) OPT(i-1, v)
  • Case 2 P uses exactly i edges.
  • If (w, v) is the last edge, then OPT use the
    best s-w path using at most i-1 edges and edge
    (w, v).
  • Remark if no negative cycles, then OPT(n-1,
    v)length of shortest s-v path.

?
Cwv
s
w
v
OPT(0, s)0.
4
Shortest Paths implementation
  • Shortest-Path(G, t)
  • for each node v ? V
  • M0, v ?
  • M0, s 0
  • for i 1 to n-1
  • for each node w ? V
  • Mi, w Mi-1, w
  • for each edge (w, v) ? E
  • Mi, v min Mi, v, Mi-1, w
    cwv
  • Analysis. O(mn) time, O(n2) space.
  • m--no. of edges, nno. of nodes
  • Finding the shortest paths. Maintain a
    "successor" for each table entry.

5
Shortest Paths Practical implementations
  • Practical improvements.
  • Maintain only one array Mv shortest v-t path
    that we have found so far.
  • No need to check edges of the form (w, v) unless
    Mw changed in previous iteration.
  • Theorem. Throughout the algorithm, Mv is the
    length of some s-v path, and after i rounds of
    updates, the value Mv ? the length of shortest
    s-v path using ? i edges.
  • Overall impact.
  • Memory O(m n).
  • Running time O(mn) worst case, but substantially
    faster in practice.

6
Bellman-Ford Efficient Implementation
  • Push-Based-Shortest-Path(G, s, t)
  • for each node v ? V
  • Mv ?
  • successorv empty
  • Ms 0
  • for i 1 to n-1
  • for each node w ? V
  • if (Mw has been updated in
    previous iteration)
  • for each node v such
    that (w, v) ? E
  • if (Mv gt Mw
    cwv)
  • Mv
    Mw cwv

  • successorv w
  • If no Mw value changed in
    iteration i, stop.

Note Dijkstras Algorithm select a w with the
smallest Mw .
Time O(mn), space O(n).
7
(a)
8
5
u
v
6
8
-2
6
-3
8
0
7
s
-4
2
7
7
8
9
x
y
(b)
9
5
u
v
6
4
-2
6
-3
8
0
7
s
-4
2
7
7
2
9
x
y
(c)
10
5
u
v
2
4
-2
6
-3
8
0
7
s
-4
2
7
2
7
9
x
y
(d)
11
5
u
v
2
4
-2
6
-3
8
0
7
s
-4
2
7
7
-2
y
x
9
(e)
vertex s u v x y
d 0 2 4 7 -2 successor s v x s
u
12
Corollary If negative-weight circuit exists in
the given graph, in the n-th iteration, the cost
of a shortest path from s to some node v will be
further reduced.
  • Demonstrated by the following example.

13
5
1
6
-2
8
7
7
9
2
2
5
-8
An example with negative-weight cycle
14
i1
15
i2
16
i3
17
i4
18
5
6
11
1
6
-2
0
8
12
7
7
9
2
6
15
2
5
-8
8
1
i5
19
i6
20
5
6
11
1
6
-2
0
8
12
7
7
9
2
5
15
2
5
-8
8
0
x
i7
21
5
6
11
1
6
-2
0
8
12
7
7
9
2
5
15
2
5
-8
7
0
x
i8
22
Dijkstras Algorithm (Recall)
  • Dijkstras algorithm assumes that w(e)?0 for each
    e in the graph.
  • maintain a set S of vertices such that
  • Every vertex v ?S, dv?(s, v), i.e., the
    shortest-path from s to v has been found. (Intial
    values Sempty, ds0 and dv?)
  • (a) select the vertex u?V-S such that
  • dumin dxx ?V-S. Set
    SS?u
  • (b) for each node v adjacent to u do
    RELAX(u, v, w).
  • Repeat step (a) and (b) until SV.

23
Continue
  • DIJKSTRA(G,w,s)
  • INITIALIZE-SINGLE-SOURCE(G,s)
  • S
  • Q VG
  • while Q
  • do u EXTRACT -MIN(Q)
  • S S u
  • for each vertex v ? Adju
  • do RELAX(u,v,w)

24
u
v
s
y
x
(a)
25
u
v
1
10/s
8
10
9
0
s
3
4
6
2
7
5
5/s
8
2
y
x
(b)
(s,x) is the shortest path using one edge. It is
also the shortest path from s to x.
26
u
v
1
14/x
8/x
10
9
0
s
3
4
6
2
7
5
7/x
5/s
2
y
x
(c)
27
u
v
1
13/y
8/x
10
9
0
s
3
4
6
2
7
5
7/x
5/s
2
y
x
(d)
28
(e)
29
u
v
1
9/u
8/x
10
9
0
s
3
4
6
2
7
5
7/x
5/s
2
y
x
(f)
Backtracking v-u-x-s
30
  • Theorem Consider the set S at any time in the
    algorithms execution. For each v?S, the path Pv
    is a shortest s-v path.
  • Proof We prove it by induction on S.
  • If S1, then the theorem holds. (Because ds0
    and Ss.)
  • Suppose htat the theorem is true for Sk for
    some kgt0.
  • Now, we grow S to size k1 by adding the node v.

31
  • Proof (continue)
  • Now, we grow S to size k1 by adding the node v.
  • Let (u, v) be the last edge on our s-v path Pv.
  • Consider any other path from P s,,x,y, , v.
    (red in the Fig.)
  • y is the first node that is not in S and x?S.
  • Since we always select the node with the
    smallest value d in the algorithm, we have
    dv?dy.
  • Moreover, the length of each edge is ?0.
  • Thus, the length of P?dy?dv.
  • That is, the length of any path ?dv.
  • Therefore, our path Pv is the shortest.

y
x
s
If y does not exist, dv is the smallest length
for paths from s to v using red nodes only since
we did relax.from every red node to v.
u
v
Set S
32
The algorithm does not work if there are negative
weight edges in the graph
  • .

u
-10
2
v
s
1
S-gtv is shorter than s-gtu, but it is longer than
s-gtu-gtv.
33
0-1 version
v/w 1, 3, 3.6, 3.66, 4.
34
(No Transcript)
35
(No Transcript)
36
(No Transcript)
37
(No Transcript)
38
35
Write a Comment
User Comments (0)
About PowerShow.com