Spis treści I. Systemy Eksperckie 1.Podstawy 1.1 Ogólna budowa 1.2 Struktura 1.2.1 Rodzaje systemów eksperckich 1.2.2 Zastosowanie systemów eksperckich 1.3 Własności I. Systemy Eksperckie 1.Podstawy System ekspercki jest programem komputerowym, zaprojektowany do wykonywania złożonych zadań o podłożu intelektualnym. System ten powinien owe zadania wykonywać tak dobrze jak człowiek będący ekspertem w dziedzinie, której to zadanie dotyczy. Jednak ich zadanie nie ogranicza się do rozwiązywania takich problemów, mogą bowiem także stanowić narzędzie wspomagające decyzje "ludzkich" ekspertów, podpowiadając im ewentualne rozwiązania. Systemy eksperckie (ekspertowe) są zwane także systemami doradczymi i stanowią jedną z gałęzi stosowanej sztucznej inteligencji - AI. Podstawowa idea systemu ekspertowego polega na przeniesieniu wiedzy eksperta do programu komputerowego, wyposażonego w bazę wiedzy, konkretne reguły wnioskowania oraz język komunikacji z użytkownikiem lub interfejs graficzny na taką komunikację pozwalający. Cała wiedza zgromadzona w systemie może być wykorzystywana wielokrotnie przez wielu użytkowników, zwracających się do komputera, kiedy potrzebują rady. Komputer zaś, zwraca nam najlepszą, jego zdaniem radę, i jeśli to konieczne tłumaczy logikę na podstawie, której powstały wnioski wyjściowe. System ekspercki może także określać system, który niekoniecznie zastępuje człowieka-eksperta. Określamy tym terminem również systemy wykorzystywane w sytuacjach, gdy człowiek, mimo iż posiada ogromną wiedzę na dany temat, nie jest w stanie wykorzystać jej w sposób optymalny. Dotyczy to np. podejmowania decyzji w trakcie pracy elektrowni, czy podczas startu i samego lotu statków kosmicznych. Szereg zachodzących wówczas procesów wymaga stałego monitorowania w czasie rzeczywistym. Mimo tego, że w trakcie startu promu kosmicznego pracuje sztab inżynierów, i tak bez odpowiedniego oprogramowania nie są oni w stanie ogarnąć kilku tysięcy procesów, informacji z czujników i podejmować optymalnych decyzji w ograniczonym do minimum czasie. Najważniejsze cechy systemów eksperckich to: • zgromadzenie najpełniejszej i kompetentnej wiedzy z danej dziedziny i możliwość jej aktualizacji w związku z postępem naukowym i technicznym • umiejętne naśladowanie sposobu rozumowania człowieka-eksperta, który stosuje on przy rozwiązywaniu problemów tego samego typu • zdolność wyjaśnienia toku "rozumowania", który doprowadził do otrzymanych wyników • tzw. "user friendly" interfejs, czyli przyjazny sposób komunikowania się z użytkownikiem w jego ojczystym języku i takie przedstawienie wyników, aby były klarowne i przejrzyste. Inny sposób scharakteryzowania systemów eksperckich to ich ogólny podział. Można podejmujące je podzielić decyzje bez na trzy kategorie: doradcze (advisory), kontroli człowieka (dictatorial), krytykujące (criticizing). Pierwsze z nich doradcze przedstawiają człowiekowi pewne rozwiązania, a on jest w stanie ocenić to rozwiązanie i wybrać takie, które jest najodpowiedniejsze lub zażądać innego rozwiązania. Systemy podejmujące decyzje bez kontroli człowieka są to takie systemu, które nie "konsultują" wyników końcowych z użytkownikiem. Dotyczy to sytuacji, gdy udział człowieka jest utrudniony lub niemożliwy np. sterowanie obiektami w trudnym terenie lub w przyjmowaniem kosmosie. jako Systemy wartości krytykujące wejściowe: charakteryzują postawionego problemu się i ewentualnego rozwiązania. Rola systemu sprowadza się do analizy problemu i skomentowania zaproponowanego rozwiązania. Budowa systemu eksperckiego wymaga zbudowania bazy wiedzy eksperta i stworzenie dla niej odpowiedniej struktury jest często pracochłonne i czasochłonne. wykorzystywany Opłaca w się więc odpowiednio wówczas, długim gdy czasie i system ten będzie przez dużą liczbę użytkowników. Jest to opłacalne także dlatego, że system może być wykorzystywany już bez udziału człowieka-eksperta, jest on uwolniony od przeprowadzania powtarzających się analogicznych ekspertyz i dzięki temu może zająć się on bardziej twórczymi zadaniami. Ważna jest także możliwość zgromadzenia w systemie wiedzy wielu ekspertów. Jest to w bezpośrednio przekładalne na "wiarygodność" rozwiązań. W latach siedemdziesiątych dokonano spostrzeżenia, że moc systemu tkwi w zakodowanej w systemie wiedzy, a nie w sposobie wnioskowania, jakim się on posługuje. Można po prostu stwierdzić, że im pełniejsza wiedza, tym rozwiązanie jest bardziej wiarygodne i uzyskiwane szybciej. Konstruowanie systemów ekspertowych jest jednym z zagadnień tzw. inżynierii wiedzy (knowledge engineering). Celem inżynierii wiedzy jest pozyskiwanie wiedzy z określonej dziedziny, jej przetwarzanie, stworzenie dla tej wiedzy odpowiedniej struktury. Zajmuje się także rozwijaniem metodologii i narzędzi budowy systemów ekspertowych. W szczególności obejmuje ona tworzenie metod programowania: • pozyskiwania i tworzenia struktur dla wiedzy ekspertów • dopasowywania i wyboru odpowiednich metod wnioskowania i wyjaśniania rozwiązań problemów • tworzenie interfejsów pośredniczących w komunikacji pomiędzy komputerem a użytkownikiem. 1.1 Ogólna budowa Krótki opis elementów składających się na system ekspercki. • • • Baza wiedzy - (Knowledge Base) Część systemu zawierająca wiedzę o dziedzinie oraz o podejmowaniu decyzji przez eksperta. Zawiera fakty i reguły.<\li> Kontroler wywodu - (Inferface Engine) Część systemu kierująca rozwiązaniem problemu. Jest odpowiedzialna za poprawne wykorzystanie wiedzy zgromadzonej w bazie wiedzy. Interfejs - Część systemu zajmująca się komunikacją ze światem zewnętrznym, czyli z użytkownikiem. Ma charakter urządzenia typu wejście/wyjście. 1.2 Struktura Jeśli w sposób bardziej szczegółowy zaczniemy rozpatrywać strukturę systemów eksperckich to wówczas możemy wyróżnić następujące elementy: • • • • • • baza wiedzy, np. zbiór reguł baza danych, np. wyniki pomiarów, dane o obiekcie, hipotezy procedury wnioskowania - maszyna wnioskująca procedury objaśniania - wyjaśnienie strategii wnioskowania procedury sterowania dialogiem - formułowanie zadań przez użytkownika poprzez procedury wejścia/wyjścia i przekazywanie wyników przez program (zadania wykonywane przez interfejs) procedury pozwalające na poszerzenie zakresu wiedzy i jej modyfikację 1.2.1 Rodzaje systemów eksperckich Jednym ze sposobów na ocenę systemu eksperckiego jest udzielenie odpowiedzi na pytanie, jaki rodzaj wyników otrzymujemy na jego wyjściu. Możemy je podzielić na trzy zasadnicze grupy: • • • diagnozy - są oceną stanu istniejącego na podstawie posiadanych danych prognozy - zawiera przewidywania dotyczące stanu przyszłego na podstawie istniejących danych plany - to stan do jakiego należy dążyć, kierując działaniem "obiektu". Oczywiście łączenie ze sobą tych trzech typów systemów jest możliwe, a czasem nawet wskazane, gdy zachodzi potrzeba stworzenia systemu obejmującego swym zakresem procesów bardzo złożonych. Połączenie diagnozy, prognozy i planowania to stworzenie systemu sterującego dla np. promów kosmicznych. Można przedstawić szerszy podział systemów eksperckich. Oto on: Kategoria Zadania przez system realizowane systemu dedukują opisy sytuacji z obserwacji lub Interpretacyjne stanu czujników np. rozpoznawanie mowy, obrazów wnioskują o przyszłości na podstawie danej Predykcyjne sytuacji np. prognozowanie pogody, rozwój choroby ocena systemu na podstawie obserwacji Diagnostyczne (wykrywanie wad) np. elektronika, mechanika konfiguruje obiekt biorąc pod uwagę Kompletowania istniejące ograniczenia np. konfiguracja systemu komputerowego Planowanie Monitorowanie Sterowanie Poprawianie Naprawy Instruowania podejmuje określone działania do osiągnięcia celu porównywanie zachodzących zjawisk z ograniczeniami nałożonymi na nie np. reakcje w elektrowniach atomowych kierowanie działaniem systemu; w skład wchodzi interpretowanie, predykcja, naprawa i monitorowanie zachowania się obiektu podaje sposób postępowania w przypadku nieprawidłowego funkcjonowania obiektu, którego system dotyczy ustala kolejność wykonywania napraw uszkodzonych obiektów systemy doskonalenia zawodowego dla studentów Jeśli chodzi o podział systemów ze względu na sposób realizacji to możemy je podzielić na: systemy dedykowane oraz systemy szkieletowe. Systemy dedykowane są tworzone od podstaw przez inżyniera wiedzy współpracującego z informatykiem. Systemy szkieletowe (shells)> są to systemy z pustą bazą wiedzy. Te systemy są tworzone w krótszym czasie, gdyż nie trzeba konstruować całej struktury systemu, a jedynie istniejącą już uzupełnić o konkretną wiedzę i jej odpowiednią implementację w systemie. W zależności od tego jaką wiedzę wprowadzimy do systemu możemy uzyskać system z wiedzą: eksperta-lekarza, eksperta- inżyniera, czy ekspertaprawnika. Istnieje także podział systemów eksperckich ze względu na metodę prowadzenia wnioskowania: • • • z logiką dwuwartościową (Boole'a) z logiką wielowartościową z logiką rozmytą. Jeszcze inny podział to ze względu na rodzaj przetwarzanej informacji. Można je podzielić na: • • systemy z wiedzą pewną (zdeterminowaną), systemy z wiedzą niepewną (w przetwarzaniu wykorzystuje aparat probabilistyczny). 1.2.2 Zastosowanie systemów eksperckich Sektor Bankowość i Przemysł Handel i Sektor Zastosowanie ubezpieczenia usługi publiczny i inne nadzorowanie monitorowanie procesów, reaktorów sterowanie Monitorowanie obserwowanie obserwowanie jądrowych procesami, Sterowanie trendów trendów oraz dużych raportowanie sieci (gazowe, specjalnych wodne) sytuacji projektowanie wybór sieci zakładów i asortymentów, Projektowanie (pocztowe, produktów, doradztwo dla energetyczne) komputerów rolnictwa kredyty, wykrywanie pożyczki na diagnoza uszkodzeń, kredyty, nieruchomości, medyczna, Diagnostyka utrzymywanie analiza ryzyka diagnoza analiza ryzyka, zdolności przetwarzanie techniczna produkcyjnej skarg planowanie projektowanie inwestycji, analiza ryzyka, funkcji analiza planowanie na Planowanie planowanie logicznych, ryzyka, wypadek inwestycji planowanie analiza rynku klęski, projektu planowanie dystrybucji 1.3 Własności Podstawowe zadanie systemu eksperckiego to wydawanie kompetentnych i pełnych ekspertyz. Powinno się to odbywać w czasie ograniczonym pewnymi, dopuszczalnymi granicami, w których przy danym typie zadania powinna się pojawić odpowiedź systemu. Sam system powinien dysponować takimi metodami wnioskowania, które biorą pod uwagę wiedzę i intuicję eksperta, zdobytą w trakcie wieloletniej praktyki. Wówczas uzyskane wyniki powinny być bardziej porównywalne z wynikami pracy człowiekaeksperta. Oczywiście dąży się do tego, aby system rozwiązując powierzone mu zadanie posługiwał się rozumowanie człowieka, lecz popełniał minimum pomyłek. Dotyczy to np. długiej serii testów, analiz chemicznych. Czasem jest to dość skomplikowane, gdyż ekspert kierując się własną intuicją nie do końca potrafi uzasadnić swoją decyzję lub ekspertyzę. Wprowadzenie takiego sposobu wnioskowania do systemu może się okazać niezwykle trudna lub gdy wymagane jest uzasadnienie wyniku, wręcz niemożliwe. Jeśli chodzi o wymagania czasowe to często zachodzi potrzeba kompromisu pomiędzy jakością uzyskanych wyników a szybkością działania. Niektóre systemy uzyskują wyniki w kilka sekund, inne znów pracują całymi dniami, czy nawet tygodniami. Zależy to także od sposoby wykorzystanego do uzyskania odpowiedzi. Systemy wykorzystujące przeszukiwanie przestrzeni rozwiązań w postaci drzewiastej charakteryzują się wykładniczym wzrostem czasu uzyskania odpowiedzi. Tak więc jeśli czas jest w jakikolwiek sposób zdeterminowany granicami, zachodzi potrzeba kompromisu, o którym wyżej wspomniano. Ważna cecha systemu to możliwość rozwiązywania szerokiej gamy zadań, o różnym stopniu trudności lub zakresie wykorzystywanej wiedzy z danej dziedziny. Nie powinien więc być zbudowany na zasadzie sztywnych, określonych wcześniej rozwiązań lecz wykorzystywać dużą liczbę reguł, które powinny pozwolić nie tylko na przeszukiwanie przestrzeni dostępnych rozwiązań lecz także na pewnego rodzaju tworzenie kombinacji z dostępnych rozwiązań. Sama dziedzina, której dotyczy system jest często wyznacznikiem stopnia skomplikowania system eksperckiego. Nieopłacalne jest tworzenie systemów, w których zawiera się problem rozwiązywania zadań o np. łatwym opisie matematycznym zjawiska lub takich, w których ilość możliwych rozwiązań jest niewielka. Wówczas z problemem poradzi sobie człowiek, bez potrzeby odwoływania się do programu komputerowego. Ocenę złożoności można przeprowadzić rozpatrując liczbę reguł wykorzystanych w systemie: • • • małe: 100 - 300 reguł średnie: 300 - 2000 reguł duże: ponad 2000 reguł System, aby być efektywny powinien być wyposażony w cechę charakteryzującą człowieka-eksperta, ciągłe doskonalenie i poszerzanie swojej wiedzy. Oczywiście jeśli chodzi o system komputerowy to zdolność zależy głównie od jego konstruktorów lub użytkowników. Ważne jest także posiadanie przez system mechanizmów udoskonalających jego działanie. Należą do nich: • • • • kontroler zgodności reguł z nowo wprowadzanymi faktami kontroler niesprzeczności nowych reguł z już w bazie zawartymi mechanizm oceny częstości wykorzystywania poszczególnych reguł mechanizm rozbudowy istniejącej bazy reguł poza zakres wiedzy, której dotyczy. II. Sztuczne sieci neuronowe. 1. Historia badań nad sieciami neuronowymi 40's: • • badanie komórek ośrodkowego układu nerwowego zwierząt i człowieka, czyli neuronów, próby wyjaśnienia i matematycznego opisu działania błony komórkowej i całego neuronu (McCulloh 1943). Koniec 50's i początek 60's: pierwsze modele pojedynczych neuronów i sieci: • • perceptron Rosenblatta i Wightmana (1965) - rozpoznawanie znaków alfanumerycznych, pierwsze neurokomputery oferowane komercyjnie (np. Madaline Widrowa). 60's i 70's: zahamowanie badań po publikacji książki Minsky'ego i Paperta (1969) wykazującej m.in. poważną ograniczoność pola zastosowań liniowych sieci neuronowych (zdolne jedynie do realizacji funkcji liniowych), 70's i początek 80's: sieciami zajmuje się w świecie zaledwie kilka ośrodków (Grossberg, Hinton, Hopfield, PDP Research Group). Początek 80's: rozwój i większa dostępność komputerowych technik symulacji przyczynia się do stopniowej intensyfikacji badań. Druga połowa 80's: "renesans" sieci: • • • praca Rumelharta, McClellanda i PDP Research Group "Parallel Distributed Processing. Explorations in the Microstructure of Cognition" (1986), popularyzacja algorytmu wstecznej propagacji błędu (backpropagation). fala nowych koncepcji, architektur, algorytmów uczenia; rosnące zainteresowanie ze strony specjalistów zajmujących się Sztuczną Inteligencją, wobec kryzysu nękającego tradycyjne, symboliczne techniki rozwijane w latach '60, '70 i '80 (Newell, Simon itp.) '90: dalsza rosnąca popularność: • • • • lepsze (szybsze) algorytmy uczenia, podejścia hybrydowe (fuzzy, genetic algorithms, etc.), rozwój sektora zastosowań w medycynie, przemyśle i innych dziedzinach, coraz większa ilość przystępnych cenowo realizacji sprzętowych Model neuronu używany w SSN Statyczny lub dynamiczny; rozważany jest statyczny. Jest znacznym uproszczeniem funkcji neuronu biologicznego (precyzyjnym modelowaniem działania neuronu biologicznego zajmuje się tzw. neuroscience). Neuron sztuczny = neuron = element przetwarzający (processing element), jednostka (unit) Model sztucznego neuronu Podstawowe elementy składowe: • • • n wejść xi (synapsy) opatrzonych wagami wi (wektor wag w i wektor wejść x); waga synapsy decyduje o jej ważności i wpływie na neuron odniesienia; pobudzenie e (excitation) neuronu jako suma ważona sygnałów wejściowych pomniejszona o próg (threshold) Wprowadźmy wagę Wówczas: • , podłączoną do stałego sygnału funkcja aktywacji f (transfer function): . Rys. Schemat sztucznego neuronu Uczenie sieci Uczenie nadzorowane/nienadzorowane: • • sieci uczone w sposób nadzorowany. Algorytm uczący adaptuje sieć stosownie do wymuszeń zewnętrznych, starając się możliwie wiernie (tj. z jak najmniejszym błędem) zrealizować zadaną funkcję np. backpropagation, algorytm wstecznej propagacji błędu; każdy neuron lokalnie zmniejsza swój błąd stosując metodę spadku gradientu; sieci uczone w sposób nienadzorowany. Neurony nie są "skrępowane" żadnym zewnętrznym kryterium (funkcją błedu), adaptacja polega np. na: o wzmacnianiu połączeń (zwiększaniu wag) pomiędzy neuronami, których pobudzenia wykazują pewną korelację (np. uczenie Hebba), o zbliżaniu wektora wag do wektora wejść (np. reguła uczenia perceptronu, kwantyzator wektorów Kohonena); w takim przypadku neuron najsilniej reaguje na wektor wejść/pobudzeń, który jest najbardziej zbliżony do jego wektora wag. Uczenie w jednym kroku / Uczenie iteracyjne: • • sieci, w których na podstawie danych statystycznych opisujących zbiór uczący jednorazowo ustala się wartości wag (np. standardowy algorytm uczenia sieci Hopfielda), sieci, w których wychodzi się z pewnej (z reguły losowej) konfiguracji sieci (tj. wartości jej wag) i w kolejnych iteracjach, związanych z reguły z prezentacją przykładów ze zbioru uczącego, stara się dojść do konfiguracji najbardziej pożądanej, tj. takiej, która minimalizuje pewną miarę błędu. Reguły uczenia sieci Reguła Hebba – Regułę tą wykorzystuje się do uczenia bez nauczyciela. Sygnałem uczącym jest sygnał wejściowy neuronu. Reguła ta sprowadza się do dodania lub odjęcia wektora wejściowego do lub od wektora wag. Reguła perceptronowa – Stosowana do uczenia z nauczycielem. Sygnał uczący jest różnicą między odpowiedzią pożądaną a rzeczywistą. Jest ona wykorzystywana jedynie do sieci z neuronami dyskretnymi. Reguła delty - podobna do reguły perceptronowej z tą różnicą że posiada ciągłą funkcję aktywacji. Reguła Widorowa-Hoffa dla sieci nadzorowanych o dowolnych funkcjach aktywacji ponieważ minimalizuje błąd średni kwadratowy pomiędzy pożądaną odpowiedzią a pobudzeniem. (szczególny przypadek reguły delta). Wagi początkowe mogą posiadać dowolne wartości. Reguła” wygrywający bierze wszystko” – Szczególna metoda oparta na nauce z rywalizacją (bez nauczyciela). Zastosowania sztucznych sieci neuronowych Niektóre funkcje mózgu ludzkiego można zamodelować za pomocą SSN. Do tych funkcji należą więc: Predykcja, czyli przewidywanie sygnałów wyjściowych na podstawie danych wzorcowych, które sieć wykorzystywała tylko w procesie uczenia. Sieć o takiej funkcji jest stosowana najpowszechniej. Widać zupełną analogię do mózgu człowieka, który potrzebuje danych wzorcowych tylko do nauczenia się ich. Klasyfikacja i rozpoznawanie. Po przez nauczenia sieci pewnych cech charakterystycznych możliwe jest, aby sieć sposób interaktywny rozpoznała i zakwalifikowała sygnał wejściowy. Wektor lub macierz wejść, jest przypisywana do odpowiedniego stanu wektora lub macierzy wyjść, będącego jednoznacznym wzorcem klasyfikacji . Kojarzenie danych. Sieć potrafi skojarzyć dane wyjściowe podstawie danych wejściowych, które po nauczeniu sieci mogą się mniej lub bardziej różnić od danych wzorcowych. Sieć oblicza więc swój współczynnik korelacji między danymi wejściowymi a nauczonym wzorcem. W zależności od wartości tego współczynnika sieć dokonuje kojarzenia danych. Analiza danych . To właściwość za pomocą które sieć potrafi znaleźć związek między danymi wejściowymi . Filtracja sygnałów. Funkcja filtrów o dowolnym zakresie przepustowości. Ta cecha pozwala wyeliminować sygnały, będące szumami, Sieć taka doskonale filtruje dane które nie należą do grupy reprezentujących pomiar, mają charakter stochastyczny . Nauczona sieć w zadziwiający sposób radzi sobie z filtracją, bo w sposób “inteligentny” przepuszcza sygnały do dalszej analizy, z czym nie radziły sobie zwykłe filtry. Optymalizacja. To cecha która pozwala na dokonywanie analizy danych i kojarzenia najlepszych z pośród możliwych rozwiązań. Opisane wyżej cechy prawie nigdy nie występują pojedynczo. Sieć zaprojektowana do konkretnego zastosowania zazwyczaj posiada kilka tych własności. Wykorzystanie ich pozwala stworzyć doskonałe urządzenia. Kilka przykładowych zastosowań. • Systemy rozpoznawania, mowy, obrazu – np. w celu identyfikacji osób • Systemy diagnostyczne – klasyfikacja stanów dynamicznych maszyn • Systemy telekomunikacyjne – optymalizacja połączeń • Systemy informatyczne – kompresja , selekcja danych, dynamiczne programowanie bez użycia standardowych algorytmów sekwencyjnych. • Planowanie, interpretują zjawiska stochastyczne, przewidywanie notowań giełdowych, trendów w gospodarce oraz zjawisk socjologicznych. • Systemy decyzyjne – pomagają podjąć decyzje, jeżeli dysponujemy zbyt małą ilością danych wejściowych • Sterowanie i regulacja – nowoczesne systemy sterowania , z silnie nieliniowymi zależnościami w obiektach regulacji. Planowanie trajektorii manipulatorów i kontrola nad prawidłowością ich odwzorowania. • Analiza stanów naprężeń w konstrukcjach maszyn III. Algorytmy genetyczne. 1. Podstawy. Sieci neuronowe powstały dzięki obserwacji i próbie naśladowania naturalnych procesów zachodzących w systemie nerwowym organizmów żywych. Nazwa neuron, oznaczająca podstawowy element przetwarzający sztucznych sieci neuronowych, przejęta została bezpośrednio z naturalnego systemu nerwowego. Algorytmy genetyczne swoje istnienie zawdzięczają obserwacji i próbie naśladowania naturalnych procesów zachodzących w świecie organizmów żywych, a mianowicie ewolucji i związanej z nią naturalnej selekcji występującej w populacjach żywych osobników. Ideę algorytmów genetycznych przedstawił Holland na przełomie lat sześćdziesiątych i siedemdziesiątych. Algorytmy genetyczne przejęły szereg terminów używanych w genetyce, a przede wszystkim geny, chromosomy, a także populacje, osobniki, allele, genotypy, fenotypy. Algorytmy genetyczne stosowane są w programowaniu komputerów, sztucznej inteligencji, optymalizacji, sztucznych sieciach neuronowych i innych dziedzinach. Warto odnotować, że za ich pomocą rozwiązywano zadania, do których wcześniej wykorzystywano sieci neuronowe. W tym przypadku algorytmy genetyczne stanowiły po prostu inną metodę, niezależną od sieci neuronowych, prowadzącą do rozwiązania danego problemu. Populacja – nazywamy zbiór osobników o określonej liczebności. Osobnikami – populacji w algorytmach genetycznych są zakodowane w postaci chromosomów zbiory parametrów zadania, czyli rozwiązania, określane też jako punkty przestrzeni poszukiwań. Osobniki czasami nazywa się organizmami. Chromosomy – inaczej łańcuchy lub ciągi kodowe – to uporządkowane ciągi genów. Gen – nazywany też cechą, znakiem, detektorem – stanowi pojedynczy element genotypu, w szczególności chromosomu. Genotyp, czyli struktura, to zespół chromosomów danego osobnika. Fenotyp jest zestawem wartości odpowiadających danemu genotypowi, czyli zdekodowaną strukturę, a więc zbiorem parametrów zadania. Allel to wartość danego genu, określana też jako wartość cechy lub wariant cechy. Locus to pozycja – wskazuje miejsce położenia danego genu w łańcuchu, czyli chromosomie. 2. Klasyczny algorytm genetyczny 3. Algorytmy ewolucyjne. 4. Zastosowania algorytmów ewolucyjnych. 5. Algorytmy ewolucyjne w sieciach neuronowych. IV. Systemy rozmyte.