Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera

Save this PDF as:
 WORD  PNG  TXT  JPG

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera"

Transkrypt

1 Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Adam Hrazdil Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok V Streszczenie W poniższej pracy zaprezentowano możliwości przetwarzania równoległego przy użyciu wielu rdzeni procesora graficznego na przykładzie problemu komiwojażera realizowanego przez algorytm genetyczny. Genetyczny algorytm został zaimplementowany w dwóch wersjach: sekwencyjnej działającej na CPU oraz równoległej z wykorzystaniem technologii CUDA. Zaprezentowana została architektura CUDA, porównano wyniki otrzymane przez dwie wersje algorytmu pod względem wydajności oraz sformułowano wnioski. 1 Wstęp Spośród wielu metod sztucznej inteligencji obliczeniowej algorytmy genetyczne AG (ang. Genetic Algorithms) doczekały się wielu zastosowań. Można je wykorzystywać do rozwiązywania rzeczywistych problemów z dowolnej dziedziny ludzkiej działalności. Rozwój algorytmów genetycznych został zapoczątkowany w roku 1975 pracą Johna Hollanda z Uniwersytetu Michigan [9]. Obecnie zastosowanie algorytmów genetycznych jest imponujące, stosowane są bowiem one w szeregowaniu zadań, modelowaniu finansowym, optymalizacji funkcji oraz harmonogramowaniu. Gwałtownie przeżywany rozwój algorytmów genetycznych pobudził w ostatnim czasie różne obszary nauki i techniki min. fizykę, biologię, programowanie układów układów scalonych VLSI (ang. Very Large Scale of Integration), a także zarządzanie. Rozróżnia się trzy zasadnicze grupy zastosowań AG [4]: algorytmy przeszukujące (Search), optymalizujące (Optimization) i uczące (Learning). Algorytmy genetyczne wykorzystują poszukiwania oparte na mechanizmach doboru naturalnego oraz dziedziczności. Łączą w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych osobników z systematyczną, choć zrandomizowaną wymianą informacji [2]. Algorytmy ewolucyjne i genetyczne są ściśle zdefiniowanymi procedurami matematycznymi wykorzystywanymi do rozwiązywania niektórych problemów, dla których standardowe algorytmy są nieznane lub mają nieakceptowalnie długi czas 1

2 działania. Zasada ich działania opiera się na mechanizmach skonstruowanych w oparciu o procesy zaobserwowane w biologicznej ewolucji. Zadanie komiwojażera (TSP - ang. Traveling Salesman Problem) [10] jest właśnie jednym z takich problemów. Ogólny problem komiwojażera sformułowany jest następująco: dane jest n miast, a każde dwa z nich połączone są drogą o określonej długości. W jednym z miast znajduje się komiwojażer, który chce odwiedzić wszystkie miasta w taki sposób, aby w każdym mieście znaleźć się dokładnie jeden raz, a na koniec wędrówki powrócić do miejsca startowego. Optymalnym rozwiązaniem jest trasa, dla której koszt objazdu jest najmniejszy. Na podstawie teorii grafów problem komiwojażera można przedstawić jako zadanie polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym. Miasta są wierzchołkami grafu, trasy pomiędzy nimi to krawędzie z wagami. Waga krawędzi może odpowiadać odległości pomiędzy miastami połączonymi tą krawędzią, czasowi podróży lub koszcie przejazdu. Zadanie sprowadza się do znalezienia permutacji miast (i 1, i 2,, i n ), dla której koszt jest najmniejszy. Dla problemu komiwojażera nie jest znany algorytm efektywny, tzn. rozwiązujący ten problem w czasie wielomianowym. Należy on do klasy problemów NP-trudnych, w związku z tym niemożliwy jest przegląd zupełny przestrzeni rozwiązań. Dlatego jest często wybierany do weryfikacji nowych pomysłów w dziedzinie AG. 2 Ogólna charakterystyka architektury CUDA CUDA (ang. Compute Unified Device Architecture) [6] to technologia typu GPGPU (ang. General-Purpose Computing on Graphics Processing Units) opracowana przez firmę nvidia. Jest uniwersalną architekturą procesorów wielordzeniowych (głównie kart graficznych) umożliwiającą wykorzystanie ich mocy obliczeniowej do rozwiązywania ogólnych problemów numerycznych w sposób wydajniejszy niż w tradycyjnych, procesorach ogólnego zastosowania (CPU). Na rysunku 1 przedstawiono porównanie mocy obliczeniowych kolejnych generacji procesorów typu CPU firmy Intel oraz GPU firmy nvidia. 2

