background image

 

 

Teorie 
algorytmów 
genetycznych

background image

 

 

Historia

Podstawowy algorytm 

genetyczny został 
wprowadzony przez Johna 
Hollanda(Uniwersytet 
Michigan) i rozwinięty dzięki 
jego pracom z lat 60 i 70.

background image

 

 

• Algorytmy genetyczne wykorzystują 

mechanizmy naturalnej ewolucji 
(selekcja,

przetrwanie osobników najlepiej 

przystosowanych, reprodukcja)

• Idea krzyżowania i mutacji 

chromosomów.

• W symulacjach ewolucji chromosomy 

reprezentowane są przez ciągi binarne

background image

 

 

Terminy genetyczne i ich 
odpowiedniki w algorytmach 
genetycznych

Genetyka

Algorytmy 

genet.

chromosom

Ciąg kodowy

gen

Cecha,znak

allel

Wariant cechy

locus

pozycja

genotyp

struktura

fenotyp

Rozwiązanie,pu

nkt

background image

 

 

Cele badania algorytmów 
genetycznych:

-opisanie i wyjaśnienie w sposób 
ścisły istoty procesów adaptacyjnych 
występujących w świecie przyrody

-stworzenie na użytek systemów 
konstruowanych przez człowieka 
oprogramowania,które odtwarzałoby 
podstawowe mechanizmy rządzące 
systemami biologicznymi

background image

 

 

ODPORNOŚĆ jako centralny temat w 
badaniach dotyczących algorytmów 
genetycznych

Kompromis między efektywnością a 
skutecznością konieczną do przeżycia w 
różnorodnych środowiskach

System odporny technicznie:

     -zaoszczędzenie na kosztownych 

przeróbkach

     -lepsze i dłuższe funkcjonowanie systemów

background image

 

 

Odporność,wydajność i łatwość 
przystosowania się systemów 
biologicznych

Zdolność do 
regeneracji,samosterowania i 
reprodukcji tylko w świecie 
biologii,nieobecna w świecie techniki

Tam,gdzie odporność jest cechą 
pożądaną,przyroda radzi sobie lepiej

background image

 

 

Co to są algorytmy 
ewolucyjne?

Algorytm genetyczny - 

rodzaj algorytmu 
przeszukującego przestrzeń 
alternatywnych rozwiązań 
problemu w celu wyszukania 
rozwiązań najlepszych 

Algorytmy genetyczne są to 

algorytmy optymalizacyjne, 
których zasady działania 
oparte są na mech. znanych 
już od stuleci a mianowicie na 
mech. Doboru naturalnego i 
dziedziczności. 

background image

 

 

Przykład

Chcemy kupić auto ale nie wiemy jakie.Mamy wiele 
samochodów do wybrania, a każdy z nich ma wiele 
parametrów i właściwości.Naszym celem jest kupno auta na 
naszą kieszeń i mamy konkretne wymagania.

Przestrzeń poszukiwań

 

background image

 

 

Co chcemy osiągnąć przez 
optymalizację?

„Dążenie człowieka do perfekcji znajduje 

swój wyraz w teorii optymalizacji.Zajmuje 
się ona tym,jak opisać i osiągnąć 
Najlepsze,gdy wiemy już,jak mierzyć i 
zmieniać Dobre i Złe”

                     (Beightler,Philips,Wilde,1979)

Cel optymalizacji:
Zwiększenie efektywności aż do osiągnięcia 

pewnego optimum

background image

 

 

Przykład:

background image

 

 

Idea algorytmu 
genetycznego:

Zaczerpnięta z nauk przyrodniczych

Wykorzystuje zjawisko doboru 

naturalnego i dziedziczenia 

przetrwanie osobników najlepiej 

dostosowanych w danym środowisku i 
eliminacja osobników gorzej 
przystosowanych

Przekazanie gamet i powstanie 

pokolenia lepiej przystosowanego

background image

 

 

Jak powstały pierwotne algorytmy 
genetyczne?

Holland wykorzystał fakt iż 
ewolucja zachodzi na 
chromosomach a nie na żywych 
istotach. Uważał że odpowiednio 
wprowadzony algorytm może 
dostarczyć techniki rozwiązania 
trudnych problemów w sposób jaki 
czyni to natura-poprzez ewolucje. 

background image

 

 

Zastosował ciąg bitów  w zamian chromosomu i 

dokonywał symulowanej ewolucji na populacjach 

chromosomów 

pierwotne algorytmy wykorzystywały mechanizmy 

selekcji i reprodukcji podobnie jak w naturze

 Algorytmy te znajdowały dobre chromosomy nic nie 

wiedząc o naturze problemów, który mają rozwiązać 

Jedynym kryterium pozwalającym osiągnąć takie 

wyniki jest ocena każdego chromosomu pod 

względem przystosowania. Gdy znamy Funkcję 

przystosowania możemy korzystając z algorytmów 

genetycznych znaleźć jej optima 

background image

 

 

Istota działania prostego 
algorytmu genetycznego

• Nie przeszukujemy przestrzeni bezpośrednio
• Wybieramy losowo niewielką populację należących do
niej punktów
• Populacja jest modyfikowana zgodnie z zasadami
podobnymi do tych, jakie kierują procesem naturalnej
ewolucji
• W każdej iteracji algorytmu genetycznego, 

przetwarzana

populacja rozwiązań staje się populacją coraz lepiej
przystosowanych osobników, reprezentujących
rozwiązania coraz bliższe optymalnemu

background image

 

 

Skład algorytmu genetycznego:

1.inicjacja czyli wybór początkowej 

populacji chromosomów

