thank you!
DESCRIPTION
Thank You!. The following people wish to thank you for attending the AT fair on Wednesday evening: DO-IT: Disability, Opportunities, Internetworking, and Technology AccessSTEM Hagget People's Council. Disability Statistics. In the US (according to one study): - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/1.jpg)
Thank You!
The following people wish to thank you for attending the AT fair on Wednesday evening: DO-IT: Disability, Opportunities,
Internetworking, and Technology
AccessSTEM
Hagget People's Council
2012-02-15 Katherine Deibel, Fluency in Information Technology 1
![Page 2: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/2.jpg)
Katherine Deibel, Fluency in Information Technology 2
Disability Statistics
In the US (according to one study): 16% of ages 15 to 64 is disabled
10% of the workforce is disabled
5% of the STEM workforce is disabled
1% of PhDs in STEM are disabled
Disability digital divide (another study): 20% report having a disability or chronic condition
51% of disabled go online
74% of not disabled go online
Cause: Barriers to access and use of technology
2012-02-15
Sources: Ladner CSEP590A Talk (2008), Pew Internet Study “E-patients With a Disability or Chronic Disease”
![Page 3: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/3.jpg)
Katherine Deibel, Fluency in Information Technology 3
Assistive Technologies
Using technology to augment one's abilities Utilize personal strengths to compensate for
personal weaknesses Wide range of technologies
Simple technology: canes, wheelchairs
Complex technology: computer tools
2012-02-15
![Page 4: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/4.jpg)
Susumu HaradaUsing one’s voice to control a mouse
Vocal Joystick / VoiceDraw
2012-02-15 Katherine Deibel, Fluency in Information Technology 4
![Page 5: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/5.jpg)
EdgeWrite Text Entry
Jacob Wobbrock Text entry for people with
motor difficulties PDAs
Trackballs
Etc. Simple solution:
Edges limit stylus / cursor movement
2012-02-15 Katherine Deibel, Fluency in Information Technology 5
![Page 6: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/6.jpg)
WebAnywhere
Jeff Bigham Web-based
screen reader Free to use Runs on any machine Works in the browser
http://webanywhere.cs.washington.edu/wa.php
2012-02-15 Katherine Deibel, Fluency in Information Technology 6
![Page 7: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/7.jpg)
The Potential of Technology
Creative thinking
+ Flexibility of technology
+ Awareness of issues
No problem is beyond solution
2012-02-15 Katherine Deibel, Fluency in Information Technology 7
COMPUTERS HAVE NO LIMITS!
![Page 8: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/8.jpg)
Computing Power on the Apollo
Apollo Guidance Computer: 2.048 MHz processor 32KB of RAM 4KB of ROM 4 16-bit registers for computation 4 16-bit memory registers in CPU
2012-02-15 Katherine Deibel, Fluency in Information Technology 8
THIS GOT US TO THE MOON!?!
COMPUTERS MUST HAVE NO LIMITS!
![Page 9: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/9.jpg)
Limits of TechnologyWhen adding even more memory will not do
Fluency with Information Technology
INFO100 and CSE100
Katherine Deibel
2012-02-15 Katherine Deibel, Fluency in Information Technology 9
![Page 10: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/10.jpg)
Computers Do Have Limits
Physical Limits Number of transistors we can fit on a chip
Speed of light limits transmission Philosophical Limits
Can a computer reason like a human?
Can a computer be conscious/sentient? Mathematical Limits
Some problems are intractable
Some problems are just really hard
Exactness is a problem2012-02-15 Katherine Deibel, Fluency in Information Technology 10
![Page 11: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/11.jpg)
A Historical Perspective
Understanding the limits of computers is a tale of three brilliant minds
2012-02-15 Katherine Deibel, Fluency in Information Technology 11
David Hilbert Kurt Gödel Alan Turing
![Page 12: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/12.jpg)
Turn of the Century Science
The end of the nineteenth century was a celebration of new science and the belief that everything would be solved.
2012-02-15 Katherine Deibel, Fluency in Information Technology 12
Charles Duell,U.S. Patent
Commissioner
"Everything that can be invented has been invented."Apocryphal quote misattributed to him but indicative of mindset of that era.
![Page 13: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/13.jpg)
Katherine Deibel, Fluency in Information Technology 13
Hilbert's 23 Problems
In 1900, Hilbert proposed a list of 23 key unsolved problems in mathematics and logic
2. Prove that the axioms of arithmetic are logically consistent.
10. Design an algorithm to solve any Diophantine equation with rational coefficients.
Everyone was certain that both questions had positive answers to be discovered.
2012-02-15
David Hilbert
![Page 14: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/14.jpg)
Kurt Gödel Solves Question Two
In 1931, Gödel answered if it was possible to prove arithmetic to be logical consistent
The answer was NO. Two Incompleteness Theorems:
Any sufficiently complex axiomatic system cannot be used to prove that itself is: Complete
Consistent
2012-02-15 Katherine Deibel, Fluency in Information Technology 14
Kurt Gödel
![Page 15: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/15.jpg)
Implications
Gödel's theorems awoke the idea that systems of mathematics and logic are inherently limited
Maybe some problems (like problem 10) have no algorithmic solutions Problem 10 proven in 1910
to
2012-02-15 Katherine Deibel, Fluency in Information Technology 15
Gödel, Escher, Bach
by
Douglas Hofstadter
![Page 16: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/16.jpg)
Development of the Computer
Turing worked for the British in WWII to break Nazi Germany's Enigma encryption scheme
Earlier graduate work extended Gödel's theorems to computers Developed a mathematical model of a
computer—the Turing Machine His Turing Machine
Could simulate any computer system
Demonstrated that some problems are intractable (unsolvable)
2012-02-15 Katherine Deibel, Fluency in Information Technology 16
Alan Turing
![Page 17: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/17.jpg)
Katherine Deibel, Fluency in Information Technology 17
The Turing Machine
Mathematical model of a computer consisting of An infinite tape A read-write head that
handles one cell at a time A fixed alphabet of symbols A fixed set of possible states A set of rules governing
writing, reading, head movement, state changes, etc.
2012-02-15
UW's CSE's
Steam-Powered
Turing Machine
![Page 18: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/18.jpg)
A Real-World "Turing Machine"
Everything but the infinite tape:
http://www.youtube.com/watch?v=E3keLeMwfHY
2012-02-15 Katherine Deibel, Fluency in Information Technology 18
![Page 19: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/19.jpg)
The Turing Machine
The Turing Machine is the basis for all theoretical computer science
Church-Turing Thesis:All functions that can be computed can be done so on a Turing Machine.
This allows for us to theorize about computation without programming!
2012-02-15 Katherine Deibel, Fluency in Information Technology 19
![Page 20: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/20.jpg)
The Halting Problem
Can we write a program to determine if another program will ever finish?
function willItHalt(program) {
}
2012-02-15 Katherine Deibel, Fluency in Information Technology 20
![Page 21: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/21.jpg)
The Halting Problem
If we could write willItHalt(…) Easy to determine if complex problems
have a solution
Prevent infinite loops
Would actually allow us to detect any virus or malware
It is too bad that we can never write such a program
2012-02-15 Katherine Deibel, Fluency in Information Technology 21
![Page 22: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/22.jpg)
Proof: The Halting Problem
HALT(p, i) returns true if program p halts on input i, false otherwise
function TRICK(p, i) {if(HALT(p,i) == true) loop forever;else return true;
} What happens with TRICK(TRICK,TRICK)?
2012-02-15 Katherine Deibel, Fluency in Information Technology 22
![Page 23: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/23.jpg)
TRICK(TRICK, TRICK)
Assume HALT(TRICK, TRICK) returns true TRICK does not loop forever
But… look at the code:
if(HALT(TRICK,TRICK) == true)
loop forever; Therefore, TRICK loops forever CONTRADICTION!
2012-02-15 Katherine Deibel, Fluency in Information Technology 23
![Page 24: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/24.jpg)
TRICK(TRICK, TRICK)
Assume HALT(TRICK, TRICK) returns false TRICK does loop forever
But… look at the code:
if(HALT(TRICK,TRICK) == true)
loop forever;else
return true; Therefore, TRICK halts CONTRADICTION!
2012-02-15 Katherine Deibel, Fluency in Information Technology 24
![Page 25: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/25.jpg)
TRICK(TRICK,TRICK)
TRICK cannot halt because of the contradiction it creates
TRICK cannot loop forever because of the contradiction it creates
Therefore, TRICK is impossible Therefore, HALT is impossible
2012-02-15 Katherine Deibel, Fluency in Information Technology 25
![Page 26: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/26.jpg)
The Fundamental Contradiction
A Turing Machine is so powerful that it cannot be applied to itself The self-reference problem
The Barber Paradox:The town barber shaves only those men in town who do not shave themselves.Who shaves the barber?
2012-02-15 Katherine Deibel, Fluency in Information Technology 26
![Page 27: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/27.jpg)
Implications
The intractability of the Halting Problem leads to Many problems that cannot be solved
Imperfect protection against "bad" programs
2012-02-15 Katherine Deibel, Fluency in Information Technology 27
![Page 28: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/28.jpg)
What Can We Solve?Interesting Problems Can Be Hard
2012-02-15 Katherine Deibel, Fluency in Information Technology 28
![Page 29: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/29.jpg)
What Can We Solve?
Fortunately, there are plenty of problems that Turing Machines (and computers) can solve
The question is:How efficiently can we solve them?
2012-02-15 Katherine Deibel, Fluency in Information Technology 29
![Page 30: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/30.jpg)
Problem Complexity
We have mathematical models of the complexity of problems to solve Big O notation: O( f(n) )
means a program will take f(n) steps Basic idea for this class:
Fast, easy problems take polynomial time: O(n), O(n2), O(n3), O(n log n)
Harder problems are exponential: O(2n)
2012-02-15 Katherine Deibel, Fluency in Information Technology 30
![Page 31: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/31.jpg)
Polynomial Time Problems
Sorting a list Finding the max, min, median, etc. Determining if a number is prime Finding the shortest road distance
between two cities
2012-02-15 Katherine Deibel, Fluency in Information Technology 31
![Page 32: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/32.jpg)
Solving versus Checking
There is a difference between solving a problem and checking a solution Checking a solution may take only
polynomial time
Finding the solution is the problem, especially if you have to try all the possibilities
2012-02-15 Katherine Deibel, Fluency in Information Technology 32
![Page 33: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/33.jpg)
Traveling Salesman
A salesman has to visit n cities Some cities are connected by
airplane trips Each trip has a cost associated with it The salesman wants to visit each city
exactly ONE time Can he do this? What is the minimum cost if he can?
2012-02-15 Katherine Deibel, Fluency in Information Technology 33
We have no efficient algorithm for this!
![Page 34: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/34.jpg)
Katherine Deibel, Fluency in Information Technology 34
NP-Complete Problems
NP-Complete problems Can be checked in polynomial time
Have no known efficient algorithm All NP-Complete problems are related
If we figure out how to solve one in polynomial time, we can solve ALL of them in polynomial time
Known as the "Does NP = P" problem
2012-02-15
![Page 35: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/35.jpg)
NP-Complete Problems
Traveling Salesman Graph Coloring Subset Sum Boolean Satisfiability Clique finding Knapsack problems
2012-02-15 Katherine Deibel, Fluency in Information Technology 35
All have useful applications in the real world
![Page 36: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/36.jpg)
Our Options
Approximation algorithms Give us near-optimal solutions
Probabilistic algorithms Use random numbers to get us a chance
at having the best answer
2012-02-15 Katherine Deibel, Fluency in Information Technology 36
![Page 37: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/37.jpg)
When Addition FailsThe Limits are Closer than You Think
2012-02-15 Katherine Deibel, Fluency in Information Technology 37
![Page 38: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/38.jpg)
Decimals are tricky
Remember, every number in a computer is represented in binary
We have discussed how to represent nonnegative integers But what about negative integers?
What about real numbers?
2012-02-15 Katherine Deibel, Fluency in Information Technology 38
![Page 39: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/39.jpg)
Number Formats
Computers have to play tricks with binary to represent numbers Negative numbers are done through
having a bit for indicating sign plus some other tricks
Floating point numbers (decimals) are only approximations based on binary fractions and rounding rules
2012-02-15 Katherine Deibel, Fluency in Information Technology 39
![Page 40: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/40.jpg)
Lesson: Careful Comparing
If you have to compare decimal numbers, do the following:
function fuzzyEqual(x, y, err) {
if ( Math.abs(x-y) <= err )
return true;
else
return false;
}
2012-02-15 Katherine Deibel, Fluency in Information Technology 40
![Page 41: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/41.jpg)
fuzzyEqual(x, y, err)
err is a tolerance value for how close you want to be
Math.abs makes (x-y) positive
2012-02-15 Katherine Deibel, Fluency in Information Technology 41
![Page 42: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/42.jpg)
Other Number Limits
Numbers are infinite; computers are finite All number types have upper and lower limits
Going above and below will cause either software crashes or calculation errors
Signed zero Some systems distinguish between +0 and -0
2012-02-15 Katherine Deibel, Fluency in Information Technology 42
![Page 43: Thank You!](https://reader030.vdocuments.us/reader030/viewer/2022020417/568134aa550346895d9bba8b/html5/thumbnails/43.jpg)
Summary
Computers have fundamental limits to them in terms of math and logic Some problems are unsolvable
Some are hard to solve
Some basic math can be a problem But computers do and will do amazing things
Will we have sentient AI in the future?
Will computers have emotions?
Will computers win at chess, go, shogi, etc.?
2012-02-15 Katherine Deibel, Fluency in Information Technology 43