Temat 8. Zrobić to szybciej Sieci sortujące



Podobne dokumenty
Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

Temat 7. Najlżejsze i najcięższe algorytmy sortowania

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

Wojna morska algorytmy przeszukiwania

Temat 12. Rozkaz Wykonać! Języki programowania

Sortowanie Shella Shell Sort

Klasa 6. Liczby dodatnie i liczby ujemne

Temat pytań Teoria informacji

Klasa 6. Liczby dodatnie i liczby ujemne

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Temat 11. Poszukiwanie skarbu maszyna skończona

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)

Po wstawieniu tabeli (i zawsze wtedy, gdy w tabeli jest kursor) pojawia się na wstążce nowa grupa zakładek o nazwie Narzędzia tabel.

Sortowanie przez wstawianie Insertion Sort

Programowanie w VB Proste algorytmy sortowania

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

MODELOWANIE RZECZYWISTOŚCI

Jeszcze o algorytmach

Sortowanie. Tomasz Żak zak. styczeń Instytut Matematyki i Informatyki, Politechnika Wrocławska

Proporcjonalność prosta i odwrotna

Strategia "dziel i zwyciężaj"

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Algorytmy sortujące i wyszukujące

Obwody i pola figur -klasa 4

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Projekt O czym świadczy moja masa ciała i wzrost

KONKURS FIZYCZNY DLA UCZNIÓW GIMNAZJÓW WOJEWÓDZTWA MAZOWIECKIEGO

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Algorytmy sortujące. Sortowanie bąbelkowe

Temat 4. Magia obracanych kart Detekcja i korekcja błędów

Temat lekcji: Dzielniki, wielokrotności, podzielność liczb naturalnych.

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Sortowanie - wybrane algorytmy

PROBLEMY NIEROZSTRZYGALNE

Przykładowe rozwiązania

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Algorytmy przeszukiwania

Scenariusz nr 2 zajęć edukacji wczesnoszkolnej

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Dydaktyka matematyki (II etap edukacyjny) II rok matematyki Semestr letni 2018/2019 Ćwiczenia nr 8

Liczby całkowite. 1. Liczbą przeciwną do 4 jest liczba: A. 1 4 B. 4 C. 4 D Odczytaj, jakie liczby zaznaczono na osi liczbowej.

EGZAMIN MATURALNY 2013 INFORMATYKA

Temat 1. Zliczanie kropek numeracja dwójkowa

EGZAMIN MATURALNY 2013 INFORMATYKA

ZMIERZYĆ SIĘ Z KALKULATOREM

Jak trenować z dzieckiem koncentracje uwagi?

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Poradnik odtwarzania i zgrywania nagrao. Odtwarzanie nagrao

EGZAMIN MATURALNY 2012 INFORMATYKA

DEKODER DDC. 1). Adres lokomotywy. - Adres krótki i długi. CV1 Do 127

Sposoby przedstawiania algorytmów

Kompletna dokumentacja kontenera C++ vector w -

Metody nauczania: Rozmowa z opisem, pogadanka, ćwiczenie, działania praktyczne, burza mózgów, sytuacyjna.

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Ćwiczenia orientacji przestrzennej

Testy sprawnościowe do klasy sportowej WZPN

Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

Trening orientacji przestrzennej

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

Materiały dla finalistów

Dydaktyka matematyki (II etap edukacyjny) II rok matematyki Semestr letni 2016/2017 Ćwiczenia nr 8

XXI Krajowa Konferencja SNM

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY IV

SZKOLNA LIGA ZADANIOWA

LEKCJA TEMAT: Zasada działania komputera.

~ A ~ 1. Dany jest trójkąt prostokątny o bokach długości 12, 16 i 20. Zmniejszamy długość każdego boku o 8. Wtedy:

Modelowanie procesów współbieżnych

Temat: Wielokąty foremne- pola i obwody wielokątów foremnych.

POTĘGI I PIERWIASTKI

Wymagania programowe uporządkowane według poziomów wymagań na pierwszy semestr MATEMATYKA 2001 KLASA 4

