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 ReportTranscript 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