ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO WYZNACZANIA NAJLEPSZYCH KODÓW TAIL-BITING

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

Download "ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO WYZNACZANIA NAJLEPSZYCH KODÓW TAIL-BITING"

Transkrypt

1 Piotr Remlein Dawid Szłapka Politechnika Poznańska Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3a; Poznań remlein@et.put.poznan.pl 2004 Poznańskie Warsztaty Telekomunikacyjne Poznań 9-10 grudnia 2004 ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO WYZNACZANIA NAJLEPSZYCH KODÓW TAIL-BITING Streszczenie: W artykule opisano zastosowanie metody algorytmów genetycznych (AG) do poszukiwania najlepszych systematycznych koderów splotowych ze sprzężeniem zwrotnym używanych do transmisji danych w postaci pakietów bez bitów ogona. Ten sposób zabezpieczenia przed błędami przesyłanych danych nosi nazwę kodowania Tail-biting. [1, 2, 3]. W tabelach zostały przedstawione wyznaczone metodą AG kody Tail-biting. Znalezione kody porównano z najlepszymi kodami wyznaczonymi metodą przeszukiwania pełnej przestrzeni. 1. WPROWADZENIE W systemach łączności bezprzewodowej dane często transmitowane są w postaci pakietów. W celu poprawy jakości transmisji w takich systemach stosowanie jest kodowanie blokowe lub splotowe. W celu zastosowania kodowania splotowego do transmisji pakietów należy dokonać odpowiedniej konwersji przesyłanych ciągów danych w bloki. W praktyce stosowane są dwie metody umożliwiające zastosowanie kodowania splotowego do kodowania pakietów [2]. Jedną jest metoda transmisji ze znanymi bitami ogona [4] (ang. termination). Polega ona na dodaniu do kodowanych bitów informacyjnych pakietu tak zwanych bitów ogona [4] (zwykle jest to ciąg samych zer). Ich celem jest doprowadzenie kodera do stanu końcowego znanego odbiornikowi. Bez zastosowania takich bitów ogona algorytm Viterbiego stosowany w odbiorniku nie będzie mógł zdekodować końcowych bitów z takim samym prawdopodobieństwem jak bitów w środku pakietu. Elementy ogona wprowadzają jednak nadmiarowość powodującą zmniejszenie efektywnej prędkości transmisji Drugim sposobem umożliwiającym zastosowanie kodowania splotowego do transmisji pakietów, jest metoda transmisji bez tzw. bitów ogona [4] (ang. Tailbiting). W metodzie tej, aby nie zmniejszać sprawności transmisji przez dodawanie bitów ogona, ustala się stan początkowy kodera identyczny ze stanem końcowym bez stosowania ogona. W przypadku stosowania kodera splotowego bez sprzężenia zwrotnego, bity informacyjne pakietu wprowadzane są bezpośrednio do elementów pamięci kodera i wyznaczają jego stan. Zatem nadajnik znając m ostatnich bitów pakietu zna stan końcowy kodera, może przed rozpoczęciem kodowania ustawić koder w tym stanie. W przypadku stosowania systematycznego kodera splotowego ze sprzężeniem zwrotnym rys. 1, ustalenie stanu początkowego, w którym koder powinien rozpocząć pracę, by po N taktach zakończyć proces kodowania w tym samym stanie jest złożone. Jednym ze sposobów ustalenia tego stanu jest metoda zaproponowana dla kodów binarnych w pracy [2] i zastosowana do kodów wielowartościowych w pracy [3]. W celu wyznaczenia kodów o najlepszych parametrach transmisyjnych zwykle stosuje się metody polegające na przeszukiwaniu wszystkich kodów w ramach badanej klasy [5, 6]. Wadą tych metod jest wykładniczo rosnąca złożoność. Publikowane do tej pory wyniki badań kodów Tail-biting obejmują kodery, o co najwyżej 6 komórkach pamięci [1, 4]. W artykule autorzy prezentują nową metodę poszukiwania dobrych kodów Tail-biting, która wykorzystuje algorytm genetyczny (GA). Proponowana metoda jest szczególnie przydatna dla kodów o dużej złożoności (duża liczba elementów pamięci i długie pakiety danych). W proponowanej metodzie oceniana jest pewna stała próba kodów, zwana populacją. Na podstawie oceny populacji algorytm genetyczny (GA) tworzy generacje potomną, dążąc do doskonalenia kodów. W przeprowadzanych badaniach poszukiwane były kody o możliwie największej odległości Euklidesa. Zaletą opisywanej metody, jest liniowa złożoność obliczeniowa, wadą zaś brak gwarancji znalezienia rozwiązania optymalnego. Należy podkreślić, że dla większości testowanych klas kodów autorom udało się odnaleźć za pomocą GA rozwiązania optymalne będące wynikiem przeszukania pełnej przestrzeni określonej klasy kodów. Uzyskane wyniki wskazują na dużą przydatność algorytmu genetycznego przy optymalizacji kodów Tailbiting. W rozdziale 2 opisana została metoda poszukiwania najlepszych kodów Tail-biting oparta na algorytmach genetycznych. W rozdziale 3 przedstawiono wyniki przeprowadzonych badań. Rozdział 4 zawiera podsumowanie i wnioski. 2. ALGORYTMY GENETYCZNE Algorytmy genetyczne działają w sposób naśladujący zjawiska występujące w przyrodzie. Optymalizują pewną funkcję zwaną funkcją przystosowania [7]. Podobnie jak w naturze, algorytmy genetyczne dążą do uzyskania optymalnego wyniku, nie koniecznie najlepszego. Trudno zresztą oczekiwać od algorytmu rządzącego się pseudolosowymi metodami, aby dawał zawsze najlepsze rozwiązania. Algorytmy genetyczne można zastosować PWT 2004, Poznań 9-10 grudnia

