Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw



Podobne dokumenty
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Zarys algorytmów kryptograficznych

Szyfrowanie RSA (Podróż do krainy kryptografii)

INFORMATYKA KLUCZ DO ZROZUMIENIA KARIERY DOBROBYTU

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Zadanie 1. Potęgi (14 pkt)

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Wybrane podstawowe rodzaje algorytmów

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Algorytmy zachłanne. dr inż. Urszula Gałązka

Czy wszystko można policzyć na komputerze

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

TEORIA GRAFÓW I SIECI

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Informatyka w logistyce przedsiębiorstw wykład 5

Kod U2 Opracował: Andrzej Nowak

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

Techniki multimedialne

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Luty 2001 Algorytmy (7) 2000/2001

Informatyka bez komputera. Katarzyna Olędzka

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Algorytmy asymetryczne

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

SCENARIUSZ LEKCJI. Autorzy scenariusza: Krzysztof Sauter (informatyka), Marzena Wierzchowska (matematyka)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Informatyka bez komputera. Janusz S. Wierzbicki

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

Metody Programowania

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Zapis liczb binarnych ze znakiem

Systemy zapisu liczb.

Temat: Algorytm kompresji plików metodą Huffmana

Zasady analizy algorytmów

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Technologie Informacyjne

CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE

L6.1 Systemy liczenia stosowane w informatyce

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP WOJEWÓDZKI BIAŁYSTOK, 16 MARCA 2018

Pracownia Komputerowa wykład V

EGZAMIN MATURALNY Z INFORMATYKI

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Obliczenia Wysokiej Wydajności

Efektywność algorytmów

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Teoretyczne Podstawy Informatyki

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Algorytmy i struktury danych. Wykład 4

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

O ISTOTNYCH OGRANICZENIACH METODY

Programowanie dynamiczne cz. 2

TEORETYCZNE PODSTAWY INFORMATYKI

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

2 Kryptografia: algorytmy symetryczne

PODSTAWY INFORMATYKI. Informatyka? - definicja

Technologie Informacyjne

Matematyczne Podstawy Informatyki

PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA

Złożoność obliczeniowa klasycznych problemów grafowych

TEORETYCZNE PODSTAWY INFORMATYKI

Zapisywanie algorytmów w języku programowania

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Podstawy Informatyki

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Jeszcze o algorytmach

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

EGZAMIN MATURALNY Z INFORMATYKI

Programowanie sieciowe. Tadeusz Trzaskalik

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Próbny egzamin maturalny z matematyki Poziom rozszerzony

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Transkrypt:

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Michał Rad 08.10.2015

Co i po co będziemy robić Cele zajęć informatycznych: Alfabetyzacja komputerowa Biegłość komputerowa Myślenie komputacyjne

Co to jest myślenie komputacyjne? Takie sformułowanie problemu, że można posłużyć się w jego rozwiązaniu komputerem Problem polega na logicznej organizacji danych Problem daje się rozwiązać za pomocą algorytmu Projektowanie, analiza i implementacja prowadzi do rozwiązania efektywnego, wykorzystującego możliwości komputera Nabyte doświadczenie daje się wykorzystać do rozwiązywanie innych podobnych problemów

Szersze podejście do informatyki - computing Computer Engineering budowa i konstrukcja sprzętu komputerowego; Information Systems tworzenie systemów informacyjnych; Information Technology technologia informacyjna, zastosowania informatyki w różnych dziedzinach; Software Engineering produkcja oprogramowania; Computer Science studia podstawowe, uniwersyteckie studia informatyczne.

Inna definicja informatyki Informatyka jest dziedziną wiedzy i działalności zajmującą się algorytmami

Algorytmy? A komputery? Informatyka jest w takim sensie nauką o komputerach, jak biologia jest nauką o mikroskopach, a astronomia nauką o teleskopach. Edsger Dijkstra (1930-2002) algorytm znajdowania najkrótszej drogi problem ucztujących filozofów

A więc komputer - narzędziem Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś naprawdę, zanim nie zdoła nauczyć tego komputera. Donald Knuth The Art of Computer Programming TEX literate programming.

Czy komputer może wszystko? Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań. Ralph Gomory IBM

Algorytm jest najważniejszy Prosty przykład: podnoszenie do potęgi: x n to x*x*... (n mnożeń)

Algorytm czas potrzebny do realizacji Podniesienie x do potęgi zawierającej 35 cyfr zajęło by metodą zwykłą 4*10 8 lat na superkomputerze o prędkości 1PFlops (czyli 10 15 operacji na sekundę)

Lepsze podejście A można tak: x n =(x n/2 ) 2 Wykonywanych jest ok 2 log 2 n mnożeń 1 jeśli n=0 ( x ( n/ 2) ) 2 jeśli n jest parzyste ={ } x n ( x n 1 ) x jeśli n jest nieparzyste Tą metodą podniesienie x do potęgi zawierającej 35 cyfr wymaga 206 mnożeń A po co podnosić liczby do takich potęg? - algorytm szyfrowania RSA

Co to jest RSA? RSA jeden z pierwszych i obecnie najpopularniejszych asymetrycznych algorytmów kryptograficznych z kluczem publicznym, zaprojektowany w 1977 przez Rona Rivesta, Adi Shamira oraz Leonarda Adlemana. Bezpieczeństwo szyfrowania opiera się na trudności faktoryzacji dużych liczb złożonych Z algorytmu RSA korzysta narzędzie do szyfrowania poczty i podpisów cyfrowych PGP

Wyjaśnienie Algorytm asymetryczny szyfrowania algorytm z dwoma lub więcej kluczami szyfrowania: publicznym i prywatnym Faktoryzacja rozkład na czynniki które po wymnożeniu dadzą rozkładana liczbę Pretty Good Privacy (PGP) narzędzie do szyfrowania poczty elektronicznej.

