Ewolucyjne projektowanie i optymalizacja kombinacyjnych układów cyfrowych ze względu na liczbę tranzystorów

Podobne dokumenty
ZESZYTY NAUKOWE WYDZIAŁU ETI POLITECHNIKI GDAŃSKIEJ Nr 5 Seria: Technologie Informacyjne 2007

Wykorzystanie bramek prądowych i napięciowych CMOS do realizacji funkcji bloku S-box algorytmu Whirlpool

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Dobór parametrów algorytmu ewolucyjnego

Wstęp do Sztucznej Inteligencji

ALGORYTMY GENETYCZNE ćwiczenia

Laboratorium podstaw elektroniki

Część 2. Funkcje logiczne układy kombinacyjne

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Technika cyfrowa Synteza układów kombinacyjnych

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

SZTUCZNA INTELIGENCJA

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Architektura komputerów Wykład 2

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Tranzystor JFET i MOSFET zas. działania

Układy kombinacyjne 1

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

Technika cyfrowa Synteza układów kombinacyjnych (I)

Strategie ewolucyjne (ang. evolution strategies)

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

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Bramki logiczne. 2. Cele ćwiczenia Badanie charakterystyk przejściowych inwertera. tranzystorowego, bramki 7400 i bramki

x x

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Algorytm genetyczny (genetic algorithm)-

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algebra Boole a i jej zastosowania

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Państwowa Wyższa Szkoła Zawodowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Ewolucja Różnicowa Differential Evolution

Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD

Wstęp do Techniki Cyfrowej... Algebra Boole a

dr inż. Małgorzata Langer Architektura komputerów

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

2019/09/16 07:46 1/2 Laboratorium AITUC

Zadania laboratoryjne i projektowe - wersja β

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

Elementy cyfrowe i układy logiczne

Bramki logiczne V MAX V MIN

Algorytmy genetyczne

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

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

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

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

Synteza układów kombinacyjnych

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 72 Electrical Engineering 2012

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Elektronika cyfrowa i optoelektronika - laboratorium

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Pakiet edukacyjny DefSim Personal. Analiza prądowa IDDQ

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

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

O dwóch modyfikacjach algorytmu PSO

Język opisu sprzętu VHDL

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

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

Optymalizacja optymalizacji

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

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Laboratorium elektroniki i miernictwa

Algorytmy ewolucyjne

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

TRANSCOMP XV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT ALGORYTMY SYMULACJI UKŁADÓW CYFROWYCH

Minimalizacja funkcji boolowskich - wykład 2

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Algorytmy genetyczne

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

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

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

LABORATORIUM PODSTAW ELEKTRONIKI. Komputerowa symulacja układów różniczkujących

z ćwiczenia nr Temat ćwiczenia: BADANIE UKŁADÓW FUNKCJI LOGICZNYCH (SYMULACJA)

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

Standardowy algorytm genetyczny

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

Podstawowe układy cyfrowe

Program "FLiNN-GA" wersja 2.10.β

Ćwiczenie 1 Program Electronics Workbench

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

Komputerowa symulacja bramek w technice TTL i CMOS

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

Automatyzacja i robotyzacja procesów produkcyjnych

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Programowanie genetyczne

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Transkrypt:

