Informatyka klucz do dobrobytu -...

36
INFORMATYKA KLUCZ DO ZROZUMIENIA KARIERY DOBROBYTU Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu [email protected] http://mmsyslo.pl/ 1 informatyka +

Transcript of Informatyka klucz do dobrobytu -...

INFORMATYKA KLUCZ DO ZROZUMIENIA

KARIERY DOBROBYTU

Maciej M. Sysło Uniwersytet Wrocławski

Uniwersytet UMK w Toruniu

[email protected] http://mmsyslo.pl/

1 informatyka +

Źródło tytułu wykładu

W 1971 roku ukazała się książka:

Andrzej Targowski Informatyka – klucz do dobrobytu

wtedy czytelników interesowało głównie, jak osiągnąć

dobrobyt

dzisiaj wiemy, że droga do dobrobytu wiedzie przez

zrozumienie informatyki i obranie odpowiedniej kariery,

przykłady:

krajowy: Maciej Popowicz – Nasza klasa

światowy: Mark Zukerberg – Facebook

światowy: R. Rivest, A. Shamir, L. Adleman – RSA

Donald E. Knuth – The Art of Computer Programming

??? wolne miejsce ??? – czy P = NP

informatyka + 2

Plan

• Różne twarze informatyki

– Informatyka – co to jest? Informatyka a komputery

– informatyka uniwersytecka a informatyka techniczna

– kryzys studiów informatycznych – przyczyny i działania

• Czy informatyka ma historię i co z niej wynika

• Kariery z klasą i z kasą

– David Huffman

– Claude Shanonn

– Maciej Popowicz, Mark Zukerberg, …

• Wyzwania

– liczby pierwsze

– P = NP – problemy łatwe a problemy trudne

– problem komiwojażera

informatyka + 3

Informatyka – co to jest?

• historia (połowa lat 60. XX w.):

– informatyka, informatique (Francja, decyzja Parlamentu), Infomatik

(Niemcy)

– Computer Science – kraje angielskojęzyczne

• jedna z definicji: dziedzina wiedzy i działalności zajmująca

się algorytmami – pierwszy algorytm: Euklides, 300 p.n.e.

Dość ograniczone spojrzenie, ale zawiera wszystko:

– programowanie i języki programowania – do zapisywania algorytmów

– komputer – urządzenie, które wykonuje tylko programy, a każdy

program to zapis algorytmu

– komunikacja i sieć – algorytmy komunikacyjne, komunikacja

algorytmów

informatyka + 4

Informatyka – co to jest?

• Obecnie, jako kierunek studiowania w USA, computer

science jest jedną z 5 dziedzin tzw. computing – komputyki:

– Computer Engineering – sprzęt

– Information Systems – systemy informacyjne

– Information Technology – technologia informacyjna (zastosowania

informatyki)

– Software Engineering – produkcja oprogramowania

– Computer Science – studia podstawowe, uniwersyteckie

• Computing – komputyka – zastąpiło Computer Science

• computational thinking – w edukacji –

myślenie komputacyjne

informatyka + 5

computational thinking – kompetencje budowane

na mocy i ograniczeniach komputerowego

przetwarzania informacji w różnych dziedzinach.

Logo IBM

z 1924 r:

Myślenie komputacyjne

informatyka + 6

Kryzys kształcenia informatycznego w USA (w UK):

– liczba nowych studentów na informatyce uniwersyteckiej spadła w

2007 o 49% w porównaniu do 2001/2002

– liczba absolwentów spadła o 43% między 2003/04 a 2006/07

– Eurostat: 5% osób w Polsce (16-74) umie programować, a w UE 9%

W Polsce – zauważa się podobną tendencję, spowodowaną

dodatkowo:

– niżem (okresowy spadek)

– powstawaniem kolejnych szkół prywatnych

Z drugiej strony – rośnie zapotrzebowanie na informatyków,

luki zapełniane przez absolwentów z Indii (przenoszenie

Doliny Krzemowej do Indii) i Chin.

