Thank You!

43
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

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 Presentation

Transcript of Thank You!

Page 1: 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

2012-02-15 Katherine Deibel, Fluency in Information Technology 1

Page 2: Thank You!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

What Can We Solve?Interesting Problems Can Be Hard

2012-02-15 Katherine Deibel, Fluency in Information Technology 28

Page 29: Thank You!

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!

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!

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!

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!

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!

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!

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!

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!

When Addition FailsThe Limits are Closer than You Think

2012-02-15 Katherine Deibel, Fluency in Information Technology 37

Page 38: Thank You!

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!

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!

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!

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!

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!

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