Adam Słowik Michał Białko Wydział Elektroniki i Informatyki Politechnika Koszalińska ul. JJ Śniadeckich 2, 75-453 Koszalin Ewolucyjne projektowanie i optymalizacja kombinacyjnych układów cyfrowych ze względu na liczbę tranzystorów Słowa kluczowe: sztuczna inteligencja, algorytmy ewolucyjne, kombinacyjne układy cyfrowe, projektowanie, optymalizacja. STRESZCZENIE W artykule przedstawiono zastosowanie algorytmu ewolucyjnego do projektowania i optymalizacji kombinacyjnych układów cyfrowych ze względu na liczbę tranzystorów. Przy użyciu proponowanej metody zaprojektowano cztery układy kombinacyjne o tablicach prawdy wybranych z literatury. Otrzymane wyniki są w wielu przypadkach lepsze od wyników uzyskanych innymi metodami. 1. WPROWADZENIE W przypadku projektowania kombinacyjnych układów cyfrowych można wyróżnić dwa kryteria optymalizacji: ze względu na liczbę bramek oraz ze względu na liczbę tranzystorów. W obu przypadkach ich minimalizacja prowadzi do zmniejszenia kosztów fizycznej implementacji danego układu. Minimalizacja liczby bramek jest szczególnie wymagana w przypadku gdy otrzymana funkcja logiczna ma być realizowana przy pomocy istniejących już elementów przetwarzających (EP) wchodzących w skład np. układu FPGA. Wówczas każdy element przetwarzający może realizować jedną wybraną funkcję logiczną reprezentowaną przez poszczególną bramkę. W tym przypadku im z mniejszej liczby bramek składa się układ, tym mniej EP będzie wymaganych do jego realizacji. Natomiast minimalizacja liczby tranzystorów jest szczególnie ważna w przypadku implementacji układu bezpośrednio w krzem. Wówczas im mniejsza liczba tranzystorów tym mniejszy rozmiar układu a tym samym mniejszy koszt produkcji. Do najbardziej popularnych metod projektowania kombinacyjnych układów cyfrowych można zaliczyć metodę Map Karnaugh a [1] oraz metodę Quine a-mccluskey a [2, 3]. Również od pewnego czasu do omawianego zagadnienia stosuje się algorytmy ewolucyjne. Proces ewolucyjnego tworzenia nowych układów jest zasadniczo różny od tradycyjnego projektowania, gdyż nie opiera się on na wiedzy i doświadczeniu projektanta lecz na procesie ewolucji [4]. Ewolucyjne projektowanie układów posiada mniej ograniczeń od projektowania opartego na wiedzy i doświadczeniu projektanta, w którym projektanci są nie tylko ograniczeni przez technologię w jakiej układ zostanie wytworzony, ale również przez własne III Układy cyfrowe 207

przyzwyczajenie (rutynę), inteligencję, wyobraźnię oraz twórcze myślenie [4]. Natomiast zastosowanie metod ewolucyjnych do projektowania układów pozwala uciec od opisywanych wcześniej ograniczeń i uzyskać dostęp do nowych możliwości [4]. Wśród metod ewolucyjnych można wymienić algorytmy: NGA (Genetic Algorithm with N-cardinality representation) [5, 6], MGA (Multiobjective Genetic Algorithm) [7] czy też opracowany przez autorów niniejszej pracy algorytm MLCEA (Multi-Layer Chromosome Evolutionary Algorithm) [8]. Głównym celem tych algorytmów jest projektowanie i optymalizacja kombinacyjnych układów cyfrowych ze względu na liczbę bramek. W niniejszym artykule przedstawiono ewolucyjną metodę projektowania i optymalizacji kombinacyjnych układów cyfrowych ze względu na liczbę tranzystorów. Metodę tą, będąca modyfikacją algorytmu MLCEA nazwano MLCEA-TC (Multi-Layer Chromosome Evolutionary Algorithm Transistor Count). Wyniki otrzymane przy jej użyciu porównano z wynikami otrzymanymi przy pomocy innych metod. 2. METODA MLCEA-TC Metoda MLCEA-TC różni się od wcześniej opracowanej metody MLCEA [8] tym, że kryterium optymalizacji jest minimalizacja liczby tranzystorów a nie liczby bramek. W związku z tym dokonano zmian funkcji celu oraz podobnie jak w pracy [10] przyjęto następujący zbiór bramek: NOT, NOR, XOR, NAND, BP (bezpośrednie połączenie wejścia z wyjściem bramki) zamiast zbioru: NOT, OR, XOR, AND, BP. Zmiany odnośnie zbioru bramek dokonano z tego względu, ponieważ fizyczna implementacja bramek NAND i NOR wymagana mniejszej liczby tranzystorów niż w przypadku bramek AND i OR oraz ze względu na porównywalność wyników pomiędzy prezentowaną metodą, a wynikami otrzymanymi w pracy [10]. Metoda MLCEA-TC działa w następujący sposób. Na początku, w celu utworzenia populacji startowej, tworzy się szablon projektowanego układu, który pokazano na rys. 1a, a strukturę i kodowanie osobników przedstawiono na rys. 1b. Rys. 1. Struktura: szablonu bramek (a), wielowarstwowego chromosomu reprezentującego ten szablon (b) W miejscu Wejście nr x chromosomu wpisuje się numer bramki szablonu (lub numer wejścia układu), której wyjście ma być podłączone do tego wejścia, w miejsce Typ Bramki nr x wpisuje się jedną z pięciu cyfr, które odpowiednio reprezentują: 1-bramka NOT, 2- bramka NAND, 3-bramka XOR, 4-bramka NOR, 5-bezpośrednie połączenie (BP) danego wejścia bramki z jej wyjściem. Cyfra 0 oznacza brak połączenia danego wejścia bramki szablonu, natomiast cyfra 6 oznacza wyjście układu. W miejsce Wyjście nr x wpisuje się numer bramki szablonu, której wyjście ma być podłączone do danego wyjścia układu. Wejścia całego układu są reprezentowane poprzez liczby ujemne np. wejście pierwsze jest oznaczone liczbą 1, itd. 208