3 Integralną częścią architektury CUDA jest oparte na języku programowania C środowisko programistyczne wysokiego poziomu, w którego skład wchodzą m.in. specjalny kompilator (nvcc) oraz interfejs programowania aplikacji. Projekt architektury CUDA zakłada pełną skalowalność programów, napisany dziś program wykonywalny ma w przyszłości działać bez żadnych zmian na coraz wydajniejszych procesorach graficznych posiadających coraz większą liczbę rdzeni, rejestrów, pamięci operacyjnej i innych zasobów. Procesor (ang. Host) wykonuje kod sekwencyjnie do czasu wywołania funkcji jądra (ang. Kernel) działającej na karcie graficznej (ang. Device). Każdorazowe wywołanie tej funkcji tworzy na karcie graficznej nową siatkę wątków (ang. Grid). Wątki są zgrupowane w blokach (możliwa struktura 1D, 2D, 3D), maksymalnie można przydzielić 512 x 512 x 64 wątków w bloku. Bloki zgrupowane są w siatce, maksymalnie x Wymiary bloku i siatki podajemy jako argumenty wywołania funkcji jądra. Schemat wywołania funkcji jądra wywołanej przez procesor został przedstawiony na rysunku 2. Rys. 2. Schemat wywołania funkcji jądra (źródło [5]) Karta graficzna jest zrealizowana jako zbiór multiprocesorów (SM, ang. Single Multiprocessor), które są podstawową jednostką obliczeniową GPU. Są to skalarne, zmiennoprzecinkowe jednostki arytmetyczno-logiczne pojedynczej precyzji. Każdy multiprocesor zawiera osiem równoległych procesorów strumieniowych (SP, ang. Scalar Processor). SM zawiera również dwie jednostki specjalne (SFU, ang. Special Function Units), wykonujące bardziej złożone funkcje 3

