Table of Contents
Welcome to CSE 589  Applied Algorithms
Administrivia
Course Goals
Other
Plan For Today
Algorithm Design Goals
Keeping Score: The RAM Model of Computation
Types of complexity
Big Oh Notation
Growth Rates, etc.
CS 15251
The future belongs to the computer scientist who has
Course Content
A survey of fundamental theoretical ideas in Computer Science as they occur in a variety of important applications
Growth Rates
Recursion
Randomization
Hashing
Reduction
Parallel Versus Sequential Work
Dating
Private Communication
Factoring / Multiplication
An introduction to discrete mathematics
Count without counting: Estimate, Calculate, Analyze
Induction has many guises. Master their interrelationship.
Map Coloring
Effective problem solving, learning, and communication techniques
Exemplification: Try out a problem or solution on small examples.
Representation: Understand the relationship between different representations of the same information or idea
Modularity: Decompose a complex problem into simpler subproblems
Abstraction: Abstract away the inessential features of a problem
Refinement: The best solution comes from a process of repeatedly refining and inventing alternative solutions
PPT Slide
Similarity: A significant form of intellectual progress is to be able to classify and manipulate distinct objects with regard to a sense in which they are similar.
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
PPT Slide
Appreciate Alternative Solutions To The Same Problem
Martial Arts 101
Scanning the brains of master problem solvers
Aside to university students
Aside to university students
PPT Slide
The Master Programmer
A case study.
Examples
Impatient Hacker (Novice Level Solution)
Performance Analysis: Counting Without Executing
“Expert” Hacker (Black Belt Level)
Comparing an input word with each of 70,000 dictionary entries takes about 15 seconds.
The master keeps trying to refine the solution.
Master Solution
Suppose the dictionary was the list below.
After each word, write its “signature” (sort its letters)
Sort by the signatures
Master Program
PPT Slide
PPT Slide
Learning Advice
NAME: Preprocessing
The Mathematics Of 1950’s Dating: Who wins the battle of the sexes?
PPT Slide
PPT Slide
Dating Scenario
PPT Slide
There is more than one notion of what constitutes a “good” pairing.
PPT Slide
Rogue Couples
Why be with them when we can be with each other?
Stable Pairings
Stability is primary.
The study of stability will be the subject of the entire lecture.
Given a set of preference lists, how do we find a stable pairing?
Given a set of preference lists, how do we find a stable pairing?
Existence Question
PPT Slide
PPT Slide
An Instructive Variant: Roommate Problem
An Instructive Variant: Roommate Problem
An Instructive Variant: Roommate Problem
An Instructive Variant: Roommate Problem
Unstable roommates in perpetual motion.
Insight
Insight
The Traditional Marriage Algorithm
The Traditional Marriage Algorithm
Traditional Marriage Algorithm
Does the Traditional Marriage Algorithm always produce a stable pairing?
Does the Traditional Marriage Algorithm always produce a stable pairing?
Does TMA always terminate?
Traditional Marriage Algorithm
Lemma: No boy can be rejected by all the girls
Theorem: The TMA always terminates in at most n2 days
Great! We know that TMA will terminate and produce a pairing. But is it stable?
MAYBE Lemma: In TMA if on day i a girl says “maybe” to boy b, she is guaranteed to marry a husband that she likes at least as much as b
MAYBE Lemma: In TMA if on day i a girl says “maybe” to boy b, she is guaranteed to marry a husband that she likes at least as much as b
Corollary: Each girl will marry her absolute favorite of the boys who visit her during the TMA
Theorem: Let T be the paring produced by TMA. T is stable.
Opinion Poll
Forget TMA for a moment
The Optimal Girl
The Pessimal Girl
Dating Heaven and Hell
Dating Heaven and Hell
Dating Heaven and Hell
The Naked Mathematical Truth!
Theorem: TMA produces a maleoptimal pairing
Some boy b got rejected by his optimal girl g because she said “maybe” to a preferred b*. b* likes g at least as much as his optimal girl.
Some boy b got rejected by his optimal girl g because she said “maybe” to a preferred b*. b* likes g at least as much as his optimal girl.
What proof technique did we just use?
What proof technique did we just use?
Theorem: The TMA pairing, T, is femalepessimal.
Advice to females
The largest, most successful dating service in the world uses a computer to run TMA !
“The Match”: Doctors and Medical Residencies
History
History
History
History
History
History Repeats Itself! NY TIMES, March 17, 1989
NY TIMES