Każdy osobnik w populacji przedstawia sobą określony układ kombinacyjny. Dla przykładu na rys. 2 przedstawiono trójwejściowy układ realizujący tabelę prawdy Układu nr 1 z tab. 1. Temu układowi odpowiada szablon dwuwejściowych bramek, wraz z połączeniami pomiędzy nimi, zaprezentowany na rys. 3. Natomiast szablon ten w populacji jest reprezentowany przez wielowarstwowy chromosom przedstawiony na rys. 4, w którym każda kolumna odpowiada jednej bramce szablonu. Bramki wchodzące w skład układu z rys. 2, wyróżniono na rys. 3 i rys. 4 kolorem szarym. Rys. 2. Przykładowy układ realizujący tabelę prawdy dla Układu nr 1 z tab. 1 Rys. 3. Szablon bramek odpowiadający układowi z rys. 2 Rys. 4. Wielowarstwowy chromosom odpowiadający szablonowi bramek z rys. 3 Rozmiar szablonu t dla projektowanego układu określa się eksperymentalnie według zależności: t=max(lwe,lwy) (1) gdzie: LWe liczba wejść układu, LWy liczba wyjść układu. W przypadku gdy przyjęty rozmiar nie powoduje znalezienia układu spełniającego określoną tabelę prawdy, wówczas zwiększa się go o jeden i powtarza obliczenia. Po utworzeniu populacji początkowej każdy osobnik jest oceniany przy pomocy funkcji celu FC1: v j, gdy O( ci) C I i 2 fc1i = ; FC1= ( ) 0, gdy O( ci) fc1i + Sc t LTMAX LT (2) = Ci i= 1 III Układy cyfrowe 209

