What Computers Can't Do For You

advertisement
What Computers Can’t Do For
You
Catherine C. McGeoch
Amherst College
February 2005
OR/MS and Computer Science: Connections
Marketing
Finance
Operations
Research
Management
Science
Systems and
Languages
Theory
Softwar
e
Problem
Domains
Three Themes (with variations)
Theory:
Software Engineering:
You can’t always get what you
want. (Jagger)
Everything Put Together
Falls Apart. (Simon)
Policy:
Oops!..I did it again.
(Spears)
We’re going wrong.
(Cream)
Theory and Practice and OR...
Theory
My Research
Practice
What is
experimental
algorithmics?
Hockey Science: Predict the ingame puck velocities generated
by new stick technologies.
Isolate
Components
Control Key
Factors
Attach Probes
Complexity Theory World View
Interesting
non-problems
Unsolvable problems
Intractable problems
Tractable problems
An Unsolvable Problem
The Halting Problem: Take a program P
and an input I for P. Will P go into an
infinite loop, or will it eventually halt?
Program H: Reads P and I, computes,
always correctly answers yes or no, and
never itself goes into an infinite loop.
Theorem: Program H cannot exist.
Intractable: Can be solved, but
not efficiently
Algorithm Operations
120
100
80
Linear
Quadratic
Cubic
Exponential
60
40
20
0
10
20
30
40
50
60
Input Size
Algorithm time as a function of
input size:
NP-Hard and NP-Complete
Problems
Unsolvable
Intractable
Tractable
Which?
Hundreds of problems,
including many from
Operations Research
NP-Completeness
``I can’t find an efficient algorithm, I guess I’m just too dumb.’’
NP-Completeness
``I can’t find an efficient algorithm, because no such algorithm is possible!’’
NP-Completeness
``I can’t find an efficient algorithm, but neither can all these famous people.’’
NP-Completeness
Humbug! Try harder!
Now get out of my office!
Lessons from Experimental
Algorithmics
NP-Completeness Theory is...
Pessimistic. Worst-case assumptions
about input; your input may be fine.
Usually about finding optimal
solutions. Almost-optimal might be
tractable.
Not the final word....
With luck and compromise,
algorithm research and
experimental algorithmics can
give you ...
Constructive
heuristics
Approximation
Algorithms
Heuristic search
...Solutions to your
problems.
Example: Traveling Salesperson
Problem
What is the
biggest problem
you can solve in
one day of
computing?
Theory:
about n=20
cities, worst
case.
Practice: Some
instances of size
n>10,000 have
been solved.
Theme from Theoretical
Computer Science
You can’t always get what you want ~
but if you try sometimes ~ you might
find ~ you get what you need. Oh yeah,
hey hey hey, oh ...
Software Engineering
• Methods for efficient
development of large
software systems.
• Ensure reliability,
robustness, safety.
• Predict development
cycles and times.
Software Engineering
But accidents happen!
catless.ncl.ac.uk/Risks
Royal Australian Navy Frigate backs German TollCollect system
charges trucks not on the toll
onto rocks after the computer
road.
overrode manual command.
1200 gallons of gas sold at
New kinds of
.19/gallon.
spoofing possible
Friendly fire from Patriot missile.
with DNS policy
Long-standing errors found in the
change.
national urology medical student
Serious security flaws found
match system; code was redone
in Windows Eudora.
this year.
Records database (35k
records) stolen; at least 50
cases of identity fraud so far.
In-car computers corrupted by
virus via cell phones.
catless.ncl.ac.uk/Risks
Royal Australian Navy Frigate backs German TollCollect system
charges trucks not on the toll
onto rocks after the computer
road.
overrode manual command.
1200 gallons of gas sold at
New kinds of
.19/gallon.
spoofing possible
Friendly fire from Patriot missile.
with DNS policy
Long-standing errors found in the
change.
national urology medical student
Serious security flaws found
match system; code was redone
in Windows Eudora.
this year.
Records database (35k
records) stolen; at least 50
cases of identity fraud so far.
In-car computers corrupted by
virus via cell phones.
And that’s just since Sunday...
Worse things have happened...
Therac-14. Six people die from
radiation overdoses from cancer
therapy machine.
Woman kills children,
attempts suicide, after
erroneous HIV notification.
Industrial robots kill workers.
Flight from New York to Brazil crashes
into mountain due to human/computer
navigation error.
U.S. Navy mistakenly shoots down Iranian
passenger plane.
Lessons
Software fails when ported
inappropriately to new applications.
Some error-detection problems are
unsolvable. Many are intractable.
Humans should not override
computer controls.
Computers should not override
human controls.
Theme from Software
Engineering
Uh, huh, spare your heart ~ everything put together
sooner or later falls apart ~ there’s nothing to it,
nothing to it ~ you can cry ~ you can lie ~ for all the
good it’ll do you.
Policy: Laws with Unintended
Consequences
CAN-SPAM Act is blamed for
increase in spam from 50 to 80
percent of emails.
DMCA prohibits actions that
are legal with non-electronic
media (like books and
papers).
Patriot Act allows
unprecedented electronic
intrusions into privacy.
Electronic spyware laws are
different from standard
spying laws.
Theme for Policy-Makers
Please open your mind ~ see what you
can find ~ I found out today ~ we’re going
wrong ~ we’re going wrong ~ we’re going
wrong.
Conclusions
• Not all problems can
be solved by
computers.
• Even when they can
be, software is brittle.
• Computers can’t make
policy. Neither can
policy-makers.
• Have a nice day.
But things are not all bad. The future is what we
make of it ...
Information Technology has
the potential to make our
lives safer, healthier, and
more enjoyable and to
enrich our understanding of
nature.
World Wide Web
Online Communities
Gutenberg Project
Safer highways
Safer air travel
Human Genome Project
Drug discovery cycle
Assistive
Technologies
iPOD
A future that includes
improvements in our quality
of life through applications
of IT looks very bright.
--William Wulf
Download