Date post: | 01-Apr-2015 |
Category: |
Documents |
Upload: | jaydon-bibby |
View: | 215 times |
Download: | 1 times |
What Computers Can’t Do For You
Catherine C. McGeoch
Amherst College
February 2005
OR/MS and Computer Science: Connections
Theory
Systems and
Languages
Problem Domains
Management Science
Operations Research
Finance
Marketing
Software
Three Themes (with variations)
Theory:
You can’t always get what you want. (Jagger)
Software Engineering:
Everything Put Together Falls Apart. (Simon)
Policy:
Oops!..I did it again. (Spears)
We’re going wrong. (Cream)
Theory and Practice and OR...
Theory
PracticeMy Research
What is experimental algorithmics?
Hockey Science: Predict the in-game puck velocities generated by new stick technologies.
Isolate Components
Attach Probes
Control Key Factors
Complexity Theory World View
Unsolvable problems
Intractable problems
Tractable problems
Interesting non-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
0
20
40
60
80
100
120
10 20 30 40 50 60
LinearQuadraticCubicExponential
Input Size
Algorithm Operations
Algorithm time as a function of input size:
NP-Hard and NP-Complete Problems
Unsolvable
Intractable
Tractable
Hundreds of problems, including many from Operations Research
Which?
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....
Constructive heuristics
Approximation Algorithms
Heuristic search
...Solutions to your problems.
With luck and compromise, algorithm research and experimental algorithmics
can give you ...
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!
Royal Australian Navy Frigate backs onto rocks after the computer overrode manual command.
Long-standing errors found in the national urology medical student match system; code was redone this year.
New kinds of spoofing possible with DNS policy change.
Serious security flaws found in Windows Eudora.
In-car computers corrupted by virus via cell phones.
catless.ncl.ac.uk/Risks
Friendly fire from Patriot missile.
Records database (35k records) stolen; at least 50 cases of identity fraud
so far.
German TollCollect system charges trucks not on the toll road.
1200 gallons of gas sold at .19/gallon.
Royal Australian Navy Frigate backs onto rocks after the computer overrode manual command.
Long-standing errors found in the national urology medical student match system; code was redone this year.
New kinds of spoofing possible with DNS policy change.
Serious security flaws found in Windows Eudora.
In-car computers corrupted by virus via cell phones.
catless.ncl.ac.uk/Risks
Friendly fire from Patriot missile.
Records database (35k records) stolen; at least 50 cases of identity fraud
so far.
German TollCollect system charges trucks not on the toll road.
1200 gallons of gas sold at .19/gallon.
And that’s just since Sunday...
Worse things have happened...
Industrial robots kill workers.
Woman kills children, attempts suicide, after erroneous HIV notification.
Therac-14. Six people die from radiation overdoses from cancer therapy machine.
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.
Patriot Act allows unprecedented electronic intrusions into privacy.
DMCA prohibits actions that are legal with non-electronic media (like books and papers).
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.
Information Technology has the potential to make our lives safer, healthier, and more enjoyable and to enrich our understanding of nature.
A future that includes improvements in our quality of life through applications of IT looks very bright.
--William Wulf
Human Genome Project
Gutenberg Project
iPOD
World Wide Web
Assistive Technologies
But things are not all bad. The future is what we make of it ...
Online Communities
Drug discovery cycle
Safer highways
Safer air travel