informatyka + 7

Kryzys kształcenia informatycznego

Powody:

– uczniowie posmakowali dość technologii informacyjnej i chcą

zająć się czymś innym – TI jako „informatyka” dla wszystkich

– zmniejszony nacisk na przedmiot informatyka w szkołach

– uczniowie (nie tylko uczniowie) nie odróżniają stosowania

(narzędzi informatycznych) od ich studiowania – jak to działa i

dlaczego?

Inicjatywy zaradcze:

– Polska: stypendia dla studentów na kierunkach zamawianych

– outreach – wyjście naprzeciw do szkół – Informatyka +

informatyka + 8

Powody kryzysu

Informatyka a komputery

Opinie:

Informatyka jest w takim sensie nauką o komputerach, jak

biologia jest nauką o mikroskopach, a astronomia – nauka o

teleskopach.

[Edgar Dijkstra, Algorytm Dijkstry]

[a więc, komputer narzędziem]

Najlepszym sposobem przyspieszania komputerów jest

obarczanie ich mniejszą liczbą działań

[Ralf Gomory, IBM]

[nacisk na doskonalsze i szybsze algorytmy]

Ile i co potrafią dzisiaj komputery – np. przewidywanie pogody

informatyka + 9

Co to jest computer?

1969:

Człowiek !!! komputer: 1. osoba, która oblicza; 2. urządzenie

stosowane do obliczeń …

informatyka + 10

11

Pierwsze wystąpienie computer?

1892

Firma Rapid

Computer w

Chicago,

wytwarzała

urządzenie do

liczenia, zwane

comptometer

11 informatyka + 11

12

Krótka historia komputerów: Ludzie, idee, maszyny

Urządzenia do indywidualnego użytku:

od palców u rąk

przez IBM PC (chip)

gadżety (na chipach)

Komputery (mainframe – centralne):

maszyny różnicowa i maszyna analityczna Ch. Babbage’a

(XIX w.)

po superkomputery (także na chipach)

12 informatyka + 12

13

Urządzenia do indywidualnego użytku

informatyka + 13

1617 1623

40 mln

… a później

Kalkulator wyparł urządzenia,

które przyczyniły się do jego

powstania!!!

1 mld w 2008

Do 1972 roku …

informatyka + 14

Logarytm (John Napier, 1614)

• Ułatwia obliczanie iloczynów i ilorazów – suwak logarytmiczny (1632)

log a*b = log a + log b

zamiast mnożenia wykonujemy dodawanie

• Spostrzeżenie: logarytm i algorytm to anagramy

• Suwaki logarytmiczne – urządzenia do obliczania iloczynów i

funkcji:

Co pozostało sprzed 1972 rok, logarytm

informatyka + 15

Skala 30 cm

Skala 1,5 m Skala 12 m

Chcemy obliczyć:

x123456789123456789123456788912345

algorytmem ze szkolnej matematyki:

xn = x*x*x* … *x

n – 1 mnożeń czyli: 12345678912345678912345678912344 mnożeń

Ile to potrwa na superkomputerze, który wykonuje

1015 = 1 000 000 000 000 000 000 operacji na sekundę?

potrwa: 3*108 lat!

Potęgowanie

informatyka + 16

Logarytm

• Inne algorytmy dziel i zwyciężaj:

– przeszukiwanie binarne n liczb złożoność: log n

– podnoszenie do potęgi – algorytm rekurencyjny

Algorytm szkolny: x5 = x*x*x*x*x

Algorytm rekurencyjny:

Potega (x, n) { xn }

if n = 1 then Potega := x

else if n – parzyste then

Potega := Potega (x, n/2)^2 {xn = (xn/2)2}

else Potega := Potega (x, n – 1)*x {xn = (xn–1)x}

Liczba kroków związana z liczbą bitów w rozwinięciu n, czyli ok. log n

Co pozostało sprzed 1972 rok, logarytm

informatyka + 17

Logarytm

• Potęgowanie konsekwencje

