Dokończono algorytmy genetyczne.
BIN
baza_danych.png
Before Width: | Height: | Size: 71 KiB |
198
beeminder.txt
@ -2,6 +2,8 @@
|
|||||||
\input{pakiety.tex}
|
\input{pakiety.tex}
|
||||||
\input{ustawienia.tex}
|
\input{ustawienia.tex}
|
||||||
|
|
||||||
|
\graphicspath{{img/}}
|
||||||
|
|
||||||
\newcommand\blankpage{%
|
\newcommand\blankpage{%
|
||||||
\null
|
\null
|
||||||
\thispagestyle{empty}%
|
\thispagestyle{empty}%
|
||||||
@ -12,6 +14,9 @@
|
|||||||
|
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
|
|
||||||
|
\theoremstyle{definition}
|
||||||
|
\newtheorem{example}{Przykład}
|
||||||
|
\numberwithin{example}{chapter}
|
||||||
% strona tytulowa
|
% strona tytulowa
|
||||||
\input{strona_tytulowa.tex}
|
\input{strona_tytulowa.tex}
|
||||||
% oswiadczenie
|
% oswiadczenie
|
||||||
@ -71,7 +76,7 @@
|
|||||||
\begin{center}
|
\begin{center}
|
||||||
\Large{Uniwersytet im. A. Mickiewicza w Poznaniu} \\
|
\Large{Uniwersytet im. A. Mickiewicza w Poznaniu} \\
|
||||||
\large{Wydział Matematyki i Informatyki}\\
|
\large{Wydział Matematyki i Informatyki}\\
|
||||||
%\vskip0.2in
|
%\vskip0.2in
|
||||||
\large{Praca magisterska}\\
|
\large{Praca magisterska}\\
|
||||||
\large{\textbf{Ekstrakcja informacji o godzinach rozpoczęcia mszy świętych}}\\
|
\large{\textbf{Ekstrakcja informacji o godzinach rozpoczęcia mszy świętych}}\\
|
||||||
\normalsize{\textbf{Extracting information about church services start times}}\\
|
\normalsize{\textbf{Extracting information about church services start times}}\\
|
||||||
@ -166,6 +171,7 @@ Jednocześnie przyjmuję do wiadomości, że przypisanie sobie, w pracy dyplomow
|
|||||||
\usepackage{floatflt} % ladne oplywanie obrazkow tekstem
|
\usepackage{floatflt} % ladne oplywanie obrazkow tekstem
|
||||||
\usepackage{url} % url w bibliografii
|
\usepackage{url} % url w bibliografii
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amsthm}
|
||||||
|
|
||||||
\usepackage{tabularx} %lepsze tabele nie uzywane
|
\usepackage{tabularx} %lepsze tabele nie uzywane
|
||||||
\usepackage{makecell} % do formatowania cell w tabelach
|
\usepackage{makecell} % do formatowania cell w tabelach
|
||||||
@ -234,62 +240,169 @@ Jednocześnie przyjmuję do wiadomości, że przypisanie sobie, w pracy dyplomow
|
|||||||
|
|
||||||
\section{Algorytmy genetyczne}
|
\section{Algorytmy genetyczne}
|
||||||
|
|
||||||
Algorytmy genetyczny jest to metaheurystyka zainspirowana teorią ewolucji
|
Algorytm genetyczny jest to metaheurystyka zainspirowana teorią ewolucji
|
||||||
Charlsa Darwin'a. Algorytm odzierciedla zjawisko ewolucji biologicznej.
|
Charlsa Darwin'a. Algorytm odzierciedla zjawisko ewolucji biologicznej.
|
||||||
W procesie naturalnej selekcji najlepsze osobniki wezmą udział w reprodukcji
|
W procesie naturalnej selekcji najlepsze osobniki biorą udział w reprodukcji,
|
||||||
dając początek nowej lepiej przystosowanej generacji.
|
dając początek nowej, lepiej przystosowanej generacji.
|
||||||
|
% przecinek
|
||||||
|
|
||||||
Naturalna selekcja zaczyna się od doboru najdoskonalszych osobników z populacji.
|
Naturalna selekcja zaczyna się od doboru najdoskonalszych osobników z populacji.
|
||||||
Biorą one udział w reprodukcji przekazując część swoich genów potomkom. Nowa
|
Biorą one udział w reprodukcji przekazując część swoich genów potomkom. Nowa
|
||||||
generacja powinna być lepiej przystosowana niż rodzice ponieważ, jest
|
generacja powinna być lepiej przystosowana niż rodzice, ponieważ jest
|
||||||
połączeniem genów, które zapewniły przeżycie rodzicom. Nawet gdyby wśród nowego
|
połączeniem genów, które zapewniły przeżycie rodzicom. W przypadku gdy wśród nowego
|
||||||
potomstwa znalazły się słabe
|
potomstwa znalazłyby się słabe
|
||||||
organizmy, to nie ma obawy, że ich geny przejdą do następnego pokolenia, ponieważ
|
organizmy, to nie ma obawy, że ich geny przejdą do następnego pokolenia, ponieważ
|
||||||
najprawdobniej nie dożyją one okresu rozrodczego. W ten sposób każde kolejne
|
najprawdobniej nie dożyją one okresu rozrodczego. W ten sposób każde kolejne
|
||||||
pokolenie jest lepsze niż poprzednie.
|
pokolenie jest lepsze niż poprzednie.
|
||||||
Ta wiedzę przyrodnicza została przełożona na algorytm genetyczny.
|
Powyższa wiedza, wynikająca z obserwacji praw natury, została przełożona na grut
|
||||||
|
matemtyki i informatyki tworząc algorytm genetyczny.
|
||||||
|
% przecinek
|
||||||
|
\newpage
|
||||||
|
\enlargethispage{12\baselineskip}
|
||||||
Na algorytm genetyczny składają się:
|
Na algorytm genetyczny składają się:
|
||||||
\begin{itemize}
|
\vspace*{-1mm}
|
||||||
\item inicjalizacji populacji,
|
\begin{itemize}[noitemsep]
|
||||||
\item funkcja przystosowania,
|
% \setlength\itemsep{0.005em}
|
||||||
|
\item inicjalizacja populacji,
|
||||||
|
\item funkcja przystosowania (stosowana przy ewaluacji i selekcji),
|
||||||
\item selekcja,
|
\item selekcja,
|
||||||
\item krzyżowanie,
|
\item krzyżowanie,
|
||||||
\item mutacja.
|
\item mutacja.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Inicjalizacja populacji}
|
\vspace*{-8mm}
|
||||||
Algorytm zaczyna się od utworzenia zbioru osobników, zwanych populacją. Każdy z
|
|
||||||
osobników jest rozwiązaniem problemu obliczeniowego. Osobnik reprezentowany jest
|
\begin{figure}[h!]
|
||||||
poprzez zbiór genów (parametrów), nazywanych chromosem.
|
\centering
|
||||||
|
\includegraphics[width=0.9\hsize]{overview_GA.png}
|
||||||
|
\caption{Schemat działania algorytmu genetycznego.}
|
||||||
|
\label{overview_ga_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\subsection{Inicjalizacja populacji}
|
||||||
|
Algorytm zaczyna się od utworzenia zbioru osobników zwanych populacją. Każdy z
|
||||||
|
osobników jest rozwiązaniem problemu obliczeniowego. Osobnik reprezentowany jest
|
||||||
|
poprzez zbiór genów (parametrów) nazywanych chromosem.
|
||||||
|
Chromosom \newline jest najczęściej kodowany za pomocą:
|
||||||
|
\begin{itemize}
|
||||||
|
\item wektora genów, z których każdy reprezentowany jest przez liczbę całkowitą,
|
||||||
|
a czasem nawet liczbę rzeczywistą,
|
||||||
|
\item drzewiastych struktur danych.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[tbh]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\hsize]{kodowanie.png}
|
||||||
|
\caption{Przykład osobników zakodowanych binarnie.}
|
||||||
|
\label{kodowanie_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\textbf{Przykład}
|
|
||||||
\subsection{Funkcja przystosowania}
|
\subsection{Funkcja przystosowania}
|
||||||
Funkcja przystosowania określa jak bardzo przystosowany jest osobnik (miara
|
Funkcja przystosowania określa jak bardzo przystosowany jest osobnik (miara
|
||||||
jakości osobnika).
|
jakości osobnika). Im bardziej będzie przystosowany dany osobnik tym bardziej będzie
|
||||||
|
faworyzowany w procesie selekcji. Funkcja przystosowania dobierana jest w
|
||||||
|
zależności od modelu rozwiązywanego problemu, zwykle algorytm genetyczny dąży \newline do
|
||||||
|
jej minializacji lub maksymalizacji.
|
||||||
|
\begin{example}
|
||||||
|
Dla problemu
|
||||||
|
komiwojażera algorytm genetyczny będzie premiował te rozwiązania (w tym wypadku cykle Hamiltona), których suma
|
||||||
|
wag krawędzi jest najbliższa minimalnej sumie wag krawędzi w cyklu Hamiltona.
|
||||||
|
\end{example}
|
||||||
|
|
||||||
\subsection{Selekcja}
|
\subsection{Selekcja}
|
||||||
Z każdej generacji wybierany jest podzbiór populacji, który będzie brał udział w
|
\enlargethispage{6\baselineskip}
|
||||||
rozmnażaniu, w tworzeniu nowej generacji. Pojedyńcze osobniki wybierane są na
|
Z każdej generacji wybierany jest podzbiór populacji, który będzie brał udział
|
||||||
|
\newline w
|
||||||
|
rozmnażaniu, czyli w tworzeniu nowej generacji. Pojedyńcze osobniki wybierane
|
||||||
|
\newline są na
|
||||||
podstawie funkcji przystosowania. Im lepiej przystosowany dany osobnik tym
|
podstawie funkcji przystosowania. Im lepiej przystosowany dany osobnik tym
|
||||||
większe będzie miał szanse na wzięcie udziału w reprodukcji.
|
większe będzie miał szanse na wzięcie udziału w reprodukcji.
|
||||||
|
|
||||||
\subsection{Krzyżowanie}
|
\noindent Wśród metod selekcji chromosomów wyróżniamy między innymi:
|
||||||
Metoda używana do tworzenia nowych osobników. Każdy nowy osobnik tworzony jest
|
\vspace*{-3mm}
|
||||||
z pary rodziców. Krzyżowanie polega na łączeniu dwóch
|
|
||||||
genotypów w jeden. Potomek rodziców ma zespół cech które są kombinacją genotypów rodziców.
|
|
||||||
\subsection{Mutacja}
|
|
||||||
Operator genetyczny gwarantujący różnorodność osobników. Mutacja wprowadza do
|
|
||||||
genotypu losowe zmiany.
|
|
||||||
|
|
||||||
|
|
||||||
Proces generacji trwa aż do osiągnięcia kryterium stopu. Popularne kryteria to:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item ustalona z góry liczba iteracji
|
\setlength\itemsep{0.005em}
|
||||||
\item osobnik (rozwiązanie), która spełnia minimalne kryterium % ???
|
\item metodę ruletki,
|
||||||
\item wykorzystanie określonej liczby zasobów np. czasu pracy procesora lub pieniędzy
|
\item metodę rankingową,
|
||||||
\item kolejne iteracje nie tworzą lepszych rozwiązań
|
\item metodę turniejową.
|
||||||
\item osiągnięcie najlepszego rozwiązania
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\textbf{Metoda ruletki.} \newline
|
||||||
|
Niech $f(o_i)$ będzie przystosowaniem osobnika $o_i$ z populacji $P$, wtedy
|
||||||
|
prawdopodbieństwo wyboru $o_i$ wynosi:
|
||||||
|
\begin{equation*}
|
||||||
|
p_i = \frac{f(o_i)}{\sum_{j=1}^N f(o_i)},
|
||||||
|
\end{equation*}
|
||||||
|
gdzie $N$ to rozmiar populacji $P$.
|
||||||
|
\end{example}
|
||||||
|
\vspace*{-3mm}
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\hsize]{selekcja.png}
|
||||||
|
\caption{Przykład selekcji metodą ruletki. Losowana jest liczba $r$ z zakresu
|
||||||
|
$(0,F)$. \newline W
|
||||||
|
tym wypadku wybrany został osobnik $o_4$.}
|
||||||
|
\label{selekcja_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Krzyżowanie}
|
||||||
|
Krzyżowanie jest to metoda używana do tworzenia nowych osobników. Każdy nowy osobnik tworzony jest
|
||||||
|
z pary rodziców. Krzyżowanie polega na łączeniu dwóch
|
||||||
|
genotypów w jeden. Potomek rodziców ma zespół cech, które są kombinacją genotypów
|
||||||
|
rodziców.
|
||||||
|
\enlargethispage{4\baselineskip}
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\hsize]{krzyzowanie.png}
|
||||||
|
\caption{Przykładowe krzyżowanie osobników zakodowanych binarnie.}
|
||||||
|
\label{krzyzowanie_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Mutacja}
|
||||||
|
Mutacja jest to operator genetyczny gwarantujący różnorodność osobników. Mutacja wprowadza do
|
||||||
|
genotypu losowe zmiany. Zazwyczaj mutacja zachodzi z bardzo niskim
|
||||||
|
prawdopodbieństwem - najczęściej około 1\%. Wyższe prawdopodbieństwo mogłoby
|
||||||
|
spowodobać, że rozwiązania psułyby się zamiast delikatnie zmieniały.
|
||||||
|
|
||||||
|
W zależności od kodowania mutację można przeprowadzić przykładowo na następujące sposoby:
|
||||||
|
\begin{itemize}
|
||||||
|
\item w przypadku kodowania binarnego można zanegować losowy bit,
|
||||||
|
\item w przypadku kodowania liczbami całkowitymi (rzeczywistymi) można losowy
|
||||||
|
gen zamienić liczbą wylosowaną z ustalonego ręcznie zakresu liczb całkowitych (rzeczywistych).
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[th]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.3\hsize]{mutacja.png}
|
||||||
|
\caption{Mutacja poprzez zanegowanie losowego bitu.}
|
||||||
|
\label{mutacja_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Kryterium stopu}
|
||||||
|
Proces generowania coraz to nowyszych pokoleń trwa aż do osiągnięcia kryterium stopu. Popularne kryteria to:
|
||||||
|
\begin{itemize}
|
||||||
|
\item z góry ustalona liczba iteracji,
|
||||||
|
\item znalezienie osobnika (rozwiązania), dla którego funkcja przystosowania
|
||||||
|
\newline da
|
||||||
|
wystarczająco dobry wynik,
|
||||||
|
\item wykorzystanie określonej liczby zasobów np. czasu pracy procesora lub pieniędzy,
|
||||||
|
\item przerwanie procesu, gdy kolejne iteracje nie tworzą lepszych rozwiązań,
|
||||||
|
\item osiągnięcie najlepszego rozwiązania.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\section{Sieci neuronowe}
|
||||||
\chapter{Metody ekstrakcji informacji}
|
\chapter{Metody ekstrakcji informacji}
|
||||||
% w kontekście mojego projektu
|
% w kontekście mojego projektu
|
||||||
W tym rozdziale zaprezentowane są wybrane metody,
|
W tym rozdziale zaprezentowane są wybrane metody,
|
||||||
@ -679,17 +792,4 @@ Fourteenth International Conference on Computational Linguistics, Nantes, France
|
|||||||
pages={87--112},
|
pages={87--112},
|
||||||
year={1994},
|
year={1994},
|
||||||
publisher={Springer}
|
publisher={Springer}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
||||||
timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji timesuji
|
|
Before Width: | Height: | Size: 188 KiB |
Before Width: | Height: | Size: 295 KiB |
Before Width: | Height: | Size: 368 KiB |
Before Width: | Height: | Size: 232 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 44 KiB |
@ -2,6 +2,8 @@
|
|||||||
\input{pakiety.tex}
|
\input{pakiety.tex}
|
||||||
\input{ustawienia.tex}
|
\input{ustawienia.tex}
|
||||||
|
|
||||||
|
\graphicspath{{img/}}
|
||||||
|
|
||||||
\newcommand\blankpage{%
|
\newcommand\blankpage{%
|
||||||
\null
|
\null
|
||||||
\thispagestyle{empty}%
|
\thispagestyle{empty}%
|
||||||
@ -12,6 +14,9 @@
|
|||||||
|
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
|
|
||||||
|
\theoremstyle{definition}
|
||||||
|
\newtheorem{example}{Przykład}
|
||||||
|
\numberwithin{example}{chapter}
|
||||||
% strona tytulowa
|
% strona tytulowa
|
||||||
\input{strona_tytulowa.tex}
|
\input{strona_tytulowa.tex}
|
||||||
% oswiadczenie
|
% oswiadczenie
|
||||||
|
BIN
model_schema.png
Before Width: | Height: | Size: 34 KiB |
@ -20,6 +20,7 @@
|
|||||||
\usepackage{floatflt} % ladne oplywanie obrazkow tekstem
|
\usepackage{floatflt} % ladne oplywanie obrazkow tekstem
|
||||||
\usepackage{url} % url w bibliografii
|
\usepackage{url} % url w bibliografii
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amsthm}
|
||||||
|
|
||||||
\usepackage{tabularx} %lepsze tabele nie uzywane
|
\usepackage{tabularx} %lepsze tabele nie uzywane
|
||||||
\usepackage{makecell} % do formatowania cell w tabelach
|
\usepackage{makecell} % do formatowania cell w tabelach
|
||||||
|
175
rozdzial_1.tex
@ -2,59 +2,166 @@
|
|||||||
|
|
||||||
\section{Algorytmy genetyczne}
|
\section{Algorytmy genetyczne}
|
||||||
|
|
||||||
Algorytmy genetyczny jest to metaheurystyka zainspirowana teorią ewolucji
|
Algorytm genetyczny jest to metaheurystyka zainspirowana teorią ewolucji
|
||||||
Charlsa Darwin'a. Algorytm odzierciedla zjawisko ewolucji biologicznej.
|
Charlsa Darwin'a. Algorytm odzierciedla zjawisko ewolucji biologicznej.
|
||||||
W procesie naturalnej selekcji najlepsze osobniki wezmą udział w reprodukcji
|
W procesie naturalnej selekcji najlepsze osobniki biorą udział w reprodukcji,
|
||||||
dając początek nowej lepiej przystosowanej generacji.
|
dając początek nowej, lepiej przystosowanej generacji.
|
||||||
|
% przecinek
|
||||||
|
|
||||||
Naturalna selekcja zaczyna się od doboru najdoskonalszych osobników z populacji.
|
Naturalna selekcja zaczyna się od doboru najdoskonalszych osobników z populacji.
|
||||||
Biorą one udział w reprodukcji przekazując część swoich genów potomkom. Nowa
|
Biorą one udział w reprodukcji przekazując część swoich genów potomkom. Nowa
|
||||||
generacja powinna być lepiej przystosowana niż rodzice ponieważ, jest
|
generacja powinna być lepiej przystosowana niż rodzice, ponieważ jest
|
||||||
połączeniem genów, które zapewniły przeżycie rodzicom. Nawet gdyby wśród nowego
|
połączeniem genów, które zapewniły przeżycie rodzicom. W przypadku gdy wśród nowego
|
||||||
potomstwa znalazły się słabe
|
potomstwa znalazłyby się słabe
|
||||||
organizmy, to nie ma obawy, że ich geny przejdą do następnego pokolenia, ponieważ
|
organizmy, to nie ma obawy, że ich geny przejdą do następnego pokolenia, ponieważ
|
||||||
najprawdobniej nie dożyją one okresu rozrodczego. W ten sposób każde kolejne
|
najprawdobniej nie dożyją one okresu rozrodczego. W ten sposób każde kolejne
|
||||||
pokolenie jest lepsze niż poprzednie.
|
pokolenie jest lepsze niż poprzednie.
|
||||||
Ta wiedzę przyrodnicza została przełożona na algorytm genetyczny.
|
Powyższa wiedza, wynikająca z obserwacji praw natury, została przełożona na grut
|
||||||
|
matemtyki i informatyki tworząc algorytm genetyczny.
|
||||||
|
% przecinek
|
||||||
|
\newpage
|
||||||
|
\enlargethispage{12\baselineskip}
|
||||||
Na algorytm genetyczny składają się:
|
Na algorytm genetyczny składają się:
|
||||||
\begin{itemize}
|
\vspace*{-1mm}
|
||||||
\item inicjalizacji populacji,
|
\begin{itemize}[noitemsep]
|
||||||
\item funkcja przystosowania,
|
% \setlength\itemsep{0.005em}
|
||||||
|
\item inicjalizacja populacji,
|
||||||
|
\item funkcja przystosowania (stosowana przy ewaluacji i selekcji),
|
||||||
\item selekcja,
|
\item selekcja,
|
||||||
\item krzyżowanie,
|
\item krzyżowanie,
|
||||||
\item mutacja.
|
\item mutacja.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Inicjalizacja populacji}
|
\vspace*{-8mm}
|
||||||
Algorytm zaczyna się od utworzenia zbioru osobników, zwanych populacją. Każdy z
|
|
||||||
osobników jest rozwiązaniem problemu obliczeniowego. Osobnik reprezentowany jest
|
\begin{figure}[h!]
|
||||||
poprzez zbiór genów (parametrów), nazywanych chromosem.
|
\centering
|
||||||
|
\includegraphics[width=0.9\hsize]{overview_GA.png}
|
||||||
|
\caption{Schemat działania algorytmu genetycznego.}
|
||||||
|
\label{overview_ga_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\subsection{Inicjalizacja populacji}
|
||||||
|
Algorytm zaczyna się od utworzenia zbioru osobników zwanych populacją. Każdy z
|
||||||
|
osobników jest rozwiązaniem problemu obliczeniowego. Osobnik reprezentowany jest
|
||||||
|
poprzez zbiór genów (parametrów) nazywanych chromosem.
|
||||||
|
Chromosom \newline jest najczęściej kodowany za pomocą:
|
||||||
|
\begin{itemize}
|
||||||
|
\item wektora genów, z których każdy reprezentowany jest przez liczbę całkowitą,
|
||||||
|
a czasem nawet liczbę rzeczywistą,
|
||||||
|
\item drzewiastych struktur danych.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[tbh]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\hsize]{kodowanie.png}
|
||||||
|
\caption{Przykład osobników zakodowanych binarnie.}
|
||||||
|
\label{kodowanie_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\textbf{Przykład}
|
|
||||||
\subsection{Funkcja przystosowania}
|
\subsection{Funkcja przystosowania}
|
||||||
Funkcja przystosowania określa jak bardzo przystosowany jest osobnik (miara
|
Funkcja przystosowania określa jak bardzo przystosowany jest osobnik (miara
|
||||||
jakości osobnika).
|
jakości osobnika). Im bardziej będzie przystosowany dany osobnik tym bardziej będzie
|
||||||
|
faworyzowany w procesie selekcji. Funkcja przystosowania dobierana jest w
|
||||||
|
zależności od modelu rozwiązywanego problemu, zwykle algorytm genetyczny dąży \newline do
|
||||||
|
jej minializacji lub maksymalizacji.
|
||||||
|
\begin{example}
|
||||||
|
Dla problemu
|
||||||
|
komiwojażera algorytm genetyczny będzie premiował te rozwiązania (w tym wypadku cykle Hamiltona), których suma
|
||||||
|
wag krawędzi jest najbliższa minimalnej sumie wag krawędzi w cyklu Hamiltona.
|
||||||
|
\end{example}
|
||||||
|
|
||||||
\subsection{Selekcja}
|
\subsection{Selekcja}
|
||||||
Z każdej generacji wybierany jest podzbiór populacji, który będzie brał udział w
|
\enlargethispage{6\baselineskip}
|
||||||
rozmnażaniu, w tworzeniu nowej generacji. Pojedyńcze osobniki wybierane są na
|
Z każdej generacji wybierany jest podzbiór populacji, który będzie brał udział
|
||||||
|
\newline w
|
||||||
|
rozmnażaniu, czyli w tworzeniu nowej generacji. Pojedyńcze osobniki wybierane
|
||||||
|
\newline są na
|
||||||
podstawie funkcji przystosowania. Im lepiej przystosowany dany osobnik tym
|
podstawie funkcji przystosowania. Im lepiej przystosowany dany osobnik tym
|
||||||
większe będzie miał szanse na wzięcie udziału w reprodukcji.
|
większe będzie miał szanse na wzięcie udziału w reprodukcji.
|
||||||
|
|
||||||
\subsection{Krzyżowanie}
|
\noindent Wśród metod selekcji chromosomów wyróżniamy między innymi:
|
||||||
Metoda używana do tworzenia nowych osobników. Każdy nowy osobnik tworzony jest
|
\vspace*{-3mm}
|
||||||
z pary rodziców. Krzyżowanie polega na łączeniu dwóch
|
|
||||||
genotypów w jeden. Potomek rodziców ma zespół cech które są kombinacją genotypów rodziców.
|
|
||||||
\subsection{Mutacja}
|
|
||||||
Operator genetyczny gwarantujący różnorodność osobników. Mutacja wprowadza do
|
|
||||||
genotypu losowe zmiany.
|
|
||||||
|
|
||||||
|
|
||||||
Proces generacji trwa aż do osiągnięcia kryterium stopu. Popularne kryteria to:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item ustalona z góry liczba iteracji
|
\setlength\itemsep{0.005em}
|
||||||
\item osobnik (rozwiązanie), która spełnia minimalne kryterium % ???
|
\item metodę ruletki,
|
||||||
\item wykorzystanie określonej liczby zasobów np. czasu pracy procesora lub pieniędzy
|
\item metodę rankingową,
|
||||||
\item kolejne iteracje nie tworzą lepszych rozwiązań
|
\item metodę turniejową.
|
||||||
\item osiągnięcie najlepszego rozwiązania
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\textbf{Metoda ruletki.} \newline
|
||||||
|
Niech $f(o_i)$ będzie przystosowaniem osobnika $o_i$ z populacji $P$, wtedy
|
||||||
|
prawdopodbieństwo wyboru $o_i$ wynosi:
|
||||||
|
\begin{equation*}
|
||||||
|
p_i = \frac{f(o_i)}{\sum_{j=1}^N f(o_i)},
|
||||||
|
\end{equation*}
|
||||||
|
gdzie $N$ to rozmiar populacji $P$.
|
||||||
|
\end{example}
|
||||||
|
\vspace*{-3mm}
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\hsize]{selekcja.png}
|
||||||
|
\caption{Przykład selekcji metodą ruletki. Losowana jest liczba $r$ z zakresu
|
||||||
|
$(0,F)$. \newline W
|
||||||
|
tym wypadku wybrany został osobnik $o_4$.}
|
||||||
|
\label{selekcja_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Krzyżowanie}
|
||||||
|
Krzyżowanie jest to metoda używana do tworzenia nowych osobników. Każdy nowy osobnik tworzony jest
|
||||||
|
z pary rodziców. Krzyżowanie polega na łączeniu dwóch
|
||||||
|
genotypów w jeden. Potomek rodziców ma zespół cech, które są kombinacją genotypów
|
||||||
|
rodziców.
|
||||||
|
\enlargethispage{4\baselineskip}
|
||||||
|
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\hsize]{krzyzowanie.png}
|
||||||
|
\caption{Przykładowe krzyżowanie osobników zakodowanych binarnie.}
|
||||||
|
\label{krzyzowanie_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Mutacja}
|
||||||
|
Mutacja jest to operator genetyczny gwarantujący różnorodność osobników. Mutacja wprowadza do
|
||||||
|
genotypu losowe zmiany. Zazwyczaj mutacja zachodzi z bardzo niskim
|
||||||
|
prawdopodbieństwem - najczęściej około 1\%. Wyższe prawdopodbieństwo mogłoby
|
||||||
|
spowodobać, że rozwiązania psułyby się zamiast delikatnie zmieniały.
|
||||||
|
|
||||||
|
W zależności od kodowania mutację można przeprowadzić przykładowo na następujące sposoby:
|
||||||
|
\begin{itemize}
|
||||||
|
\item w przypadku kodowania binarnego można zanegować losowy bit,
|
||||||
|
\item w przypadku kodowania liczbami całkowitymi (rzeczywistymi) można losowy
|
||||||
|
gen zamienić liczbą wylosowaną z ustalonego ręcznie zakresu liczb całkowitych (rzeczywistych).
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{example}
|
||||||
|
\end{example}
|
||||||
|
\begin{figure}[th]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.3\hsize]{mutacja.png}
|
||||||
|
\caption{Mutacja poprzez zanegowanie losowego bitu.}
|
||||||
|
\label{mutacja_pic}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Kryterium stopu}
|
||||||
|
Proces generowania coraz to nowyszych pokoleń trwa aż do osiągnięcia kryterium stopu. Popularne kryteria to:
|
||||||
|
\begin{itemize}
|
||||||
|
\item z góry ustalona liczba iteracji,
|
||||||
|
\item znalezienie osobnika (rozwiązania), dla którego funkcja przystosowania
|
||||||
|
\newline da
|
||||||
|
wystarczająco dobry wynik,
|
||||||
|
\item wykorzystanie określonej liczby zasobów np. czasu pracy procesora lub pieniędzy,
|
||||||
|
\item przerwanie procesu, gdy kolejne iteracje nie tworzą lepszych rozwiązań,
|
||||||
|
\item osiągnięcie najlepszego rozwiązania.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\section{Sieci neuronowe}
|
||||||
|
BIN
uam_logo.jpg
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 42 KiB |