Programowanie współbieżne Wykład 2. Iwona Kochańska

Konkurs kombinatoryczno-algorytmiczny KOALA Zadanie treningowe 2014/2015

Matematyka podstawowa I. Liczby rzeczywiste, zbiory

DZIAŁ 1. Liczby naturalne

Scenariusz lekcji matematyki w klasie V. Temat: Przykłady potęg o wykładniku naturalnym - (2 godziny).

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

17. Naprzemienne odejmowanie

Rysunek zwykle bardziej przemawia do wyobraźni niż kolumna liczb. Dlatego tak często dane statystyczne przedstawia się graficznie.

Instrukcje dla zawodników

SZYBKI ALGORYTM Z MACIERZĄ SHURA DLA MACIERZY TRÓJDIAGONALNYCH

Ćw. 7: Układy sekwencyjne

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Laboratorium Metrologii

Temat: Pole równoległoboku.

Ułamki? To proste

Temat: Algorytmy zachłanne

Wymagania programowe uporządkowane według poziomów wymagań na pierwszy semestr MATEMATYKA 2001 KLASA 5

ZADANIA KONKURSOWE Z MATEMATYKI dla klasy IV szkoły podstawowej

Zestaw 1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: Zad. 2: 2,2,2 5,5,5,5,5,5 Zad.

PORADNIA PSYCHOLOGICZNO-PEDAGOGICZNA NR 22

Przypomnienie wiadomości dla trzecioklasisty C z y p a m i ę t a s z?

Bazy danych TERMINOLOGIA

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Analiza efektywności przetwarzania współbieżnego

Scenariusz lekcji matematyki w klasie VI

Transkrypt:

Temat 8 Zrobić to szybciej Sieci sortujące Streszczenie Istnieje granica szybkości z jaką komputer może rozwiązywać konkretny problem. Czasem sposobem na zmianę tego stanu rzeczy jest równoległe użycie kilku komputerów do rozwiązania poszczególnych części problemu. W ramach tych zajęć ukazana zostanie pojecie sieci sortujących, które pozwalają na wykonywanie kilku porównań w tym samym czasie. Wiek 7 lat i więcej Materiały Zajęcia te można prowadzić w sali lub poza salą lekcyjną. Wymagają pracy grupowej. kreda dwa zestawy specjalnych kart szablon Sieci sortujące (s. 73) stoper Photocopiable for classroom use only. 71

Sieci sortujące Przed zajęciami sieć należy wyrysować kredą np. na boisku szkolnym. Instrukcja dla uczniów W czasie tych zajęć ukazany będzie sposób porządkowania liczb za pomocą tzw. sieci sortującej. 1. Tworzymy drużyny 6-ososbowe. W danym momencie tylko jedna drużyna korzysta z sieci. 2. Każda osoba z drużyny otrzymuje kartę, na której jest zapisana pewna liczba. 3. Każda osoba staje wewnątrz kwadratu po stronie wejścia do sieci. 4. Poruszamy się wzdłuż narysowanych linii, i po dotarciu do okrągłego pola czekamy na spotkanie z inną osobą. 5. Porównujemy liczby zapisane na kartach. Osoba z mniejszą liczbą na karcie porusza się dalej w lewą stronę. Osoba z większą liczbą w prawą stronę. 6. Czy po dotarciu do wyjścia liczby na kartach są uporządkowane? W przypadku jakiegokolwiek błędu trzeba wykonać zadanie od początku. Poniższy rysunek ukazuje przykład sortowania w sieci. Rysunek może być pomocny w przypadku, gdy powyżej zapisana instrukcja nie jest do końca zrozumiała dla wszystkich: 72 Photocopiable for classroom use only. 2005 Computer Science Unplugged (www.unplugged.canterbury.ac.nz)

Szablon: Sieci sortujące 1 2 3 4 5 6 156 221 289 314 422 499 Photocopiable for classroom use only. 73

