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
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
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
Top Related