Thank You!

Post on 02-Jan-2016

21 views 0 download

Tags:

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!

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

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”

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

Susumu HaradaUsing one’s voice to control a mouse

Vocal Joystick / VoiceDraw

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

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

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

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!

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!

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

What Can We Solve?Interesting Problems Can Be Hard

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

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

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

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

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

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!

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

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

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

When Addition FailsThe Limits are Closer than You Think

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

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

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

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

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

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

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