Modyfikacje 1. Można użyć stopera do zmierzenia czasu sortowania. 2. Można użyć kart z większymi liczbami (np. trzycyfrowymi jak w szablonie). 3. Można użyć kart z wielocyfrowymi liczbami tak, aby ich porównanie wymagało pewnego wysiłku. Można też użyć wyrazów i porównywać leksykograficznie. Dodatkowe 1. Co stanie się w przypadku, gdy po wykonaniu porównania osoba z mniejszą liczbą poruszać się będzie w prawo zamiast w lewo i na odwrót? (Liczby zostaną posortowane w odwrotnym porządku.) 2. Czy można użyć sieci w odwrotnym kierunku (od wyjścia do wejścia)? (Niekoniecznie. Uczniowie powinni być w stanie znaleźć przykład takiego ciągu liczb, który nie zostałby właściwie uporządkowany.) 4. Spróbuj zaprojektować inną sieć sortującą. (Obok na rysunku znajduje się przykład sieci sortującej trzy liczby. Dzieci powinny być w stanie narysować taką samodzielnie.) 5. Poniżej znajdują się dwie różne sieci sortujące dla czterech liczb (na wejściu sieci). Która z nich jest szybsza? (Druga. W przypadku pierwszej wszystkie porównania są wykonywane sekwencyjnie, jedna po drugiej. W przypadku drugiej są porównania wykonywane jednocześnie. Pierwsza sieć jest przykładem przetwarzania sekwencyjnego (szeregowego), podczas gdy druga używa bardziej efektywnego przetwarzania równoległego.) 6. Spróbuj zaprojektować sieć sortującą dla większej liczby danych. 7. Sieci mogą być też używane do znalezienia wartości najmniejszej czy największej w zbiorze danych. Dla przykładu na rysunku obok jest sieć, która pozwala znaleźć najmniejszą z ośmiu wartości wejściowych. (pozostałe dane trafiają do ślepych zaułków sieci). 8. Jakie operacje życia codziennego można przyspieszyć wykonując kilka czynności składowych równolegle? Jakich nie można? Na przykład, używanie tylko jednego garnka (patelni itd.) spowalnia gotowanie. Jakie prace można by wykonać szybciej przez zatrudnienie większej liczby ludzi? Jakich nie da się w ten sposób przyspieszyć? 74 Photocopiable for classroom use only. 2005 Computer Science Unplugged (www.unplugged.canterbury.ac.nz)

O co w tym wszystkim chodzi? Obecnie coraz częściej używamy komputerów i chcemy, by przetwarzały informacje tak szybko, jak to tylko jest możliwe. Jednym ze sposobów zwiększenia szybkości komputera jest zmniejszanie liczby operacji wykonywanych przez program komputerowy (dzięki zastosowaniu bardziej efektywnych algorytmów ukazane to zostało w zajęciach nr 6 i 7). Innym sposobem jest przetwarzanie równoległe kilka komputerów pracuje nad różnymi częściami tego samego zadania w tym samym czasie. Dla przykładu: Istnieje sieć sortująca dla sześciu liczb, w której wykonywanych jest łącznie 12 porównań, jednak w pewnych momentach można w niej jednocześnie porównywać trzy pary liczb. W konsekwencji czas potrzebny na uporządkowanie zbioru zmniejsza się z 12 jednostek do pięciu. System zbudowany w oparciu o taką sieć działałby więc ponad dwa razy szybciej od systemu, który pozwalałby na wykonywanie tylko jednego porównania w tym samym czasie. Nie wszystkie zadania można ukończyć szybciej przez zastosowanie obliczeń równoległych. Dla porównania, wyobraźmy sobie osobę, która kopie rów o szerokości 10 metrów. Gdyby dziesięć osób wykopało jeden metr rowu, zadanie zostałoby wykonane dużo szybciej. Jednakże ta sama strategia nie mogłaby zostać zastosowana do rowu o głębokości 10 metrów aby móc zacząć kopać drugi metr najpierw trzeba ukończyć kopanie pierwszego. Informatycy nieustannie próbują znaleźć najlepsze sposoby takiego podziału rozwiązywanych problemów, który pozwoliłby na stosowanie komputerów pracujących równolegle. Photocopiable for classroom use only. 75