4 matematyczne (np. pierwiastek, funkcja sinus). Każdy SM posiada także jedną jednostkę arytmetyczną podwójnej precyzji. Celem ułatwienia współpracy między wątkami wykonywanymi przez SP każdy SM zawiera 16 KB pamięci współdzielonej. Każdy multiprocesor ma zlecane do jednoczesnego wykonania jeden bądź więcej bloków wątków. 3 Implementacja algorytmu Algorytmy z wykorzystaniem technologii CUDA zostały zaimplementowane tak, aby sposób działania najwierniej odwzorowywał wersje sekwencyjne wykonywalne na CPU. Każda iteracja algorytmu jest jednorazowo wywołaną funkcją jądra. Jest to spowodowane tym, że przed rozpoczęciem nowej iteracji wszystkie operacje w poprzedniej iteracji muszą się zakończyć. Biblioteka CUDA podczas działającej funkcji jądra nie umożliwia synchronizacji bloków, dlatego nie można rozpocząć obliczeń dla nowej iteracji w tej samej funkcji jądra. Ponowne wywołanie funkcji jądra w tym samym wątku programu wykonywalnego na CPU daje gwarancje zakończenia działania wszystkich bloków. Populacja między wywołaniami funkcji jądra jest przechowywana w pamięci głównej GPU, która jest zachowywana między kolejnymi wywołaniami funkcji jądra do czasu jej jawnego zwolnienia. Opracowanie algorytmu genetycznego pod kątem odpowiedniego zadania wymaga zaprojektowania odpowiedniego kodowania dla chromosomów. W implementacji algorytmu zastosowana została reprezentacja ścieżkowa [1]. Krzyżowanie w przypadku reprezentacji ścieżkowej jest skomplikowaną czynnością. Wynikiem działania operatora krzyżowania musi być potomek akceptowalny (zawierający unikalną listę miast). Dla przyjętej reprezentacji zastosowano krzyżowanie z częściowym zastępowaniem [1] (ang. Partially Matched Crossover). Wynikiem działania operatora mutacji tak jak w przypadku krzyżowania, musi być chromosom akceptowalny. Dla chromosomu w zastosowanej reprezentacji zaimplementowano następujące operatory mutacji: wzajemnej wymiany wymienia się dwa losowe miasta, inwersją obraca się kolejność wszystkich genów w chromosomie, przesunięciem przesuwa się chromosom w wybraną stronę, końcowe geny które wychodzą poza zakres wstawiane są na początek, lokalna optymalizacja - wybiera się miasto i zamienia sąsiadem, jeśli wynik zamiany przynosi skrócenie trasy. W selekcji osobników naśladuje się mechanizm przeżycia w naturze. Wobec tego oczekuje się, że osobnik o najwyższym stopniu przystosowania uzyska liczne potomstwo. Do najważniejszych metod selekcji należą [3]: metoda elitarna, metoda turniejowa, metoda proporcjonalna ("Metoda koła ruletki "). Ocena danego osobnika polega na zsumowaniu odległości pomiędzy kolejnymi miastami wyznaczonymi przez daną reprezentację. Mniejsza wartość oceny jest tożsama z mniejszym kosztem odwiedzenia wszystkich miast. 4

5 4 Porównanie wydajności algorytmów Testy przeprowadzane były na komputerze wyposażonym w procesor AMD Phenom II X4 B50 taktowany rdzeniem 3,1 GHz, pamięć RAM DDR 3 taktowaną zegarem 1333 MHz oraz kartę graficzną GeForce GTX 275, posiadającą 30 multiprocesorów, taktowanych zegarem 1,40 GHz. Testy były prowadzone w środowisku Windows 7 Professional 64 bit. Kod był kompilowany za pomocą CUDA SDK 3.0 beta i Visual Studio Algorytmy zostały przetestowane dla wielkości zadania 500 miast. Miasta zostały losowo umieszczone na powierzchni o wymiarach 1200 x 850. Przykładowy chromosom populacji początkowej został pokazany na rysunku 3. Rys. populacji początkowej Wyniki porównywania obu algorytmów wykazały zbliżone długości tras dla analogicznych pokoleń. Wyniki zostały zaprezentowane na rysunku 4. Rys. 4. Porównanie przystosowania najlepszego osobnika algorytmów w kolejnych iteracjach algorytmu 5

6 Dla oceny wydajności algorytmów z wykorzystaniem różnych technologi wyniki testu przedstawiono na rysunku 5 jako wykres zależności przystosowania od czasu działania aplikacji. Rys. 5. Porównanie przystosowania najlepszego osobnika algorytmów w czasie Wyraźnie widoczny jest duży wzrost wydajności aplikacji korzystającej z technologii CUDA. Po 10 sekundach aplikacja wykorzystująca technologię CUDA i osiągnęła wynik lepszy od wersji sekwencyjnej po czasie 10 minut. Ostateczny wynik działania aplikacji wykorzystującej technologię CUDA został pokazany na rysunku 6. Osiągnięcie tego wyniku wymagało 60 tysięcy pokoleń. W tym czasie sekwencyjna aplikacja uzyskała 3 razy dłuższą trasę wykonując 1400 pokoleniach. Wyniki w testowanym przypadku wykazują 42 krotne przyśpieszenie. Rys. 6. Wynik działania algorytmu CUDA (najlepszy wynik w pokoleniu) Większa ilość miast wiąże się także ze zwiększeniem operacji wykonywanych na chromosomach. Ilość możliwych rozwiązań w przypadku większej ilości miast jest 6