gdzie: v liczba rzeczywista dodatnia (podczas eksperymentów przyjęto v=10), c i wektor zawierający i-tą kombinację sygnałów wejściowych (tabela prawdy), O(c i ) wektor odpowiedzi układu dla wektora c i, podanego na wejście układu, C i wektor zawierający poprawną odpowiedź układu (tabela prawdy), j liczba różnic na poszczególnych pozycjach pomiędzy wektorem O(c i ) a wektorem C i, I liczba wektorów wejściowych układu wynikająca z tabeli prawdy, t rozmiar szablonu, LT liczba tranzystorów w zaprojektowanym układzie, LT MAX maksymalna liczba tranzystorów przypadająca na bramkę z przyjętego zbioru, Sc współczynnik skalujący, określany według zależności (podczas eksperymentów przyjęto Sc = 0.007): v 0 < Sc < (3) 2 t LTMAX Wartość funkcji FC1 jest tym większa im dany osobnik (układ) w mniejszym stopniu spełnia zadaną tabelę prawdy. Podczas pracy algorytm dąży do jej minimalizacji. W przypadku gdy nie zostanie znalezniony układ spełniający tabelę prawdy ( FC1 v ), wówczas stosuje się takie operatory jak: krzyżowanie, mutację oraz selekcję wachlarzową [9]. Operator krzyżowania polega na cięciu wszystkich warstw dwóch losowo wybranych chromosomów w losowo wybranym punkcie i wymianie odciętych fragmentów pomiędzy nimi. Dzięki zastosowaniu chromosomów wielowarstwowych możliwe jest wycinanie całych bramek szablonu bez naruszania ich struktury. Operator mutacji natomiast polega na losowej zmianie typu bramki szablonu (w przypadku wybrania do mutacji genu leżącego w ostatniej warstwie chromosomu) lub zmianie połączenia pomiędzy bramkami szablonu (gdy do mutacji wybrany jest gen z pozostałych warstw). W przypadku znalezienia układu spełniającego tabelę prawdy ( FC1 < v ) następuje zamiana funkcji celu i algorytm przechodzi do drugiej fazy pracy. Celem nowej funkcji FC2 jest minimalizacja liczby tranzystorów w układzie. Funkcja FC2 jest tym mniejsza im układ składa się z mniejszej liczby tranzystorów i jest opisana zależnością: LT, gdy FC1< v FC2 = (4) w + LT, gdy FC1 v gdzie: w wartość kary, przy czym w powinno być większe od t 2 LT MAX (podczas eksperymentów przyjęto w = 10 5 ), pozostałe oznaczenia identycznie jak w zależności (1). Podczas pracy algorytm dąży do minimalizacji funkcji FC2. W drugie fazie pracy algorytmu zamiast selekcji wachlarzowej stosowano selekcję elitarystyczną, aby nie zagubić rozwiązania (układu spełniającego tabelę prawdy) znalezionego podczas pierwszego etapu pracy algorytmu. Kryterium zatrzymania algorytmu jest jego zbieżność (niezmienność najlepszego rozwiązania przez k pokoleń), a wynikiem jego działania jest układ reprezentowany przez najlepszy chromosom (cechujący się najmniejszą wartością funkcji celu FC2) w populacji. 3. PRZEPROWADZONE EKSPERYMENTY Do eksperymentów wybrano cztery układy testowe (identyczne jak w pracy [8]), których tabele prawdy przedstawiono w tab. 1. Symbol O reprezentuje wyjścia układu, symbol In oznacza wejścia układu. Podczas przeprowadzonych eksperymentów przyjęto wielkość populacji algorytmu ewolucyjnego równą 100, prawdopodobieństwo krzyżowania równe 0.5, prawdopodobieństwo mutacji równe 0.05, współczynnik a selekcji wachlarzowej [9] wynosił 0.3. Rozmiar szablonu określano zgodnie z zależnością (1). Dla wszystkich układów otrzymano wartość t=5 (matryca składająca się z 25 bramek). 210

