INFORMATYKA KLUCZ DO ZROZUMIENIA KARIERY DOBROBYTU Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu [email protected] http://mmsyslo.pl/ informatyka + Źródło tytułu wykładu W 1971 roku ukazała się książka: Andrzej Targowski Informatyka –

Download Report

Transcript INFORMATYKA KLUCZ DO ZROZUMIENIA KARIERY DOBROBYTU Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu [email protected] http://mmsyslo.pl/ informatyka + Źródło tytułu wykładu W 1971 roku ukazała się książka: Andrzej Targowski Informatyka –

INFORMATYKA
KLUCZ DO ZROZUMIENIA
KARIERY
DOBROBYTU
Maciej M. Sysło
Uniwersytet Wrocławski
Uniwersytet UMK w Toruniu
[email protected]
http://mmsyslo.pl/
informatyka +
2
Ź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 +
3
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 +
4
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 +
5
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 +
6
Myślenie komputacyjne
Logo IBM
z 1924 r:
computational thinking – kompetencje budowane
na mocy i ograniczeniach komputerowego
przetwarzania informacji w różnych dziedzinach.
informatyka +
7
Kryzys kształcenia informatycznego
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 +
8
Powody kryzysu
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 +
9
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 +
10
Co to jest computer?
1969:
komputer: 1. osoba, która oblicza; 2. urządzenie
stosowane do obliczeń …
informatyka +
Człowiek !!!
11
Pierwsze wystąpienie computer?
1892
Firma Rapid
Computer w
Chicago,
wytwarzała
urządzenie do
liczenia, zwane
comptometer
12
informatyka
+
12
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)
13
informatyka
+
13
13
Urządzenia do indywidualnego użytku
1617
14
informatyka
+
1623
14
… a później
Do 1972 roku …
40 mln
1 mld w 2008
Kalkulator wyparł urządzenia,
które przyczyniły się do jego
powstania!!!
informatyka +
15
Co pozostało sprzed 1972 rok, logarytm
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:
Skala 30 cm
Skala 1,5 m
informatyka +
Skala 12 m
16
Potęgowanie
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!
informatyka +
17
Co pozostało sprzed 1972 rok, logarytm
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
informatyka +
18
Kompresja
Kody:
a:
b:
d:
k:
r:
ASCII
01100001
01100010
01101100
01101011
01110010
Morse jej ojcem
Huffman
0
1110
110
1111
10
Praca
magisterska,1952
011101001111011001110100
abrakadabra
88 znaków
24 znaki
informatyka +
19
Pierwsze ręczne procesory tekstu
1875
informatyka +
20
Pierwsze ręczne procesory tekstu
Fonty – to pomysł z najstarszych maszyn do pisania
Przełom
XIX/XX
Klawiatura
QWERTY
Lata 60-80, XX w.
Wymienne fonty
informatyka +
21
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
Komputery – duże
Charles Babbage, XIX w.
II Wojna
Światowa
H. Hollerith, XIX/XX w.
Początki IBM
Z4 – K. Zuse
Colossus
23
informatyka
+
Superkomputer 2009
1015 oper/sek
23
Do 2??? roku … ?
Od kiedy???
Współczesna technologia
Nowa technologia ???
Jaka nowa technologia
zostanie stworzona na IBM
PC, która wyprze PC?
Współczesny Memex?
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?
(V. Bush, 1945)
[Stefan W. Hawking, Krótka historia czasu]
informatyka +
24
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
25
informatyka
+
25
Maszyny ogólnego przeznaczenia – PL
1. Generacja – lampy
2. Generacja – tranzystory
3. Generacja – układy scalone
2. Generacja – tranzystory
informatyka +
26
Kariery
z przełożeniem na klasę
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 także na dużą kasę
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
Wyzwania
społecznościowe
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
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
Idea P = NP
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
Problemy trudne – najkrótsza trasa premiera
Problem: Znajdź najkrótszą trasę dla Premiera przez wszystkie
miasta wojewódzkie – Premier jako komiwojażer
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)
informatyka +
32
Problemy trudne – najkrótsza trasa premiera
Wartości funkcji n!
Rosną BARDZO SZYBKO
Prezydent Stanów
Zjednoczonych ma problem
ze znalezieniem najkrótszej
trasy objazdu Stanów.
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
informatyka +
33
Problemy trudne – najkrótsza trasa premiera
Trudno sprawdzić, jak
dobre jest to rozwiązanie w
stosunku do najlepszego,
bo go nie znamy.
Zły wybór
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
informatyka +
34
TSP
TSP w USA
Ś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
informatyka +
35