7 też znacznie większa. Następnie badano wpływu rozmiaru chromosomu na czas wykonywania aplikacji. Wyniki testów zostały przedstawione na rysunku 7. Rys. 7. Wpływ rozmiaru chromosomu na czas działania aplikacji wykonującej technologie CUDA Porównanie czasów wykonywania obu aplikacji przedstawiono na rysunku 8. Badano przyśpieszenia w zależności o rozmiarów chromosomu. Maksymalne osiągnięte przyśpieszenie w tym przypadku osiągnięto dla 400 miast i czas wykonywania aplikacji z wykorzystaniem technologi CUDA był 58,6 razy krótszy. Dla chromosomów o długości większej od 320 wartości przyśpieszenia osiągnęły podobny poziom. Badając zachowanie algorytmu dla różnych długości chromosomów, testowano wydajność równoległych operatorów genetycznych. Rys. 8. Wpływ rozmiaru chromosomu na przyśpieszenie Aplikacje poddano testom badającym wpływ rozmiaru populacji na przyśpieszenie w porównaniu z wersją sekwencyjną wykonywalną na CPU. Pierwszy test przeprowadzono dla 512 osobników, następnie zwiększano w każdym następnym teście dwukrotnie rozmiar populacji, aż do wielkości osobników. Zwiększanie parametru rozmiaru populacji wprowadza większy potencjał genetyczny, ale ma też swoje minusy, prowadzi do wydłużenia czasu obliczeń, w wersji działającej na CPU czas działania zwiększa się proporcjonalnie do wielkości populacji. W przypadku wykorzystania karty graficznej zwiększenie ilości populacji także wpływa na zwiększenie czasu działania programu, jednak w testowanej aplikacji nie zawsze są one proporcjonalne do wielkości populacji. Wyniki zostały przedstawione na rysunku 9. 7

8 Rys. 9. Wpływ rozmiaru populacji na przyśpieszenie W wersji wykorzystującej CUDA jedno pokolenie jest jednorazowo wywołaną funkcją jądra. Wywołanie funkcji jądra przez komputer i przekazanie jej parametrów jest związane z pewnymi nakładami czasowymi. W przypadku mniejszych populacji ma to większe znaczenie, ponieważ nakład czasowy jest czynnikiem determinującym czas działania, zwiększając rozmiary populacji zwiększamy ilość obliczeń dla funkcji jądra a tym samym maleje znaczenie kosztów jej wywołania. 5 Podsumowanie W artykule opisano podstawowe założenia architektury CUDA. Na przykładzie algorytmów genetycznych wykazano istotną przewagę układów GPU nad klasycznym CPU w przypadku przeprowadzania obliczeń o znacznym stopniu równoległości. Otrzymane wyniki świadczą, że architektura CUDA świetnie sprawdza się w dziedzinie algorytmów genetycznych. Znacznie większą wydajność w stosunku do ceny oraz ogólnodostępność tej technologii mogą zacznie przyczynić się do rozwoju algorytmów ewolucyjnych. Bibliografia [1] Z. Michalewicz, Algorytmy genetyczne + struktury danych = programowanie Ewolucyjne, wydanie III, Warszawa: WNT, [2] D.E. Goldberg, Algorytmy genetyczne i ich zastosowania, Warszawa: WNT, [3] J. Arabas: Wykłady z algorytmów ewolucyjnych. Warszawa: WNT, [4] H. Kwaśnicka, Obliczenia ewolucyjne w sztucznej inteligencji, 1999 [5] D. L. Applegate, R. E. Bixby, V. Chvátal, W. J. Cook, The Traveling Salesman Problem: A Computational Study, [6] NVIDIA Corporation, NVidia CUDA Programming Guide 2.3, [7] NVIDIA Corporation, GeForce 8800 GPU Architecture Overview, [8] NVIDIA Corporation, Advanced CUDA Training, 2008 [9] J. H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, [10] T. H. Cormen, C. E. Leiserson, R. L. Riverst, Wprowadzenie do algorytmów Warszawa WNT,

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 opracował:

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