Tab. 1. Tabele prawdy projektowanych układów Układ nr 1 Układ nr 2 Układ nr 3 Układ nr 4 In O In O In O In O X Y Z F Z W X Y F A B C D F A 1 A 0 B 1 B 0 X 2 X 1 X 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 W tab. 2 przedstawiono uzyskane wyniki przy użyciu metody MLCEA-TC. Dane porównawcze odnośnie innych metod zaczerpnięto z prac [8, 10]. Oznaczenie GA-TC reprezentuje wyniki otrzymane przy pomocy metody opisanej w pracy [10]. Symbole oznaczają: LB - liczba bramek, LT - liczba tranzystorów. Znak w zapisie otrzymanej funkcji oznacza negację. Wszystkie układy projektowano w oparciu o bramki dwuwejściowe. Zgodnie z pracą [10] przyjęto, że bramka NOT składa się z 2 tranzystorów, bramka NOR i NAND posiada 4 tranzystory, natomiast bramka XOR zbudowana jest z 16 tranzystorów. Tab. 2. Otrzymane wyniki dla projektowanych układów Układ numer 1 Human Design F=(X Y Z)+(X (Y Z)) 6 42 Genetic Algorithm F=(Z (X+Y)) (X Y) 4 34 GA-TC F=(((Y Z) X)+(Y+Z) ) 4 28 MLCEA-TC F=(((X Z) Y)+(X+Z) ) 4 28 Układ numer 2 Human Design F=((Z X)+(Y W ))+((X Y)(Z W )) 11 70 Genetic Algorithm F=(((W Y)+(W X)) ((Z+X+Y) Z)) 8 74 GA-TC F=((Z Y)+(X+Y) ((X Y) W) 6 48 MLCEA-TC F=(((X+Y) +Z) Y) ((X Y) W) 6 48 III Układy cyfrowe 211

Tab. 2. Kontynuacja Układ numer 3 Human Design F=((A B) ((A D)(B+C)))+((A+C)+D) 9 74 Genetic Algorithm F=((A B) A D)+(C+(A D)) 7 68 GA-TC F=((A+D) (B D) ((C+(B D)) +((A D) +C) ) ) 8 56 MLCEA-TC F=(((A B) (A D) ) (((A D) D) (B+C) )) 7 52 Układ numer 4 Human Design X 0 =A 0 B 0 ; X 1 =(A 1 B 1 ) B 0 +((A 1 B 1 ) A 0 ) B 0 X 2 =(A 1 B 1 )+(A 0 B 0 ) (A 1 +B 1 ) 12 98 Genetic Algorithm X 0 =A 0 B 0 ; X 1 =(A 0 B 0 ) (A 1 B 1 ) X 2 =(A 1 B 1 )+(A 0 B 0 ) (A 1 B 1 ) 7 72 GA-TC - - - MLCEA-TC X 0 =A 0 B 0 ; X 1 =(B 1 A 1 ) (A 0 B 0 ) X 2 =(((A 0 B 0 ) +(B 1 A 1 ) ) (B 1 A 1 ) ) 9 68 4. PODSUMOWANIE Z tab. 2 widać, że przy użyciu proponowanej metody możliwe jest projektowanie i optymalizacja kombinacyjnych układów cyfrowych ze względu na liczbę tranzystorów. We wszystich przypadkach uzyskane wyniki metodą MLCEA-TC są lepsze (układy składają się z mniejszej liczby tranzystorów w 9 przypadkach na 11 możliwych) lub porównywalne (w pozostałych 2 przypadkach) do wyników uzyskanych innymi metodami. Również można zauważyć, że minimalizacja liczby tranzystorów w układzie nie musi pociągać za sobą minimalizacji liczby bramek, co widać szczególnie w przypadku układu numer cztery. BIBLIOGRAFIA [1] M. Karnaugh, A Map Method for Synthesis of Combinational Logic Circuits, Transaction of the AIEE, Communications and Electronic, 72(I):593-599, November, 1953, [2] W. V. Quine, A Way to Simplify Truth Function, American Mathematical Monthly, 62(9):627-631, 1955, [3] E. J. McCluskey, Minimization of Boolean Function, Bell Systems Technical Journal, 35 (5):1417-1444, November 1956, [4] J. Greene, Simulated Evolution and Adaptive Search in Engineering Design, Experiences at the University of Cape Town, in 2 nd Online Workshop on Soft Computing, July, 1997, [5] C. A. Coello, A. D. Christiansen, A. H. Aguirre, Use of Evolutionary Techniques to Automate the Design of Combinational Circuits, International Journal of Smart Engineering System Design, 2000, [6] C. A. Coello, A. D. Christiansen, and A. H. Aguirre, Automated Design of Combinational Logic Circuits using Genetic Algorithms, Proceedings of the International Conference on Artificial Neural Nets and Genetic Algorithms, pages 335 338, April, 1997, [7] C. A. Coello, A. H. Aguirre, and B. P. Buckles, Evolutionary Multiobjective Design of Combinational Logic Circuits, Proceedings of the 2 nd NASA/DoD Workshop on Evolvable Hardware, pages 161-170, Los Alamitos, California, July 2000, [8] A. Słowik, M. Białko, Design and Optimization of Combinational Digital Circuits Using Modified Evolutionary Algorithm, Proceedings of 7 th International Conference on Artifficial Intelligence and Soft Computing, Lecture Notes in Artificial Intelligence, Volume 3070/2004, pp. 468-473, Springer-Verlag, [9] A. Słowik, M. Białko, Modified Version of Roulette Selection for Evolution Algorithm The Fan Selection, Proceedings of 7 th International Conference on Artifficial Intelligence and Soft Computing ICAISC 2004, Lecture Notes in Artificial Intelligence, Volume 3070/2004, pp. 474-479, Springer-Verlag, [10] P. Nilagupta, N. Ou-thong, Logic Function Minimization Base On Transistor Count Using Genetic Algorithm, in Proceedings of the 3 rd Information and Computer Engineering Postgraduate Workshop 2003 (ICEP 2003), Songkla, Thailand, January 2003. 212