Module Outline
Introduction
The Linear Programming Model
Examples of Linear Programming Problems
Developing Linear Programming Models
Graphical Solution to LP Problems
The Simplex Method
Simplex Tableau for Maximization Problem
Introduction
Mathematical
Single-source Shortest path
problem
directed, weighted graph is the input
specified source s.
want to compute the shortest path
from s to all the vertices.
Example:
Dijkstras algorithm:
Works when there are no negative
weight edges.
takes time O(e log
3.1 Basic Definitions and Applications
Undirected Graphs
Undirected graph. G = (V, E)
V = nodes.
E = edges between pairs of nodes.
Captures pairwise relationship between objects.
Graph size parameters: n = |V|, m = |E|.
V = cfw_ 1, 2, 3, 4, 5, 6, 7, 8
Applications of network flow
Bipartite Matching
Matching
Matching.
Input: undirected graph G = (V, E).
M E is a matching if each node appears in at most edge in M.
Max matching: find a max cardinality matching.
4
Bipartite Matching
Bipartite matching.
Inp
Public Key Cryptography
and the
RSA Algorithm
Cryptography and Network Security
by William Stallings
Private-Key Cryptography
traditional private/secret/single key
cryptography uses one key
Key is shared by both sender and receiver
if the key is disclo
CS 415 Algorithm Analysis
Lecture T Th 2 3:50 PM, Salazar Hall 2023
Instructor:
Bala Ravikumar
Office: 116 I Darwin Hall
Phone: 664 3335
E-mail through piazza
Course Web site:
https:/piazza.com/sonoma/fall2014/cs415/resources
Text book:
Published in 2006
Chapter 7
Network Flow
linear programming
Soviet Rail Network, 1955
Reference: On the history of the transportation and maximum flow
problems.
Maximum Flow and Minimum Cut
Max flow and min cut.
Two very rich algorithmic problems.
Cornerstone problems in c
Chapter 2
Divide-and-Conquer algorithms
Divide-and-conquer.
Break up problem into several parts.
Solve each part recursively.
Combine solutions to sub-problems into overall solution.
Most common usage.
Break up problem of size n into two equal parts of si
Randomized
Algorithms
Morteza ZadiMoghaddam
Amin Sayedi
Types of Randomized algorithms
Las Vegas
Monte Carlo
Las Vegas
Always gives the true answer.
Running time is random.
Running time is bounded.
Quick sort is a Las Vegas algorithm.
Monte Carlo
It may p
Chapter 2
Divide-and-Conquer algorithms
Divide-and-conquer.
Break up problem into several parts.
Solve each part recursively.
Combine solutions to sub-problems into overall solution.
Most common usage.
Break up problem of size n into two equal parts of si
Chapter 2
Divide-and-Conquer algorithms
Divide-and-conquer.
Break up problem into several parts.
Solve each part recursively.
Combine solutions to sub-problems into overall solution.
Most common usage.
Break up problem of size n into two equal parts of si
"Divide and conquer", Caesar's other famous quote "I came, I saw, I conquered"
Divide-and-conquer idea dates back to Julius Caesar.
Favorite war tactic was to divide an opposing army in two halves, and then assault
one half with his entire force.
06/13/16
Greedy Algorithms Chapter 5
Interval Scheduling
Interval scheduling.
Job j starts at sj and finishes at fj.
Two jobs compatible if they don't overlap.
Goal: find maximum subset of mutually compatible jobs.
a
b
c
d
e
f
g
h
0
1
2
3
4
5
6
7
8
9
10
11
Time
In
Introduction to Randomized
Algorithms
Some slides adapted from Srikrishnan Divakaran
DA-IICT
1
Deterministic Algorithms
INPUT
ALGORITHM
OUTPUT
Goal: Prove for all input instances the algorithm solves the
problem correctly and the number of steps is bounde
Algorithmic Paradigms
Greedy. Build up a solution incrementally, myopically optimizing
some local criterion.
Divide-and-conquer. Break up a problem into two sub-problems,
solve each sub-problem independently, and combine solution to subproblems to form so