1 / 43

Thank You!

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):

Download Presentation

Thank You!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 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 Sources: Ladner CSEP590A Talk (2008), Pew Internet Study “E-patients With a Disability or Chronic Disease” 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 Katherine Deibel, Fluency in Information Technology

  4. Vocal Joystick / VoiceDraw Susumu Harada Using one’s voice to control a mouse Katherine Deibel, Fluency in Information Technology 4

  5. EdgeWrite Text Entry • Jacob Wobbrock • Text entry for people withmotor difficulties • PDAs • Trackballs • Etc. • Simple solution: • Edges limit stylus / cursor movement Katherine Deibel, Fluency in Information Technology

  6. 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 Katherine Deibel, Fluency in Information Technology

  7. The Potential of Technology Creative thinking + Flexibility of technology + Awareness of issues No problem is beyond solution Computers have no limits! Katherine Deibel, Fluency in Information Technology

  8. 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 • THIS GOT US TO THE MOON!?! • COMPUTERS MUST HAVE NO LIMITS! Katherine Deibel, Fluency in Information Technology

  9. INFO100 and CSE100 Fluency with Information Technology Limits of TechnologyWhen adding even more memory will not do Katherine Deibel Katherine Deibel, Fluency in Information Technology

  10. 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 problem Katherine Deibel, Fluency in Information Technology

  11. A Historical Perspective • Understanding the limits of computers is a tale of three brilliant minds David Hilbert Kurt Gödel Alan Turing Katherine Deibel, Fluency in Information Technology

  12. 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. "Everything that can be invented has been invented." Apocryphal quote misattributed to him but indicative of mindset of that era. Charles Duell,U.S. Patent Commissioner 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 • Prove that the axioms of arithmetic are logically consistent. • Design an algorithm to solve any Diophantine equation with rational coefficients. • Everyone was certain that both questions had positive answers to be discovered. David Hilbert Katherine Deibel, Fluency in Information Technology

  14. 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 Kurt Gödel Katherine Deibel, Fluency in Information Technology

  15. 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 Gödel, Escher, BachbyDouglas Hofstadter Katherine Deibel, Fluency in Information Technology

  16. 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) Alan Turing 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. UW's CSE's Steam-Powered Turing Machine Katherine Deibel, Fluency in Information Technology

  18. A Real-World "Turing Machine" Everything but the infinite tape: http://www.youtube.com/watch?v=E3keLeMwfHY Katherine Deibel, Fluency in Information Technology

  19. 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! Katherine Deibel, Fluency in Information Technology

  20. The Halting Problem • Can we write a program to determine if another program will ever finish?function willItHalt(program) {} Katherine Deibel, Fluency in Information Technology

  21. 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 Katherine Deibel, Fluency in Information Technology

  22. 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)? Katherine Deibel, Fluency in Information Technology

  23. 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! Katherine Deibel, Fluency in Information Technology

  24. 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! Katherine Deibel, Fluency in Information Technology

  25. 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 Katherine Deibel, Fluency in Information Technology

  26. 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? Katherine Deibel, Fluency in Information Technology

  27. Implications • The intractability of the Halting Problem leads to • Many problems that cannot be solved • Imperfect protection against "bad" programs Katherine Deibel, Fluency in Information Technology

  28. What Can We Solve? Interesting Problems Can Be Hard Katherine Deibel, Fluency in Information Technology

  29. 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? Katherine Deibel, Fluency in Information Technology

  30. 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) Katherine Deibel, Fluency in Information Technology

  31. 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 Katherine Deibel, Fluency in Information Technology

  32. 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 Katherine Deibel, Fluency in Information Technology

  33. Traveling Salesman • A salesman has to visit n cities • Some cities are connected byairplane 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? We have no efficient algorithm for this! 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 Katherine Deibel, Fluency in Information Technology

  35. NP-Complete Problems • Traveling Salesman • Graph Coloring • Subset Sum • Boolean Satisfiability • Clique finding • Knapsack problems All have useful applications in the real world Katherine Deibel, Fluency in Information Technology

  36. Our Options • Approximation algorithms • Give us near-optimal solutions • Probabilistic algorithms • Use random numbers to get us a chance at having the best answer Katherine Deibel, Fluency in Information Technology

  37. When Addition Fails The Limits are Closer than You Think Katherine Deibel, Fluency in Information Technology

  38. 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? Katherine Deibel, Fluency in Information Technology

  39. 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 Katherine Deibel, Fluency in Information Technology

  40. 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; } Katherine Deibel, Fluency in Information Technology

  41. fuzzyEqual(x, y, err) • err is a tolerance value for how close you want to be • Math.abs makes (x-y) positive Katherine Deibel, Fluency in Information Technology

  42. 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 Katherine Deibel, Fluency in Information Technology

  43. 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.? Katherine Deibel, Fluency in Information Technology

More Related