2 we wszystkich problemach, gdzie da się stworzyć funkcję oceniającą rozwiązania. Algorytmy genetycznye różnią się od tradycyjnych metod wyznaczania najlepszych rozwiązań między innymi tym, że: operują na zakodowanych parametrach działają na pewnej, określonej liczbie parametrów oceną jest funkcja przystosowania, nie ma innych danych pomocniczych wykorzystywany jest probabilistyczny, a nie deterministyczny rodzaj wyboru. Algorytmy genetyczne nie operują na pojedynczych rozwiązaniach, ale na ich całych populacjach. Każda populacja składa się z osobników składających się z chromosomów, czyli ciągów kodowych opisujących ich cechy. Osobnik może posiadać więcej niż jeden chromosom. Chromosom składa się z genów, których wartościami są allele. Przekładając to na język teleinformatyczny: chromosomy to ciągi, składające się z bitów, bądź symboli, które mogą przyjmować wartości całkowite z zakresu: Dla kodów binarnych {0,1} Dla kodów niebinarnych {0,1,,M}, gdzie M-wartościowość kodu Każdy osobnik posiada własną funkcję przystosowania, która liczbowo określa jego przystosowanie. Analizowane w pracy kodery kodów Tail-biting składają się z systematycznego kodera splotowego ze sprzężeniem zwrotnym o sprawności k/(k+1). Na jego wyjściu znajduje się układ odwzorowujący kodowane symbole w elementy konstelacji sygnałów M-PSK (ang. Mapper). Ogólny schemat wspomnianego kodera pokazany jest na rysunku 1. U (1) U (k) g km g 1m g k1 g 11 g k0 g 10 x (1) q m q 1 x (m) Rys. 1. Schemat systematycznego kodera splotowego ze sprzężeniem zwrotnym V (1) V (k) V (k+1) Koder składa się z m elementów opóźniających, sum modulo 2 i odczepów g ij i q j. Słowo wyjściowe V kodera wybiera jeden z elementów konstelacji M-PSK. W miarę wzrostu liczby stanów kodera i wzrostu długości kodowanych pakietów liczba wszystkich możliwych kodów Tail-biting, które należałoby przeszukać w tradycyjnej metodzie optymalizacji rośnie wykładniczo i wynosi: N=2 m(k+1)l gdzie m jest liczbą komórek pamięci kodera, k - liczba kodowanych bitów wejściowych, L długość pakietu. Architektura systematycznego kodera splotowego ze sprzężeniem zwrotnym jest jednoznacznie definiowana za pomocą współczynników kodera. Współczynniki te posiadają postać słów binarnych, w których jedynka oznacza istnienie a zero brak odczepu na strukturze kodera rys. 1. Długość współczynników decyduje o liczbie stanów kodera. Koder o liczbie stanów równej 2 m ma współczynniki o długości m bitów. Liczba współczynników zależy od sprawności kodera. Zestawiając wszystkie współczynniki otrzymujemy słowo binarne o długości: z = m(k+1). Otrzymane słowo binarne wraz z wybranym dla kodu układem odwzorowania jednoznacznie określa konkretny kod. Można potraktować je jako pojedynczy chromosom w algorytmie genetycznym. Algorytm genetyczny, oparty jest na założeniu, ze podobne osobniki mają podobne właściwości. Na drodze krzyżowania początkowej populacji tworzy się nową generację, której osobniki posiadają chromosomy powstałe z chromosomów rodziców (i w domyśle podobne cechy). Rodzice dobierani są na drodze losowania, jednak w taki sposób, aby posiadacze pożądanych cech byli wybierani z większym prawdopodobieństwem. Każdy osobnik, w tym przypadku kod, poddawany jest ocenie. W przeprowadzonych badaniach kryterium optymalizacji stanowiła odległość Euklidesa. Wyznaczona na jej podstawie wartość funkcji przystosowania algorytmu genetycznego decyduje o prawdopodobieństwie replikacji. Algorytm genetyczny poszukuje lepszych rozwiązań wśród rozwiązań podobnych do już znalezionych. Skutecznie działa tylko wówczas, gdy dobre rozwiązania są do siebie podobne. Czy kody kratowe spełniają to wymaganie? Przeprowadzone obliczenia pokazują, że tak. Zastosowany algorytm znalazł kody optymalne w niemal wszystkich kategoriach kodów, dla których przeprowadzono porównawcze pełne przeszukania. Elementarny algorytm genetyczny stosowany do poszukiwania kodów Tail-biting składa się z trzech operacji: Reprodukcji Krzyżowania Mutacji Reprodukcja odpowiada za powielanie osobników do następnego pokolenia w stosunku zależnym od wartości funkcji przystosowania. Jest to operacja pseudolosowa, tak samo jak dwie pozostałe. Nie mniej jednak osobniki o największej funkcji przystosowania mają największą szansę propagować się dalej do następnych pokoleń. Losowość powoduje czasem reprodukcję nawet słabych osobników. Operacji reprodukcji dokonuje się tyle razy ile jest osobników w pokoleniu. Osobniki o lepszym przystosowaniu są wybierane częściej, bo większe jest prawdopodobieństwo ich wylosowania, co zwykle objawia się zwiększającym się średnim przystosowaniem każdego następnego pokolenia. Po operacji reprodukcji następuje krzyżowanie. W najprostszej wersji polega ono na wybieraniu losowo dwóch osobników z pokolenia, punktu krzyżowania i od miejsca krzyżowania do końca ciągu kodowego (chromosomu) zamianie symboli w obu osobnikach. PWT 2004, Poznań 9-10 grudnia