Algorytm szkolny: x5 = x*x*x*x*x 4 mnożenia

Algorytm rekurencyjny:

Potega (x, n) { xn } ok. 2 logn mnożeń

• Zastosowania w kryptografii, RSA

Podnoszenie dużych liczb do dużych potęg. Mały przykład:

1234567890987654321234567890987654321123456789987654321

123456789012345678909876543211234567890987654321123456789098765432112345678901

Jeszcze mniejszy przykład:

x12345678901234567890123456789012345 – szkolny algorytm 108 lat

– alg. rek. … 200 mnożeń

Co pozostało sprzed 1972 rok, logarytm

informatyka + 18

011101001111011001110100

abrakadabra

Morse jej ojcem

Kody: ASCII

a: 01100001

b: 01100010

d: 01101100

k: 01101011

r: 01110010

Huffman

0

1110

110

1111

10

88 znaków 24 znaki

Kompresja

informatyka + 19

Praca

magisterska,1952

1875

Pierwsze ręczne procesory tekstu

informatyka + 20

Fonty – to pomysł z najstarszych maszyn do pisania

Wymienne fonty

Lata 60-80, XX w.

Przełom

XIX/XX

Pierwsze ręczne procesory tekstu

informatyka + 21

Klawiatura

QWERTY

Rozgrzewka

Co ci dwaj Panowie, stojący na tle komputera ENIAC, trzymają

w rękach?

Mysz?

Jedną liczbę?

Jedną cyfrę?

Klawiaturę?

Cyfra dziesiętna: 0, 1,…

zbudowana z 22 lamp!!!

informatyka + 22

23

Komputery – duże

informatyka + 23

Charles Babbage, XIX w. H. Hollerith, XIX/XX w.

Początki IBM

Z4 – K. Zuse

Colossus

II Wojna

Światowa

Superkomputer 2009

1015 oper/sek

Od kiedy???

Nowa technologia ???

Jaka nowa technologia

zostanie stworzona na IBM

PC, która wyprze PC?

Współczesna technologia

Skąd bierze się różnica

między przeszłością i przyszłością?

Dlaczego pamiętamy przeszłość,

a nie pamiętamy przyszłości? [Stefan W. Hawking, Krótka historia czasu]

Do 2??? roku … ?

Współczesny Memex? (V. Bush, 1945)

informatyka + 24

25

Akcenty polskie

• A. Stern, mechaniczny kalkulator, XIX w.

• Polish notation – J. Łukasiewicz

• Kalkulator Feliks – Feliks Dzierżyński

• Początki kryptografii komputerowej

• Arytmetyka (– 2), UMC 1, 10 – Z. Pawlak

informatyka + 25

Maszyny ogólnego przeznaczenia – PL

1. Generacja – lampy

2. Generacja – tranzystory

2. Generacja – tranzystory

3. Generacja – układy scalone

informatyka + 26

1. David Huffman (1952) – praca magisterska na temat kompresji,

idea wzięta od Morse’a – jeden z najbardziej popularnych

algorytmów kompresji

2. Claude Shannon (1935) – realizacja algebry Boole’a w postaci

układów przełączających – Najważniejsza praca dyplomowa XX w

informatyka + 27

Kariery z przełożeniem na klasę

1. Steve Jobs i Steve Wozniak, Apple (1983)

2. Bill Gates & comp. Microsoft (1975)

3. Jeff Bezos i Amazon (1994) – księgarnia internetowa, a

ostatnio Kindle – e-czytnik e-książek

4. e-Bay, Allegro – aukcje internetowe – wszystko da się

sprzedać

5. Skype

6. Nasz klasa – studenci z Uwr., praca mgr. Macieja Popowicza

7. Facebook – Mark Zukerberg

8. Twitter

9. …

informatyka + 28

Kariery z przełożeniem także na dużą kasę

1. Szukanie dużych liczb pierwszych – liczb Mersenea –

http://www.mersenne.org/ – 50 000/100 000 $ – rezydentne

oprogramowanie do pobrania ze strony, obliczenia w wolnym