Bardziej szczegółowo

Algorytmy genetyczne (AG)

Algorytmy genetyczne (AG) Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,

Bardziej szczegółowo

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE (wykład + ćwiczenia) ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja

Bardziej szczegółowo

Wyznaczanie optymalnej trasy problem komiwojażera

Wyznaczanie optymalnej trasy problem komiwojażera Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB...

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB... MIO - LABORATORIUM Temat ćwiczenia: TSP - Problem komiwojażera Imię i nazwisko Rok ak. Gr. Sem. Komputer Data Podpis prowadzącego... 20 / EC3 VIII LAB...... Zadanie Zapoznać się z problemem komiwojażera

Bardziej szczegółowo

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Organizacja przedmiotu Dr inż. Robert Banasiak Dr inż. Paweł Kapusta 1 2 Nasze kompetencje R n D Tomografia 3D To nie tylko statyczny obraz!

Bardziej szczegółowo

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson) Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson) 1 2 Wprowadzenie Sztandarowy problem optymalizacji kombinatorycznej. Problem NP-trudny. Potrzeba poszukiwania heurystyk. Chętnie

Bardziej szczegółowo

Tesla. Architektura Fermi

Tesla. Architektura Fermi Tesla Architektura Fermi Tesla Tesla jest to General Purpose GPU (GPGPU), GPU ogólnego przeznaczenia Obliczenia dotychczas wykonywane na CPU przenoszone są na GPU Możliwości jakie daje GPU dla grafiki

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory PLAN WYKŁADU Specyfika zadania komiwojażera Reprezentacje Operatory OPTYMALIZACJA GLOBALNA Wykład 5 dr inż. Agnieszka Bołtuć ZADANIE KOMIWOJAŻERA Koncepcja: komiwojażer musi odwiedzić każde miasto na swoim

Bardziej szczegółowo

i3: internet - infrastruktury - innowacje

i3: internet - infrastruktury - innowacje i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Budowa Mikrokomputera

Budowa Mikrokomputera Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Praca dyplomowa magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA Dyplomant: Jakub Kołakowski Opiekun pracy: dr inż. Michał Meller Plan prezentacji

Bardziej szczegółowo

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność

Bardziej szczegółowo

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Gospodarcze zastosowania algorytmów genetycznych

Gospodarcze zastosowania algorytmów genetycznych Marta Woźniak Gospodarcze zastosowania algorytmów genetycznych 1. Wstęp Ekonometria jako nauka zajmująca się ustalaniem za pomocą metod statystycznych ilościowych prawidłowości zachodzących w życiu gospodarczym

Bardziej szczegółowo

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

Bardziej szczegółowo

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektury komputerów Architektury i wydajność. Tomasz Dziubich Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych

Bardziej szczegółowo

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego Modyfikacje i ulepszenia standardowego algorytmu genetycznego 1 2 Przypomnienie: pseudokod SGA t=0; initialize(p 0 ); while(!termination_condition(p t )) { evaluate(p t ); T t =selection(p t ); O t =crossover(t

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

Standardowy algorytm genetyczny

Standardowy algorytm genetyczny Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria

Bardziej szczegółowo

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK 1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Część teoretyczna Informacje i wstępne wymagania Cel przedmiotu i zakres materiału Zasady wydajnego

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

Bardziej szczegółowo

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań Anna Manerowska, Michal Kozakiewicz 2.12.2009 1 Wstęp Jako projekt na przedmiot MEUM (Metody Ewolucyjne Uczenia Maszyn)

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 1: wprowadzenie + algorytmy genetyczne Plan wykładów 1. Wprowadzenie + algorytmy genetyczne 2. Metoda przeszukiwania tabu 3. Inne heurystyki 4. Jeszcze o metaheurystykach

Bardziej szczegółowo

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka CUDA część 1 platforma GPGPU w obliczeniach naukowych Maciej Matyka Bariery sprzętowe (procesory) ok na. 1 10 00 la raz t y Gdzie jesteśmy? a ok. 2 razy n 10 lat (ZK) Rozwój 1985-2004 i dalej? O roku ów

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG PLAN WYKŁADU OPTYMALIZACJA GLOBALNA Wykład 2 dr inż. Agnieszka Bołtuć Historia Zadania Co odróżnia od klasycznych algorytmów Nazewnictwo Etapy Kodowanie, inicjalizacja, transformacja funkcji celu Selekcja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zadania badawcze prowadzone przez Zakład Technik Programowania:

Zadania badawcze prowadzone przez Zakład Technik Programowania: Zadania badawcze prowadzone przez Zakład Technik Programowania: - Opracowanie metod zrównoleglania programów sekwencyjnych o rozszerzonym zakresie stosowalności. - Opracowanie algorytmów obliczenia tranzytywnego

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Algorytmy ewolucyjne

Algorytmy ewolucyjne Algorytmy ewolucyjne wprowadzenie Piotr Lipiński lipinski@ii.uni.wroc.pl Piotr Lipiński Algorytmy ewolucyjne p.1/16 Cel wykładu zapoznanie studentów z algorytmami ewolucyjnymi, przede wszystkim nowoczesnymi

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH Inżynieria Rolnicza 7(105)/2008 WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH Justyna Zduńczuk, Wojciech Przystupa Katedra Zastosowań Matematyki, Uniwersytet Przyrodniczy

Bardziej szczegółowo

JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski

JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski JCuda Czy Java i CUDA mogą się polubić? Konrad Szałkowski Agenda GPU Dlaczego warto używać GPU Budowa GPU CUDA JCuda Przykładowa implementacja Co to jest? GPU GPU Graphical GPU Graphical Processing GPU

Bardziej szczegółowo

Algorytmy ewolucyjne (3)

Algorytmy ewolucyjne (3) Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera

Bardziej szczegółowo

Algorytmy ewolucyjne. wprowadzenie

Algorytmy ewolucyjne. wprowadzenie Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i

Bardziej szczegółowo

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Modyfikacja algorytmów retransmisji protokołu TCP.

Modyfikacja algorytmów retransmisji protokołu TCP. Modyfikacja algorytmów retransmisji protokołu TCP. Student Adam Markowski Promotor dr hab. Michał Grabowski Cel pracy Celem pracy było przetestowanie i sprawdzenie przydatności modyfikacji klasycznego

Bardziej szczegółowo

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 12 OBLICZENIA EWOLUCYJNE LABORATORIUM

Bardziej szczegółowo

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Autor: Łukasz Patyra indeks: 133325 Prowadzący zajęcia: dr inż. Marek Piasecki Ocena pracy: Wrocław 2007 Spis treści 1 Wstęp

Bardziej szczegółowo

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Wysokowydajna implementacja kodów nadmiarowych typu erasure codes z wykorzystaniem architektur wielordzeniowych Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych Ł. Kuczyński, M. Woźniak, R. Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne dr hab. inż. Andrzej Obuchowicz, prof. UZ Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski A. Obuchowicz: MSI - algorytmy ewolucyjne

Bardziej szczegółowo

Anna Gryko-Nikitin Politechnika Białostocka, Wydział Zarządzania, Katedra Informatyki Gospodarczej i Logistyki

Anna Gryko-Nikitin Politechnika Białostocka, Wydział Zarządzania, Katedra Informatyki Gospodarczej i Logistyki Niektóre osobliwości algorytmów genetycznych na przykładzie zagadnień logistycznych Certain peculiarities of the genetic algorithms based on logistic issues Anna Gryko-Nikitin Politechnika Białostocka,

Bardziej szczegółowo

NOWE TRENDY ROZWOJU MIKROPROCESORÓW

NOWE TRENDY ROZWOJU MIKROPROCESORÓW NOWE TRENDY ROZWOJU MIKROPROCESORÓW Marcin LORENC, Krzysztof CEGIELSKI Streszczenie: Celem artykułu jest zaprezentowanie kierunków rozwoju mikrokontrolerów. Przedstawiono krótką historię procesorów, pojęcie

Bardziej szczegółowo

Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP z technologią NVIDIA CUDA

Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP z technologią NVIDIA CUDA Dariusz Sychel Wydział Informatyki, Zachodniopomorski Uniwersytet Technologiczny w Szczecinie 71-210 Szczecin, Żołnierska 49 Redukcja czasu wykonania algorytmu Cannego dzięki zastosowaniu połączenia OpenMP

Bardziej szczegółowo

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012 OBLICZENIA EWOLUCYJNE LABORATORIUM 5 2 Cel ćwiczenia

Bardziej szczegółowo

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Adam Stawowy Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Summary: We present a meta-heuristic to combine Monte Carlo simulation with genetic algorithm for Capital

Bardziej szczegółowo

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58 FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58 Anna LANDOWSKA ROZWIĄZANIE PROBLEMU OPTYMALNEGO PRZYDZIAŁU ZA POMOCĄ KLASYCZNEGO

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Algorytmy stochastyczne laboratorium 03

Algorytmy stochastyczne laboratorium 03 Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),

Bardziej szczegółowo

Programowanie genetyczne, gra SNAKE

Programowanie genetyczne, gra SNAKE STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Programowanie genetyczne - gra SNAKE

Programowanie genetyczne - gra SNAKE PRACOWNIA Z ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne - gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080

Bardziej szczegółowo

Programowanie aplikacji równoległych i rozproszonych

Programowanie aplikacji równoległych i rozproszonych Programowanie aplikacji równoległych i rozproszonych Dr inż. Krzysztof Rojek krojek@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Strumienie operacji na GPU Domyślne

Bardziej szczegółowo

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM Artykuł zawiera opis eksperymentu, który polegał na uyciu algorytmu genetycznego przy wykorzystaniu kodowania

Bardziej szczegółowo

LABORATORIUM 6: Problem komiwojażera (TSP) cz. 1. opracował: dr inż. Witold Beluch

LABORATORIUM 6: Problem komiwojażera (TSP) cz. 1. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 6: Problem komiwojażera (TSP) cz. opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 0 OBLICZENIA EWOLUCYJNE LABORATORIUM 6 Cel ćwiczenia Wykonując ćwiczenia

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP)