3 Punkt krzyżowania p k losowany jest między pierwszym, a ostatnim symbolem ciągu kodowego. p k ={1,2,3,4,5} p k =4 przed krzyżowaniem: pokolenie n ciąg I = ciąg II = po krzyżowaniu: pokolenie (n+1) ciąg I = ciąg II = Trzecią elementarną operacją algorytmów genetycznych jest mutacja. Jest to zjawisko o dużo mniejszym udziale aniżeli reprodukcja czy krzyżowanie, niemniej jednak spełnia dość ważną rolę. Czasem zdarza się, że reprodukcja i krzyżowanie pomijają ważny ciąg, a mutacja może to naprawić. Polega ona na zamianie wartości bitu na przeciwną (dla kodów binarnych), bądź zmianie wartości symbolu na inną z dostępnych (dla kodów wielowartościowych). Mutacja występuje zazwyczaj z bardzo małym prawdopodobieństwem, co powoduje, że zmiana symbolu w ciągu kodowym występuje rzadko. Często stosuje się zabieg zmniejszania prawdopodobieństwa propagacji osobników ponadprzeciętnych, na korzyść osobników słabych. Proces ten jest stosowany, by zbyt wcześnie osobniki bardzo dobre nie opanowały całego pokolenia. Gdyby tak się stało, wtedy algorytmy genetyczne zabrnęłyby w pewien obszar danych lokalnych i mogłyby nie znaleźć dobrego wyniku. Algorytm poszukiwania najlepszych kodów Tail-biting stosujący metodę AG przedstawiony jest na rys. 2. wybrany ten, o największej wartości minimalnej odległości Euklidesa spośród najlepszych koderów poszczególnych pokoleń. Znaleziony najlepszy koder nie musi być koderem cechującym się rzeczywiście maksymalną d e_min. Jak wspomniano we wstępie, AG dążą do uzyskania optymalnego wyniku dążącego do najlepszego z możliwych, niekoniecznie go osiągając. Jest to cena, jaką się płaci za otrzymanie rozwiązania w rozsądnym czasie. Najlepszy koder znaleziony tą metodą może zostać znaleziony w dowolnym pokoleniu, jednak tendencja otrzymywanych rozwiązań powinna dążyć w określonym kierunku. Algorytmy genetyczne w kolejnych pokoleniach szukają koderów o coraz większych d e_max, więc tendencja powinna być rosnąca, tzn. średnia minimalna odległość Euklidesa dla kolejnych pokoleń powinna rosnąć. W rozwiązaniu zastosowanym podczas szukania najlepszych kodów, charakterystyka średniego przystosowania pokolenia, była często zakłócana przez fakt nieistnienia metody Tail-biting dla znacznej części koderów, gdyż w miejsce nieprawidłowego kodera, był losowany nowy, który miał często gorszą odległość Euklidesa od średniej w populacji. START Losowe generowanie populacji początkowej Przedstawienie wyników STOP TAK Ocena wszystkich osobników populacji Zapamiętanie najlepszego dotychczasowego rozwiązania Koniec ewolucji NIE Tworzenie populacji dziedziczącej Rys 2. Schemat algorytmów genetycznych Dla każdego pokolenia według zasad zgodnych z AG tworzone są nowe osobniki, czyli tu kodery. Dla każdego z nich wykonuje się operacje związane z metodą bez bitów ogona. Tak samo jak dla metody przeszukiwania całej przestrzeni, tak i tu dla każdego osobnika oblicza się minimalną odległość Euklidesa d e_min, a co pokolenie znajdowany jest koder o największej minimalnej odległości Euklidesa d e_max. Po wykonaniu obliczeń dla ostatniego pokolenia, najlepszym koderem zostaje Rys 3. Wykres średniego przystosowania najlepszych osobników w AG dla parametrów: liczność populacji 40, liczba pokoleń: 20, prawdopodobieństwo krzyżowania: 0.9, prawdopodobieństwo mutacji 0.03, liczba symboli na jednym wejściu: 13, liczba wejść: 1, liczba komórek pamięci: 5, wartościowość kodu: 2, modulacja: 4-PSK (kodowanie Gray'a) Jak widać na powyższym rysunku, średnie przystosowanie kolejnych populacji zmierza ku coraz większym wartościom, co oznacza, że w każdym następnym pokoleniu występuje większa liczba osobników o lepszym przystosowaniu. Trzeba jednak zaznaczyć, że pomimo stałej liczby testowanych kodów czas obliczeń rośnie wykładniczo wraz ze wzrostem złożoności kodu, co jest spowodowane wykładniczym wzrostem kosztu przetestowania pojedynczego kodu (wyliczenia funkcji przystosowania). Opisana metoda jest jednak bez porównania bardziej efektywna od metody tradycyjnej, gdzie wykładniczo rośnie również liczba testowanych kodów. PWT 2004, Poznań 9-10 grudnia

4 3. WYNIKI Prezentowane rezultaty zostały otrzymane w wyniku obliczeń obejmujących co najmniej 20 pokoleń, na populacji składającej się z 40 kodów. Jako kryterium optymalizacji dla metody pełnego przeszukiwania i AG przyjęto odległość Euklidesa. Publikowane w literaturze kody Tail-biting [2, 4] optymalizowane były tylko ze względu na odległość Hamminga. Przedmiotem badań były kody o sprawności R=1/2 i 2/3 dla modulacji, odpowiednio 4-PSK i 8- PSK. Wyznaczone kodery mają m komórek pamięci, l bitów wejściowych na jednym wejściu, k wejść. Kody zaznaczone w tabelach na szarym tle oznaczają kody wyznaczone metodą AG o mniejszych odległościach Euklidesa od kodów znalezionych metodą przeszukiwania pełnej przestrzeni (PP). W przeprowadzonych badaniach tylko 3 kody wyznaczone metodą AG były gorsze od kodów optymalnych. Reszta kodów znalezionych przez AG charakteryzuje się największą odległością Euklidesa taką samą jak kody wyznaczone metodą pełnego przeszukiwania. Parametry koderów zaznaczone wytłuszczoną czcionką oznaczają nowe kody znalezione dzięki zastosowaniu metody AG. Jest wielce prawdopodobne, że wyniki uzyskane dla bardziej złożonych koderów są także najlepsze. Zapis koderów stosowany jest w kodzie ósemkowym i zaczerpnięty jest z artykułu [2]. Ciemniejsze pola oznaczają, że dla danych parametrów nie został wyszukany koder. 4. PODSUMOWANIE W artykule zaprezentowano rezultaty poszukiwań dobrych kodów Tail-biting. Jako kryterium optymalizacji przyjęto odległość Euklidesa. Przedstawiony algorytm AG okazał się użyteczny i efektywny. Pomimo probabilistycznego charakteru algorytmu genetycznego dla większości przypadków udało się wyznaczyć kody o optymalnych parametrach, takich samych jak w przypadku stosowania metody przeszukiwania pełnej przestrzeni. W tabelach zestawiono znalezione kody. Zastosowanie algorytmu genetycznego do wyznaczania struktury kodów o dobrych właściwościach transmisyjnych prowadzi do znacznego zmniejszenia czasochłonności poszukiwań najlepszych kodów w stosunku do tradycyjnych metod. Jednocześnie umożliwia znalezienie nowych kodów, których wyznaczenie było do tej pory niemożliwe ze względu na ich zbyt dużą złożoność. Tabela 1. Kody Tail-biting dla modulacji 8-PSK, R=2/3 K=l k m 4 PP AG 5 PP AG 6 PP AG K g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max 8 40,20,70 2,61 10,32,76 2,61 40,20,70 2,61 23,62,57 2,61 400,200,700 2,61 124,564,510 2, ,30,52 2,93 2,44,52 2,93 40,24,70 2,93 51,77,62 2,93 400,300,520 2,93 70,20,744 2, ,60,64 3,04 70,24,64 3,04 70,60,50 3,04 34,66,54 3,04 700,600,640 3,04 304,24,570 3, ,40,62 3,04 2,24,70 3,04 60,40,62 3,04 61,50,45 3,04 310,44,744 3, ,30,76 3,69 72,32,76 3,69 11,67,57 3,69 560,404,510 3,58 m 7 AG 8 AG 9 AG 10 AG 11 AG K g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max g1,g2,q de_max 8 174,76,422 2,61 730,224,733 2, ,230,6654 2, ,554,5160 2, ,7143,7270 2, ,374,422 2,93 422,12,406 2, ,7020,5510 2, ,3440,6562 2,93 160,6307,4360 2, ,140,604 2,93 117,240,675 3, ,7014,6160 2, ,530,5326 3,04 465,1744,4536 2, ,624,724 3,04 136,132,573 3,04 64,4564,4030 3,04 250,3146,4746 3,04 302,3355,6474 3, ,662,742 3,69 225,776,411 3, ,6554,7500 3, ,274,7644 3, ,1404,4773 3, ,320,576 4, ,4630,4420 4,13 340,3354,5700 4, ,2250,5625 4, ,260,766 4, ,2154,6130 4, ,2126,5160 4, ,236,5016 4, ,12,460 4,28 PWT 2004, Poznań 9-10 grudnia

5 Tabela 2. Kody Tail-biting dla modulacji 4-PSK, R=1/2 m 4 PP AG 5 PP AG 6 PP AG l q,g de_max q,g de_max q,g de_max q,g de_max q,g de_max q,g de_max 4 70,40 4,82 54,2 4,82 70,40 4,82 46,7 4,82 700,400 4,82 520,604 4, ,40 4,82 54,70 4,82 70,40 4,82 75,55 4,82 700,400 4,82 610,664 4, ,60 5,64 54,34 5,64 54,60 5,64 76,35 5,64 540,600 5,64 450,60 5, ,20 5,64 62,26 5,64 75,40 5,64 62,10 5,64 750,400 5,64 670,240 5, ,60 6,23 76,72 6,23 54,60 6,23 73,6 6,23 540,600 6,23 424,720 6, ,70 6,82 54,70 6,82 75,60 6,82 75,16 6,82 750,600 6,82 570,74 6, ,22 7,05 64,12 7,05 75,60 7,64 75,30 7,64 664,400 7,64 714,310 7, ,64 7,64 54,36 7,64 75,44 8,23 70,65 8,23 750,440 8,23 744,754 8, ,36 8,00 64,36 8,00 67,62 8,46 67,62 8,46 414,730 9,64 414,730 9, ,72 8,23 64,36 8,23 67,67 8,82 46,67 8,46 564,600 8,82 730,350 8,82 m 7 PP AG 8 AG 9 AG 10 AG 11 AG l q,g de_max q,g de_max q,g de_max q,g de_max q,g de_max q,g de_max 4 700,400 4,82 554,564 4,82 545,75 4, ,5174 4, ,5034 4, ,7416 4, ,400 4,82 772,364 4,82 634,526 4, ,5064 7, ,2110 4, ,3576 4, ,600 5,64 534,474 5,64 741,106 5, ,6264 5, ,4434 5, ,4232 5, ,400 5,64 736,762 5,64 450,701 5, ,7710 5, ,1470 5, ,5665 5, ,600 6,23 712,746 6,23 501,342 6, ,6524 6, ,2414 6, ,2351 6, ,600 6,82 712,42 6,82 771,511 6, ,5044 6, ,3040 6, ,500 6, ,400 7,64 406,714 7,64 717,545 7, ,7560 7, ,6146 7, ,4327 7, ,600 8,23 422,262 8,23 414,116 8, ,7144 8, ,1222 8, ,7545 8, ,620 9,64 510,256 8,82 510,256 8, ,3010 9, ,3662 9, ,7254 8, ,600 8,82 742,164 8,82 465,121 8, ,6030 8, ,2416 8, ,367 8, ,750 9,64 742,136 9,64 760,673 9, ,714 9, ,6034 9, ,2312 9, ,700 9,64 570,726 9,64 455,310 9, ,1434 9, ,574 9, ,766 9, ,344 9,87 442,772 9,64 765,540 9, ,3660 9, ,3344 9, ,1161 9, ,260 10,64 474,466 10,64 646,31 10, ,1320 9, , , , , ,552 10,64 714,651 10, ,620 10, , , ,346 10,64 510,773 11, , , , , ,722 10,82 562,37 11, , , ,362 11,64 SPIS LITERATURY [1] C.Weiβ, C.Bettstetter, S.Riedel, Code construction and decoding of parallel concatenated Tail-biting codes, IEEE Trans. Inform. Theory, vol. 47, pp , January [2] P.Ståhl, J.B.Anderson, R.Johannesson, A note on Tailbiting codes and their feedback encoders, IEEE Trans. Inform. Theory, vol.48, pp , February [3] P.Remlein, Kodery ze sprzężeniem zwrotnym dla transmisji pakietów bez tzw. symboli ogona, Poznańskie Warsztaty Telekomunikacyjne, PWT 03, Poznań grudnia 2003, ss [4] H.H. Ma, J.K. Wolf On Tailbiting Convolutional Codes. IEEE Trans. Commun., vol. 34, pp , Feb [5] Larsen, K.J., "Comments of an efficient algorithm for computing free distance", IEEE Trans., July 1973, IT-19, pp [6] Du, F., Vucetic B., "Algorithm for computing minimum product distance of TCM codes", Electronics Letters, Jan. 1992, Vol. 28, No. 1, pp [7] Goldberg, D.E., "Genetic Algorithms in Search, Optimization and Machine Learning", Addison- Wesley Publishing Company, Inc., PWT 2004, Poznań 9-10 grudnia

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

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

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

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

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

0 + 0 = 0, = 1, = 1, = 0.

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,

Bardziej szczegółowo

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

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

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

Kody blokowe Wykład 2, 10 III 2011

Kody blokowe Wykład 2, 10 III 2011 Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding

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

Kody splotowe (konwolucyjne)

Kody splotowe (konwolucyjne) Modulacja i Kodowanie Labolatorium Kodowanie kanałowe kody konwolucyjne Kody splotowe (konwolucyjne) Główną różnicą pomiędzy kodami blokowi a konwolucyjnymi (splotowymi) polega na konstrukcji ciągu kodowego.

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna

Bardziej szczegółowo

Kody splotowe. Zastosowanie

Kody splotowe. Zastosowanie Kody splotowe Zastosowanie Niekiedy potrzeba buforowania fragmentu wiadomości przed zakodowaniem, tak jak to ma miejsce w koderze blokowym, jest przeszkodą, gdyż dane do zakodowania napływają strumieniem.

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

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

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

Temat 7. Dekodery, enkodery

Temat 7. Dekodery, enkodery Temat 7. Dekodery, enkodery 1. Pojęcia: koder, dekoder, enkoder, konwerter kodu, transkoder, enkoder priorytetowy... Koderami (lub enkoderami) nazywamy układy realizujące proces zamiany informacji kodowanej

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

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017 Algebra liniowa Zadanie 1 Czy jeśli wektory x, y i z, należące do binarnej przestrzeni wektorowej nad ciałem Galois GF (2), są liniowo niezależne, to można to samo orzec o następujących trzech wektorach:

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

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

W11 Kody nadmiarowe, zastosowania w transmisji danych

W11 Kody nadmiarowe, zastosowania w transmisji danych W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów,

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

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych Instytut Automatyki i Robotyki Warszawa, 2015 Kody liczb całkowitych nieujemnych Kody liczbowe dzielimy na analityczne nieanalityczne (symboliczne)

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

Automatyczny dobór parametrów algorytmu genetycznego

Automatyczny dobór parametrów algorytmu genetycznego Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Równoważność algorytmów optymalizacji

Równoważność algorytmów optymalizacji Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni

Bardziej szczegółowo

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena

Bardziej szczegółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja

Bardziej szczegółowo

Program "FLiNN-GA" wersja 2.10.β

Program FLiNN-GA wersja 2.10.β POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika

Bardziej szczegółowo

Metoda Karnaugh. B A BC A

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

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej

Bardziej szczegółowo

Teoria Informacji - wykład. Kodowanie wiadomości

Teoria Informacji - wykład. Kodowanie wiadomości Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych

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

Dobór parametrów algorytmu ewolucyjnego

Dobór parametrów algorytmu ewolucyjnego Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

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

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

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

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne

Bardziej szczegółowo

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.

Bardziej szczegółowo

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

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.

Bardziej szczegółowo

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny

Bardziej szczegółowo

Detekcja i korekcja błędów w transmisji cyfrowej

Detekcja i korekcja błędów w transmisji cyfrowej Detekcja i korekcja błędów w transmisji cyfrowej Błędy w transmisji cyfrowej pojedyncze wielokrotne. całkowita niepewność względem miejsca zakłóconych bitów oraz czy w ogóle występują paczkowe (grupowe)

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

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata

Bardziej szczegółowo

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.

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. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany

Bardziej szczegółowo

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ Laboratorium Podstaw Telekomunikacji Ćw. 4 WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ 1. Zapoznać się z zestawem do demonstracji wpływu zakłóceń na transmisję sygnałów cyfrowych. 2. Przy użyciu oscyloskopu cyfrowego

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Marcin Stępniak Informacje. Kod NKB Naturalny kod binarny (NKB) jest oparty na zapisie liczby naturalnej w dwójkowym systemie

Bardziej szczegółowo

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,

Bardziej szczegółowo

Interfejsy systemów pomiarowych

Interfejsy systemów pomiarowych Interfejsy systemów pomiarowych Układ (topologia) systemu pomiarowe może być układem gwiazdy układem magistrali (szyny) układem pętli Ze względu na rodzaj transmisji interfejsy możemy podzielić na równoległe

Bardziej szczegółowo

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

Ocena wpływu algorytmu dupleksowego systemu transmisji danych na szybkość transmisji

Ocena wpływu algorytmu dupleksowego systemu transmisji danych na szybkość transmisji Zeszyty Naukowe SGSP 2017, Nr 64/4/2017 dr inż. Andrzej Lubański bryg. dr inż. Jacek Chrzęstek Katedra Techniki Pożarniczej Wydział Inżynierii Bezpieczeństwa Pożarowego Szkoła Główna Służby Pożarniczej

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

Dekodowanie iteracyjne sygnałów OFDM w systemie o wielu strumieniach przestrzennych

Dekodowanie iteracyjne sygnałów OFDM w systemie o wielu strumieniach przestrzennych Dekodowanie iteracyjne sygnałów OFDM w systemie o wielu strumieniach przestrzennych Robert Kotrys, Maciej Krasicki, Piotr Remlein, Andrzej Stelter, Paweł Szulakiewicz 1 Streszczeniet W artykule przedstawiono

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

Detekcja i korekcja błędów w transmisji cyfrowej

Detekcja i korekcja błędów w transmisji cyfrowej Detekcja i korekcja błędów w transmisji cyfrowej Błędy w transmisji cyfrowej pojedyncze wielokrotne. całkowita niepewność względem miejsca zakłóconych bitów oraz czy w ogóle występują paczkowe (grupowe)

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 8 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne

Bardziej szczegółowo

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

Niezawodność i diagnostyka systemów cyfrowych projekt 2015 Niezawodność i diagnostyka systemów cyfrowych projekt 2015 Jacek Jarnicki jacek.jarnicki@pwr.edu.pl Zajęcia wprowadzające 1. Cel zajęć projektowych 2. Etapy realizacji projektu 3. Tematy zadań do rozwiązania

Bardziej szczegółowo

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia

Teoria informacji i kodowania Ćwiczenia Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom

Bardziej szczegółowo

Algorytmy ewolucyjne (2)

Algorytmy ewolucyjne (2) Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Laboratorium ochrony danych

Laboratorium ochrony danych Laboratorium ochrony danych Ćwiczenie nr 3 Temat ćwiczenia: Kod BCH Cel dydaktyczny: Zapoznanie się z metodami detekcji i korekcji błędów transmisyjnych za pomocą binarnych kodów cyklicznych, na przykładzie

Bardziej szczegółowo

Technologie Informacyjne

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

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach Sieci Komputerowe Mechanizmy kontroli błędów w sieciach dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Zasady kontroli błędów

Bardziej szczegółowo

Pracownia Komputerowa wykład VI

Pracownia Komputerowa wykład VI Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1

Bardziej szczegółowo

Kod U2 Opracował: Andrzej Nowak

Kod U2 Opracował: Andrzej Nowak PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar

Bardziej szczegółowo

Teoria informacji i kodowania

Teoria informacji i kodowania Teoria informacji i kodowania Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Systemów i Sieci Radiokomunikacyjnych dr inż. Małgorzata Gajewska e-mail: malgorzata.gajewska@eti.pg.gda.pl

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

Obliczenia Naturalne - Algorytmy genetyczne

Obliczenia Naturalne - Algorytmy genetyczne Literatura Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45 Plan wykładu Literatura 1 Literatura

Bardziej szczegółowo

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR / GENETYKA POPULACJI Ćwiczenia 1 Biologia I MGR 1 ZAGADNIENIA struktura genetyczna populacji obliczanie frekwencji genotypów obliczanie frekwencji alleli przewidywanie struktury następnego pokolenia przy

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

PODSTAWY TELEKOMUNIKACJI Egzamin I - 2.02.2011 (za każde polecenie - 6 punktów)

PODSTAWY TELEKOMUNIKACJI Egzamin I - 2.02.2011 (za każde polecenie - 6 punktów) PODSTAWY TELEKOMUNIKACJI Egzamin I - 2.02.2011 (za każde polecenie - 6 punktów) 1. Dla ciągu danych: 1 1 0 1 0 narysuj przebiegi na wyjściu koderów kodów transmisyjnych: bipolarnego NRZ, unipolarnego RZ,

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Sławomir Kulesza. Projektowanie automatów synchronicznych

Sławomir Kulesza. Projektowanie automatów synchronicznych Sławomir Kulesza Technika cyfrowa Projektowanie automatów synchronicznych Wykład dla studentów III roku Informatyki Wersja 2.0, 20/12/2012 Automaty skończone Automat Mealy'ego Funkcja wyjść: Yt = f(st,

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

Algorytmy i struktury danych. Wykład 4

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

Bardziej szczegółowo