Maciej Piotr Jankowski
|
|
- Urszula Chmiel
- 7 lat temu
- Przeglądów:
Transkrypt
1 Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski Maciej Piotr Jankowski 1
2 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji 3.2. Faktoryzacja 4. Wyniki testów 5. Instrukcja obsługi programu 6. Podsumowanie Maciej Piotr Jankowski 2
3 Wstęp Algorytm RAG został wymyślony dla usprawnienia procesu projektowania filtrów cyfrowych. Pozwala on tworzyć kolejne współczynniki filtru na podstawie współczynników poprzednich, np. przy wystąpieniu współczynników {3, 25} możemy zamiast zapisać 25 = = 8 * Elementem wymagającym optymalizacji jest w tym przypadku ilość wystapień sumatorów (czyli działań +/-) w układzie. Niestety, problem takiej optymalizacji układu jest NP-zupełny i wymaga odpowiednich narzędzi usprawniających działanie algorytmu Maciej Piotr Jankowski 3
4 Implementacja Algorytm zaimplementowałem w C++. Stworzyłem jedną klasę RAG, która zajmuje się całym procesem. Przy pisaniu starałem się opierać na regułach heurystycznych, tzn. w pierwszej kolejności realizowane są współczynniki o najmniejszym koszcie (koszt = ilość sumatorów potrzebnych do realizacji). Jednakże duża złożoność obliczeniowa decyzji, które współczynniki realizować w dalszej kolejności oraz w jaki sposób, skłoniła mnie do poszukiwania metod usprawniających ten proces. Dodałem dwa elementy: - tablicę ekspansji - faktoryzację współczynników Wyniki uzyskane dzięki tym metodom uważam za całkiem przyzwoite, co dobrze widać w testach (pkt 4.) W dalszej części prezentacji przedstawię bardziej szczegółowo powyższe metody Maciej Piotr Jankowski 4
5 Tablica ekspansji Usprawnienia optymalizacyjne Tablica ekspansji pozwala na bardzo szybką ocenę złożoności realizacji danego współczynnika. Jest to konieczne przy decyzji, który ze współczynników realizować w następnej kolejności. Tablica ta zawiera w polu o numerze n ilość sumatorów koniecznych do realizacji współczynnika n. Na samym początku tablica ta uzupełniana jest na podstawie możliwości kombinacji potęg dwójki (ponieważ nie mamy jeszcze żadnych współczynników). Kilka jej pierwszych pól wygląda następująco: Maciej Piotr Jankowski 5
6 Tablica ekspansji cz. 2. Zgodnie z założeniami tablica ta w polach odpowiadających potęgom dwójki ma wartość 0, gdyż nie potrzebujemy żadnego sumatora do ich realizacji. Natomiast w polu 19 mamy wartość 2, ponieważ potrzebujemy dwóch sumatorów: 19 = Aktualizacja tablicy ekspansji W momencie, gdy zrealizujemy jakiś współczynnik, tablica musi zostać uaktualniona. Polega to na porównaniu jej starych wartości z realizacjami uwzględniającymi nowy współczynnik. W przypadku, gdy nowa realizacja jest korzystniejsza dla np. liczby k, pole w tablicy tab[k] zmniejsza swoją wartość. I następnie jest sprawdzane, czy liczba k nie powoduje poprawy realizacji jakiegoś współczynnika Maciej Piotr Jankowski 6
7 Tablica ekspansji cz. 3. Przykład Mamy na początku tablicę uzupełnioną wartościami z potęg dwójki. Następnie realizujemy współczynnik k=5 jako 5=4+1. Następne, co musimy zrobić, to zaktualizować tablicę ekspansji: W tym celu należy porównać wartości stare z wartościami przesuniętymi o k w prawo i zwiększonymi o 1, jak na rysunku. Jeśli powstały w ten sposób wynik jest lepszy (jak dla 13 lub 21) to jest zapisywany i następny krok to k = 13. To samo powtarzamy dla 2k, 4k, 8k, 16k itd = = Maciej Piotr Jankowski 7
8 Podsumowanie i parametry Tablica ekspansji cz. 3. Ciągła aktualizacja tablicy ekspansji jest niewątpliwie sporym obciążeniem dla całego projektu. Jednak pożyteczność tej tablicy jest tak duża, że wydaje mi się iż opłaca się to w zupełności. Dodatkowo, żeby nieco poprawić szybkość, wprowadziłem różne usprawnienia, między innymi zapamiętuję wartości minimalne dla realizacji z jednym sumatorem, dwoma itd.(granice dolne) W miarę uzupełniania tablicy wartości te dość szybko rosną, co pozwala przyspieszyć działanie programu. Parametrem tablicy ekspansji jest jej długość, określona jako log2 z faktycznej długości tablicy. Większa tablica może dawać czasem (raczej dość rzadko) lepsze rezultaty, ale wydłuża też czas obliczeń, więc wybór należy do użytkownika. Nie należy też przesadzać, by wartości współczynników pomocniczych (tworzonych pośrednio podczas procesu) nie były zbyt duże Maciej Piotr Jankowski 8
9 Faktoryzacja Faktoryzacja polega na rozłożeniu liczby na liczby pierwsze. Dzięki temu, a następnie połączeniu tych liczb w odpowiednie grupy można niekiedy uzyskać wyniki lepsze niż wynikające z tablicy ekspansji. Przykład. Liczba 715 zapisana za pomocą potęg dwójki w sposób normalny ma postać: 715 = = =... Jakby nie ustawiać, zawsze wychodzi 5 sumatorów. Po zastosowaniu faktoryzacji otrzymujemy: 715 = 5*11*13 = 55*13 = 65*11 = 5*143 Odpowiedni algorytm wyszukuje najlepszą kombinację czynników pierwszych i mamy: 715 = 65*11 = (64 + 1)*( ) Efekt widać na pierwszy rzut oka ilość sumatorów z 5 zmalała do Maciej Piotr Jankowski 9
10 Faktoryzacja cz. 2. Uwagi: Rozkład na czynniki pierwsze uzyskałem stosując metodę Monte Carlo. Najbardziej złożonym elementem tej części projektu jest funkcja generująca wszystkie możliwe iloczyny czynników pierwszych i licząca zarazem ich minimalną realizację. Należy zauważyć, że wśród czynników końcowego iloczynu tylko jeden z nich może korzystać z wcześniej zrealizowanych współczynników reszta musi być tworzona z potęg dwójki, gdyż tylko wtedy taki iloczyn będzie możliwy w realizacji Maciej Piotr Jankowski 10
11 Wyniki testów Testy zostały przeprowadzone na zupełnie losowych danych wygenerowanych przez program gen_filtr. Wyniki są uśrednione z 5 przykładów dla każdego przypadku. współczynników sumatorów Sumatorów/wsp ,6 1, ,2 1, ,8 1, ,8 0, ,4 0, ,2 0, ,6 0, ,8 0, ,8 0, ,4 0, Maciej Piotr Jankowski 11
12 Przykładowe realizacje {3, 25, 75, 150,256} X 4 3X 8 25X X 75X X Maciej Piotr Jankowski 12
13 Przykładowe realizacje cz. 2. {99, 715} X 4 8 (faktoryzacja) X 715X Maciej Piotr Jankowski 13
14 Instrukcja obsługi programu wybór wielkości tablicy ekspansji rozpoczyna obliczenia pasek postępu parametry wynikowe pozwala na ponowne obliczenia (np. po zmianie wielkości tablicy) okienko z wynikami Obsługa programu jest dość intuicyjna i myślę, że nie wymaga dodatkowych wyjaśnień Maciej Piotr Jankowski 14
15 Instrukcja obsługi programu cz. 2. Interpretacja wyników Wyniki są wypisane w postaci sieci równań, które kompletnie opisują graf powstały w wyniku działania algorytmu. W równaniach tych pojawiają się współczynniki pomocnicze, które są używane w dalszej części. Kolejność realizacji powinna się odbywać zgodnie z kolejnością wypisania współczynników. Oraz zgodnie z zasadami arytmetyki (tzn. W pierwszej kolejności wartości w nawiasach!). Z pewnych względów nie są wypisywane współczynniki będące potęgami dwójki. Format danych wejściowych W pierwszym wierszu pliku powinna znajdować się liczba współczynników, w następnych wierszach poszczególne współczynniki Maciej Piotr Jankowski 15
16 Instrukcja obsługi programu - cz.3. Obsługa programu gen_filtr.exe Program ten generuje losowe współczynniki filtru. Sposób użycia: gen_filtr nazwa_pliku ilość_współczynników Maciej Piotr Jankowski 16
17 Podsumowanie Informacje, które zawarłem w tej prezentacji opisują mój projekt oraz samą istotę algorytmu Reduced Adder Graph bardzo powierzchownie. Problem ten jest jednak na tyle złożony, że potrzeba znacznie więcej miejsca i czasu żeby go opisać. Wyniki, jakie uzyskałem przy pomocy tego programu wskazują, że rzeczywiście warto jest się zainteresować tego typu rozwiązaniem, gdyż dla większej ilości współczynników otrzymujemy graf, w którym na każdy współczynnik przypada mniej niż jeden sumator to tak, jakby każdą liczbę dało się zapisać za pomocą sumy dwóch potęg dwójki Maciej Piotr Jankowski 17
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)
Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości
Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.
Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku. Uogólnienie na przeliczalnie nieskończone przestrzenie stanów zostało opracowane
Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.
Tabele przestawne Niekiedy istnieje potrzeba dokonania podsumowania zawartości bazy danych w formie dodatkowej tabeli. Tabelę taką, podsumowującą wybrane pola bazy danych, nazywamy tabelą przestawną. Zasady
Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
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.
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. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
Metoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 017/18 Informatyka Etap III Zadania po 17 punktów Zadanie 1 Dla pewnej N-cyfrowej liczby naturalnej obliczono
Sortowanie zewnętrzne
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często
Dzielenie sieci na podsieci
e-damiangarbus.pl Dzielenie sieci na podsieci dla każdego Uzupełnienie do wpisu http://e-damiangarbus.pl/podzial-sieci-na-podsieci/ Dwa słowa wstępu Witaj, właśnie czytasz uzupełnienie do wpisu na temat
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
wagi cyfry 7 5 8 2 pozycje 3 2 1 0
Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień
Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
7. CIĄGI. WYKŁAD 5. Przykłady :
WYKŁAD 5 1 7. CIĄGI. CIĄGIEM NIESKOŃCZONYM nazywamy funkcję określoną na zbiorze liczb naturalnych, dodatnich, a wyrazami ciągu są wartości tej funkcji. CIĄGIEM SKOŃCZONYM nazywamy funkcję określoną na
Mikroekonometria 6. Mikołaj Czajkowski Wiktor Budziński
Mikroekonometria 6 Mikołaj Czajkowski Wiktor Budziński Metody symulacyjne Monte Carlo Metoda Monte-Carlo Wykorzystanie mocy obliczeniowej komputerów, aby poznać charakterystyki zmiennych losowych poprzez
KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT
KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu
Import danych w formacie txt
Przewodnik Inżyniera Nr 27 Aktualizacja: 06/2017 Import danych w formacie txt Program powiązany: Fundament bezpośredni Plik GEO5: Demo_manual_27_1.gpa (przykład przygotowany do importu danych) Demo_manual_27_2.gpa
Wyszukiwanie binarne
Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe 20.10.2010 System Zakres znaków Przykład zapisu Dziesiętny ( DEC ) 0,1,2,3, 4,5,6,7,8,9 255 DEC Dwójkowy / Binarny ( BIN ) 0,1 11111 Ósemkowy ( OCT ) 0,1,2,3, 4,5,6,7
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0
Synteza liczników synchronicznych Załóżmy, że chcemy zaprojektować licznik synchroniczny o następującej sekwencji: 0 1 2 3 6 5 4 [0 sekwencja jest powtarzana] Ponieważ licznik ma 7 stanów, więc do ich
x 2 = a RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych 2. Proste równania kwadratowe Równanie kwadratowe typu:
RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych Przed rozpoczęciem nauki o równaniach kwadratowych, warto dobrze opanować rozwiązywanie zwykłych równań liniowych. W równaniach liniowych niewiadoma
Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji
Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji Michał Witczak Data Mining 20 maja 2012 r. 1. Wstęp Dostarczone zostały nam 4 pliki, z których dwa stanowiły zbiory uczące
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Pomorski Czarodziej 2016 Zadania. Kategoria C
Pomorski Czarodziej 2016 Zadania. Kategoria C Poniżej znajduje się 5 zadań. Za poprawne rozwiązanie każdego z nich możesz otrzymać 10 punktów. Jeżeli otrzymasz za zadanie maksymalną liczbę punktów, możesz
Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/
STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go
x x
DODTEK II - Inne sposoby realizacji funkcji logicznych W kolejnych podpunktach zaprezentowano sposoby realizacji przykładowej funkcji (tej samej co w instrukcji do ćwiczenia "Synteza układów kombinacyjnych")
Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Edytor materiału nauczania
Edytor materiału nauczania I. Uruchomienie modułu zarządzania rozkładami planów nauczania... 2 II. Opuszczanie elektronicznej biblioteki rozkładów... 5 III. Wyszukiwanie rozkładu materiałów... 6 IV. Modyfikowanie
NIEDZIESIĄTKOWE SYSTEMY LICZENIA.
NIEDZIESIĄTKOWE SYSTEMY LICZENIA. Inspiracją do powstania artykułu było popularne powiedzenie :,,... to jest oczywiste jak 2 x 2 jest 4. To powiedzenie pokazuje jak bardzo system dziesiętny zakorzenił
Zadanie 2: Arytmetyka symboli
1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie
Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński
Mikroekonometria 5 Mikołaj Czajkowski Wiktor Budziński Zadanie 1. Wykorzystując dane me.medexp3.dta przygotuj model regresji kwantylowej 1. Przygotuj model regresji kwantylowej w którym logarytm wydatków
2. DZIAŁANIA NA WIELOMIANACH
WIELOMIANY 1. Stopieo wielomianu. Działania na wielomianach 2. Równość wielomianów. 3. Pierwiastek wielomianu. Rozkład wielomianu na czynniki 4. Równania wielomianowe. 1.STOPIEŃ WIELOMIANU Wielomian to
Kongruencje twierdzenie Wilsona
Kongruencje Wykład 5 Twierdzenie Wilsona... pojawia się po raz pierwszy bez dowodu w Meditationes Algebraicae Edwarda Waringa (1770), profesora (Lucasian Professor) matematyki w Cambridge, znanego głównie
Wymagania edukacyjne z matematyki dla klasy VII
Wymagania edukacyjne z matematyki dla klasy VII Szkoły Podstawowej nr 100 w Krakowie Na podstawie programu Matematyka z plusem Na ocenę dopuszczającą Uczeń: rozumie rozszerzenie osi liczbowej na liczby
Wymagania edukacyjne z matematyki dla uczniów klasy VII szkoły podstawowej
Wymagania edukacyjne z matematyki dla uczniów klasy VII szkoły podstawowej Ocenę dopuszczającą otrzymuje uczeń, który: rozumie rozszerzenie osi liczbowej na liczby ujemne umie porównywać liczby wymierne,
Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych
Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 13 stycznia 2012 P. Modliński, GiK PW Rozw.
KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO
Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie olanog@poczta.onet.pl KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT
znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.
Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często
Podstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 12a: Prawdopodobieństwo i algorytmy probabilistyczne http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Teoria prawdopodobieństwa
WZÓR OGÓLNY CIĄGU GEOMETRYCZNEGO
WZÓR OGÓLNY CIĄGU GEOMETRYCZNEGO, to ciąg, którego kolejne wyrazy powstają poprzez mnożenie poprzednich wyrazów przez liczbę, którą nazywamy ilorazem ciągu geometrycznego i oznaczamy: q Do opisu ciągu
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Nr 4 Algorytmy sortowania zewnętrznego 1 Wstęp Bardzo często przy rozwiązywaniu praktycznych
Jeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
Algorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Wykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Sortowanie. Tomasz Żak zak. styczeń Instytut Matematyki i Informatyki, Politechnika Wrocławska
Tomasz Żak www.im.pwr.wroc.pl/ zak Instytut Matematyki i Informatyki, Politechnika Wrocławska styczeń 2014 Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak
Jak korzystać z Excela?
1 Jak korzystać z Excela? 1. Dane liczbowe, wprowadzone (zaimportowane) do arkusza kalkulacyjnego w Excelu mogą przyjmować różne kategorie, np. ogólne, liczbowe, walutowe, księgowe, naukowe, itd. Jeśli
Microsoft Access materiały pomocnicze do ćwiczeń cz. 1
Microsoft Access materiały pomocnicze do ćwiczeń cz. 1 I. Tworzenie bazy danych za pomocą kreatora Celem ćwiczenia jest utworzenie przykładowej bazy danych firmy TEST, zawierającej informacje o pracownikach
ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Wykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Algorytmy przeszukiwania wzorca
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Algorytmy przeszukiwania wzorca 1 Wstęp Algorytmy
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Zadanie 1. Algorytmika ćwiczenia
Zadanie 1 Algorytmika ćwiczenia Zadanie 2 Zadanie 3 Zadanie 4 Zadanie 5 Zadanie 6 Zadanie 7 Wiązka zadań Ułamki dwójkowe W systemach pozycyjnych o podstawie innej niż 10 można zapisywać nie tylko liczby
Instrukcja do modułu Kontroli Zarządczej (KZ)
Instrukcja do modułu Kontroli Zarządczej (KZ) www.budzet-zadaniowy.com 1 Spis treści I Kontrola Zarządcza... 3 II Ogólna budowa KZ... 4 III Tworzenie nowych dokumentów KZ opcja Nowy... 5 IV Otwieranie
Na podstawie: MS Project 2010 i MS Project Server Efektywne zarządzanie projektem i portfelem projektów, Wilczewski S.
Praca z planami bazowymi, Wizualizacja planów bazowych, Plany pośrednie, Wprowadzanie wartości rzeczywistych, Przedstawianie informacji o postępie prac, Analiza odchyleń. zarządzanie projektem i portfelem
Metody uporządkowania
Metody uporządkowania W trakcie faktoryzacji macierzy rzadkiej ilość zapełnień istotnie zależy od sposobu numeracji równań. Powstaje problem odnalezienia takiej numeracji, przy której ilość zapełnień będzie
Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym
Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb
Zamówienia algorytmiczne
Zamówienia algorytmiczne Strona 1 z 13 Spis treści 1. Działanie zamówień algorytmicznych... 3 2. Konfiguracja... 3 2.2 Włączenie zamówień algorytmicznych poprzez wybór typu zamówienia... 3 2.3 Włączenie
2. Tworzenie tabeli przestawnej. W pierwszym oknie dialogowym kreatora określamy źródło danych, które mamy zamiar analizować.
1. Tabele przestawne Tabele przestawne pozwalają zestawiać dane zawarte w bazach danych przechowywanych w skoroszytach lub plikach zewnętrznych. Tabela przestawna jest dynamicznym zestawieniem danych zawartych
Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE
Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE Wymagania konieczne K dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je
Przykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
ZESPÓŁ SZKÓŁ W OBRZYCKU
Matematyka na czasie Program nauczania matematyki w gimnazjum ZGODNY Z PODSTAWĄ PROGRAMOWĄ I z dn. 23 grudnia 2008 r. Autorzy: Agnieszka Kamińska, Dorota Ponczek ZESPÓŁ SZKÓŁ W OBRZYCKU Wymagania edukacyjne
Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum
Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum I. POTĘGI I PIERWIASTKI oblicza wartości potęg o wykładnikach całkowitych liczb różnych od zera zapisuje liczbę
KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ
KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ TREŚCI KSZTAŁCENIA WYMAGANIA PODSTAWOWE WYMAGANIA PONADPODSTAWOWE Liczby wymierne i
Układy VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
ZMIERZYĆ SIĘ Z KALKULATOREM
ZMIERZYĆ SIĘ Z KALKULATOREM Agnieszka Cieślak Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie Streszczenie Referat w prosty sposób przedstawia niekonwencjonalne sposoby mnożenia liczb. Tematyka
Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe
Algorytmy sortujące sortowanie kubełkowe, sortowanie grzebieniowe Sortowanie kubełkowe (bucket sort) Jest to jeden z najbardziej popularnych algorytmów sortowania. Został wynaleziony w 1956 r. przez E.J.
if (wyrażenie ) instrukcja
if (wyrażenie ) instrukcja Jeśli wartość wyrażenia jest różna od zera, to jest wykonywana instrukcja, jeśli wartość wyrażenia jest równa 0, to dana instrukcja nie jest wykonywana Wyrażenie testowe podajemy
Jak nie zostać niewolnikiem kalkulatora? Obliczenia pamięciowe i pisemne.
Jak nie zostać niewolnikiem kalkulatora? Obliczenia pamięciowe i pisemne. W miarę postępu techniki w niepamięć odeszły nawyki do wykonywania pisemnych albo pamięciowych obliczeń. O suwaku logarytmicznym,
Zadania ze statystyki, cz.6
Zadania ze statystyki, cz.6 Zad.1 Proszę wskazać, jaką część pola pod krzywą normalną wyznaczają wartości Z rozkładu dystrybuanty rozkładu normalnego: - Z > 1,25 - Z > 2,23 - Z < -1,23 - Z > -1,16 - Z
8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Sposoby przedstawiania algorytmów
Temat 1. Sposoby przedstawiania algorytmów Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły
Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015
Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów synchronicznych Rafał Walkowiak Wersja.2 24/25 UK Funkcje wzbudzeń UK Funkcje wzbudzeń Pamieć Pamieć UK Funkcje wyjściowe
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Programowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Czym jest całka? Całkowanie numeryczne
Całkowanie numeryczne jest to zagadnienie z metod elementów skończonych (MES). Korzystając z całkowania numerycznego możemy obliczyć wartość dowolnej całki jednowymiarowej oznaczonej. Wynik jest zawsze
Metody uporządkowania
Metody uporządkowania W trakcie faktoryzacji macierzy rzadkiej ilość zapełnień istotnie zależy od sposobu numeracji równań. Powstaje problem odnalezienia takiej numeracji, przy której: o ilość zapełnień
Technologie Informacyjne
POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład: Generacja liczb losowych Problem generacji
Podział sieci na podsieci wytłumaczenie
Podział sieci na podsieci wytłumaczenie Witam wszystkich z mojej grupy pozdrawiam wszystkich z drugiej grupy. Tematem tego postu jest podział sieci na daną ilość podsieci oraz wyznaczenie zakresów IP tychże
CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:
CMAES Covariance Matrix Adaptation Evolution Strategy Opracowanie: Lidia Wojciechowska W algorytmie CMAES, podobnie jak w algorytmie EDA, adaptowany jest rozkład prawdopodobieństwa generacji punktów, opisany
CIĄGI wiadomości podstawowe
1 CIĄGI wiadomości podstawowe Jak głosi definicja ciąg liczbowy to funkcja, której dziedziną są liczby naturalne dodatnie (w zadaniach oznacza się to najczęściej n 1) a wartościami tej funkcji są wszystkie
Elektroniczny Urząd Podawczy
Elektroniczny Urząd Podawczy Dzięki Elektronicznemu Urzędowi Podawczemu Beneficjent może wypełnić i wysłać formularz wniosku o dofinansowanie projektów w ramach Regionalnego Programu Operacyjnego Województwa
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Zarządzanie przedsięwzięciem informatycznym. Śledzenie projektu
Zarządzanie przedsięwzięciem informatycznym Śledzenie projektu Plan bazowy Plan bazowy jest zapisanym planem oryginalnym projektu, jest trwałym zapisem harmonogramu i kosztów. Plan bazowy zawiera główny
Przedstawienie najważniejszych zmian w formularzu wniosku o dofinansowanie EFRR wprowadzonych r.
Przedstawienie najważniejszych zmian w formularzu wniosku o dofinansowanie EFRR wprowadzonych 02.01.2018 r. W przypadku wniosków złożonych przed aktualizacją wniosku (tj. przed 2 stycznia 2018 r.) a będących
Pole wielokąta. Wejście. Wyjście. Przykład
Pole wielokąta Liczba punktów: 60 Limit czasu: 1-3s Limit pamięci: 26MB Oblicz pole wielokąta wypukłego. Wielokąt wypukły jest to wielokąt, który dla dowolnych jego dwóch punktów zawiera również odcinek
Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31
Strona: 1 z 31 Explorer Analyzer 1 Uruchamianie programu i raportu PoniŜsze czynności uruchamiają program Bex Analyzer oraz wybrany raport z hurtowni danych. 1. uruchom z menu Start>Programy>Business Explorer>Analyzer
Matematyka dyskretna. Andrzej Łachwa, UJ, /10
Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji
1. Wykład NWD, NWW i algorytm Euklidesa.
1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.