LABORATORIUM 7: Problem komiwojażera (TSP) Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 7: Problem komiwojażera (TSP) opracował: dr inż.

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Programowanie Współbieżne

Programowanie Współbieżne Programowanie Współbieżne Agnieszka Łupińska 5 października 2016 Hello World! helloworld.cu: #include global void helloworld(){ int thid = (blockidx.x * blockdim.x) + threadidx.x; printf("hello

Bardziej szczegółowo

Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii.

Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii. Od wielkoskalowych obliczeń równoległych do innowacyjnej diagnostyki w kardiologii. Opiekun naukowy: dr hab. prof. UŚ Marcin Kostur Celem tych badań jest zastosowanie symulacji układu krwionośnego do diagnostyki

Bardziej szczegółowo

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji Kolejna metoda informatyczna inspirowana przez Naturę - algorytmy genetyczne Struktura molekuły DNA nośnika informacji genetycznej w biologii Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego Algorytmy Mrówkowe Instytut Informatyki Uniwersytetu Wrocławskiego 11 maja 2011 Opis Mrówki w naturze Algorytmy to stosunkowo nowy gatunek algorytmów optymalizacyjnych stworzony przez Marco Dorigo w 1992

Bardziej szczegółowo

Budowa komputera Komputer computer computare

Budowa komputera Komputer computer computare 11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału

Bardziej szczegółowo