Dygresja 1 Flops to jest jedna operacja zmiennoprzecinkowa na sekundę (Floating operations per second) i jest to miara prędkości komputera Przedrostki Tera 10 12 Peta 10 15 Obecnie najszybsze komputery to: 1) Tianhe-2 (MilkyWay-2) (chiński uniwersytet obrony) 33862.7 Tflops 2) Titan - Cray XK7 (USA) 17590 Tflops (http://www.top500.org/lists/2014/06/)

A u nas? PROMETHEUS 1262.4 Tflops wg ostatniego rankingu 49 na liście top500 ZEUS 266.9 Tflops wg ostatniego rankingu 269 na liście top500 Komputery należą do ACK Cyfronet

Wracając do algorytmu...

Algorytm lepszy 1 jeśli n=0 ( x ( n/ 2) ) 2 jeśli n jest parzyste ={ } x n ( x n 1 ) x jeśli n jest nieparzyste

Czym różnią się te algorytmy? Różnią się złożonością obliczeniową n oraz 2log 2 n Co to jest w takim razie złożoność obliczeniowa? Jest to funkcja określająca ilość zasobów potrzebnych do wykonania danego algorytmu w zależności od rozmiaru danych wejściowych zasobami mogą być: czas, pamięć, ilość procesorów

Złożoność obliczeniowa

Ułóżmy pierwszy algorytm Algorytm obliczania miejsc zerowych wielomianu Dane wejściowe a,b,c Przepis Dane wyjściowe

Algorytm najkrótszej drogi Dany jest zbiór węzłów (np. miast) oraz tabela odległości między nimi należy znaleźć najkrótszą drogę Algorytm 'tępy' sprawdzić wszystkie możliwości. Jeżeli jest n miast to n! Algorytm Dijkstry złożoność n 2 (w zależności od implementacji)

Algorytm Dijkstry Opis algorytmu Dijkstry: Algorytm Dijkstry znajduje najkrótszą drogę z wierzchołka s (zwanego źródłem) do wierzchołka t (zwanego ujściem) w grafie, w którym wszystkim krawędziom nadano nieujemne wagi. Polega na przypisaniu wierzchołkom pewnych wartości liczbowych. Taką liczbę nazwijmy cechą wierzchołka. Cechę wierzchołka v nazwiemy stałą gdy jest równa długości najkrótszej drogi z s do v albo, w przeciwnym przypadku, tymczasową. Na początku wszystkie wierzchołki, oprócz s, otrzymują tymczasowe cechy. źródło s otrzymuje cechę stałą równą 0. Następnie wszystkie wierzchołki połączone krawędzią z wierzchołkiem s otrzymują cechy tymczasowe równe odległości od s. Potem wybierany jest spośród nich wierzchołek o najmniejszej cesze tymczasowej. Oznaczmy go v. Cechę tego wierzchołka zamieniamy na stałą oraz przeglądamy wszystkie wierzchołki połączone z v. Jeśli droga z s do któregoś z nich, przechodząca przez v ma mniejszą długość od tymczasowej cechy tego wierzchołka, to zmniejszamy tą cechę. Ponownie znajdujemy wierzchołek o najmniejszej cesze tymczasowej i zamieniamy cechę tego wierzchołka na stałą. Kontynuujemy to postępowanie aż do momentu zamiany cechy wierzchołka t na stałą (czyli obliczenia długości najkrótszej drogi z s do t).

Algorytm Dijkstry Jest to algorytm zachłanny algorytm, który w celu wyznaczenia rozwiązania w każdym kroku dokonuje zachłannego, tj. najlepiej rokującego w danym momencie wyboru rozwiązania częściowego Nie zawsze algorytm zachłanny prowadzi do optymalnego rozwiązania

Problem komiwojażera Typowy problem należący do problemów o złożoności obliczeniowej n! Jest to problem np-trudny (nie ma algorytmu dokładnego o wielomianowej złożoności obliczeniowej) Istnieją natomiast algorytmy przybliżone, heurystyczne heurystyka - zbiór reguł oraz wskazówek, które mogą, lecz nie muszą, prowadzić do właściwego rozwiązania.

Kompresja Prawo Parkinsona w odniesieniu do komputerów: Dane zajmują zwykle całą pamięć możliwą do zapełnienia Co w takim razie można zrobić? Odpowiedzią jest kompresja danych

Na czym polega kompresja? Kompresja danych - minimalizowanie ich objętości przez reprezentację w zwięzłej postaci. Na czym może polegać? Na wykorzystaniu pewnych własności danych np. zastąpieniu często powtarzających się fragmentów umownym krótszym znakiem

Przykład Alfabet Morse'a został tak opracowany aby litery występujące najczęściej w języku Angielskim kodowane były najmniejszą liczbą znaków Kropka to 1, kreska to 0 i n f o r m a t y k a 11 01 1101 000 100 00 10 0 0100 010 10 Razem 28 bitów zamiast 11*8 w kodzie ASCII

Kompresja stratna i bezstratna Powyższe przykłady to przykłady kompresji bezstratnej tzn. takiej z której można odtworzyć dokładnie kompresowane dane Istnieje także kompresja stratna wtedy ścisłe odzyskanie danych nie jest możliwe przykłady JPG, MP3...

Pojęcia z wykładu Flops, Tflops, Pflops, Złożoność obliczeniowa, problem np-trudny, algorytm zachłanny, heurystyka Kompresja danych stratna, bezstratna Wykład został opracowany w oparciu między innymi o teksty ze strony http://www.informatykaplus.edu.pl/