czasie komputera

2. Inne obliczenia gridowe (rozproszone na sieci komputerów)

– rozkłady liczb na czynniki, np. rozkład 139 cyfrowej liczby

w ciągu kilku tygodni pracy kilkuset komputerów

3. 27.07.2010: światowy rekord sortowania – posortowano 1015

danych w ciągu 60 sek.

4. Analiza danych z Kosmosu – próby znalezienia sygnałów

życia, nowych gwiazd, …

informatyka + 29

Wyzwania społecznościowe

1900 rok: D. Hilbert przedstawia najważniejsze problemy w

matematyce. Wynikiem ważne odkrycia:

• Kurt Gödel (1931) – nie wszystko da się udowodnić w

matematyce

• Allan Turinga (1935) – nie wszystko da się policzyć na

komputerze

2000 rok; Clay Institute, MIT: 7 matematycznych problemów

milenijnych, każdy po 1 000 000 $ za rozwiązanie (jeden już

rozwiązano 2 lata temu).

Wśród nich jeden problem informatyczny: czy P = NP?

6 sierpnia 2010 ukazał się dowód, że ta równość nie zachodzi,

ale jest coraz więcej wątpliwości, czy jest poprawny

informatyka + 30

Wyzwania

Klasa P – problemy, które mają algorytmy o złożoności

wielomianowej

– porządkowanie, NWD, wartość wielomianu, podnoszenie do potęgi, …

Klasa NP – problemy, które mają wielomianowy algorytm

sprawdzania, czy rozwiązanie jest poprawne – dla tych

problemów nie jest znany algorytm o złożoności wielomianowej:

– istnienie cyklu Hamiltona w grafie, istnienie kolorowania k kolorami,

problem komiwojażera (TSP), …

Konsekwencje

P = NP – mało prawdopodobne, bo dla tysięcy problemów z NP

nie udało się podać algorytmu wielomianowego

P NP – bezpieczna kryptografia – korzyści z tego, że nie

wszystko można łatwo policzyć (kod RSA)

informatyka + 31

Idea P = NP

Problemy trudne – najkrótsza trasa premiera

Problem: Znajdź najkrótszą trasę dla Premiera przez wszystkie

miasta wojewódzkie – Premier jako komiwojażer

informatyka + 32

Rozwiązanie: Premier zaczyna w Stolicy a inne miasta może

odwiedzać w dowolnej kolejności. Tych możliwości jest:

15*14*13*12*11*…*2*1 = 15! (15 silnia)

W 1990 roku było: 48*47*46*…*2*1 = 48! (48 silnia)

Problemy trudne – najkrótsza trasa premiera

informatyka + 33

Na superkomputerze o mocy 1 PFlops – ile trwa obliczanie n!

15! = 1307674368000/1015 sek. = ok. 0.01 sek.

48! = 1,2413915592536072670862289047373*1061/1015 = 3*1038 lat

25! = 15511210043330985984000000/1015 sek. = 15511210043 sek. =

= 179528 dni = 491 lat

Wartości funkcji n!

Rosną BARDZO SZYBKO

Prezydent Stanów

Zjednoczonych ma problem

ze znalezieniem najkrótszej

trasy objazdu Stanów.

Problemy trudne – najkrótsza trasa premiera

informatyka + 34

Algorytmy przybliżone szukania rozwiązań:

1. Metoda zachłanna – najbliższy sąsiad – mogą być bardzo złe

2. Meta-heurystyki:

• algorytmy genetyczne – krzyżowanie i mutowanie rozwiązań

• algorytmy mrówkowe – modelowanie feromonów

Trudno sprawdzić, jak

dobre jest to rozwiązanie w

stosunku do najlepszego,

bo go nie znamy.

Zły wybór

TSP

informatyka + 35

Światowy TSP przez

1,904,711 miasta.

Znaleziono rozwiązanie o

długości: 7,516,353,779,

które jest tylko o 0.076%

dłuższe od optymalnego

TSP w USA