2.ocena przystosowania chromosomów
3.sprawdzenie warunku zatrzymania
4.selekcja chromosomów
5.zastosowanie operatorów genetycznych
6.utworzenie nowej populacji 
7.wynik w postaci najlepszego osobnika 

background image

 

 

Inicjacja

 czyli utworzenie populacji 

początkowej polega na wyborze żądanej 
liczby chromosomów reprezentowanych 
przez ciągi binarne określonej długości

Pula chromosomów z której
 będziemy wybierać

Losujemy określoną liczbę
chromosomów np.2

 

background image

 

 

Ocena przystosowania 
chromosomów w populacji

 polega 

na obliczeniu wartości funkcji 
przystosowania dla każdego chromosomu 
z tej populacji. Im większa jest wartość 
tej funkcji tym lepsza jakość chromosomu

background image

 

 

Sprawdzenie warunku 
zatrzymania

.Określenie warunku 

zatrzymania algorytmu genetycznego zależy od 
konkretnego zastosowania tego algorytmu 
genetycznego i może nastąpić w przypadkach 
gdy:

1.uzyskamy wartość maksymalna znaną 

wcześniej np.max.f

(x)

=999

2.nie poprawia się uzyskiwana wartość np. jeśli 

przez 4 generacje wynik się nie zmienia

3. po określonej liczbie generowanych populacja 

np. przetwarzanie ma trwać 6 generacji 

background image

 

 

Selekcja chromosomów

 polega na, 

wybraniu na podstawie obliczonych wartości 
funkcji przystosowania, tych chromosomów 
które będą brały udział w tworzeniu potomków 
do następnego pokolenia czyli następnej 
generacji.Najczęściej stosowana jest metoda 
ruletki

background image

 

 

Do operatorów genetycznych zaliczamy 

krzyżowanie i mutację

 

Krzyżowanie polega na wymianie informacji 
genetycznej (bitów) między parami chromosomów.

Mutacja polega na wymianie pojedynczego bitu w 
chromosomie z bardzo małym 
prawdopodobieństwem

 

Przed mutacją

       

Po mutacji

 

Po mutacji

 

Po mutacji

 

Po mutacji

 

Po mutacji

background image

 

 

Utworzenie nowej populacji

 

Chromosomy otrzymane w wyniku działania 
operatorów genetycznych na chromosomy 
tymczasowej populacji rodzicielskiej wchodzą 
w skład nowej populacji 

Wyprowadzenie najlepszego chromosomu. 
Jeżeli spełniony jest warunek zatrzymania 
algorytmu genetycznego,należy wyprowadzić 
wynik działania algorytmu w postaci 
najlepszego chromosomu 

background image

 

 

SCHEMAT BLOKOWY DZIAŁANIA 
ALGORYTMU GENETYCZNEGO

Tak 

Nie

background image

 

 

Teoria nisz i gatunków

background image

 

 

1975-Holland-model dwuramiennego 
bandyty z podziałem wypłaty:

-prawe ramię-wypłata 75 dolarów
-lewe ramię-wypłata-25 dolarów
-początkowo nie wiemy które ramię 

zapewnia większą wypłatę

-mamy populację złożona ze 100 

graczy(każdy z nich otrzymuje pełną 
kwotę wygranej związaną z 
ramieniem,które wybrał

background image

 

 

-wprowadzamy modyfikację do gry:wygraną 

dzielimy pomiędzy graczy z danej kolejki

-teraz osobnik ustawiony do praweg0o 

ramienia otrzymuje 75/100=0,75 dolarów

-gdyby wszyscy gracze ustawili się do 

lewego ramienia,każdy otrzymałby 25-

0,75=24,25

-punkt równowagi,w którym nikomu nie 

opłaca się zmieniać kolejki:

    f(prawe)/m(prawe)=f(prawe)/M-

m(lewe)=f(lewe)/m(lewe)

background image

 

 

-całkowite wyrównanie wypłat 

nastąpi gdy 75 graczy wybierze 
prawe ramię,a 25 lewe(bo 
75/75=25/25=1)

-jednak w rzeczywistym algorytmie 

genet.mamy do czynienia z 
wieloma ramionami

background image

 

 

Zastosowanie algorytmów 
genetycznych i
ewolucyjnych

Znajdują zastosowanie w matematyce, 
medycynie, technice, ekonomii itp.

 Główny, lecz nie jedyny, obszar ich 
zastosowań stanowi optymalizacja

Praktyczne zastosowania: wytyczanie trasy 
połączeń kablowych,

sterowania, zadania transportowe, optymalizacja 

wag sieci neuronowych

Gry komputerowe. Już w 1967 roku Begley 
opracował adaptacyjny

program do gry w 6 pionków.

background image

 

 

• 

Cavicchio w pracy doktorskiej, z 1970 roku, użył AG do 

rozwiązania

dwóch problemów: wyboru podprogramu i rozpoznawania postaci 

(ściślej

do zaprojektowania zestawu detektorów cech dla urządzenia

rozpoznającego)

• System analizy obrazów medycznych za pomocą cyfrowej 

angiografii

różnicowej (Fitzpatrick, Grefenstette, Van Gucht)

• Planowanie optymalnej ścieżki robota z omijaniem przeszkód, 

konstrukcja

ewolucyjnych robotów

• Zagadnienia kombinatoryczne (problem komiwojażera, 

harmonogramy,

planowanie zakupów itp…)

background image

 

 

Bibliografia

-David E.Goldberg-”Algorytmy 

genetyczne i ich zastosowania”

-Internet:

http://wombat.ict.pwr.wroc.pl/nauc
zanie/prezentacja/flash/ag/intro.s
wf

http://www.fizyka.umk.pl/~norber
t/SemMagInf/Wilczewski.pdf

wikipedia


Document Outline