Algorytmy Genetyczne i Sztuczne Sieci Neuronowe

Hmmmm... czy to już Sztuczna Inteligencja??

ogólniej.. czy komputer potrafi rozwiązać SAM... przedstawiony mu problem..??



Interesuję sie obydwoma zagadnieniami od niedawna... myśle jednak że z tym będzie związana moja przyszłość...


Badania nad algorytmami genetycznymi oraz obliczeniami ewolucyjnymi zainspirowane zostały teorią Darwina dotyczącą naturalnej selekcji i zdolności do przetrwania jedynie najsilniejszych osobników populacji. Algorytmy genetyczne to programy, które w sposobie rozwiązywania problemów naśladują naturalny fenomen ewolucji. Przez długi okres wielkie populacje dokonywały naturalnej selekcji na drodze reprodukcji oraz mutacji. Idąc w ich ślady programy wykorzystujące algorytmy genetyczne tworzą populację z możliwych rozwiązań danego problemu. Następnie, poprzez kilkakrotne przeprowadzenie procesów przypadkowej selekcji i wariacji, stwarzane są kolejne generacje programu, z których każda charakteryzuje się zwiększeniem jakości rozwiązania. W konsekwencji algorytmy genetyczne sterują ewolucją rozwiązań za pomocą procesów genetycznych. W przeciwieństwie do ewolucji naturalnej, program komputerowy tworzy i ocenia tysiące generacji w kilka sekund.


Sztuczne Sieci Neuronowe powszechnie znane jako sieci neuronowe, to sieci składające się z wielu prostych procesorów dysponujących niewielką ilością pamięci lokalnej. Procesory te, zwane inaczej jednostkami, są wzajemnie połączone za pomocą licznych kanałów komunikacyjnych umożliwiających przesyłanie zakodowanych danych numerycznych. Jednostki posługują się własnymi danymi lokalnymi bądź wykorzystują dane wejściowe otrzymywane drogą połączenia. Pomysł zbudowania sieci neuronowej zrodził się z potrzeby stworzenia sztucznego systemu umożliwiającego skomplikowane, a może nawet inteligentne, obliczenia podobne do tych, które są realizowanych przez umysł ludzki. Większość sieci neuronowych posiada pewien zasób szkolących je reguł, za pomocą których modyfikują one stopień ważności poszczególnych połączeń na podstawie dostępnych im danych. Przykłady oraz wykazy wydajności umożliwiają "nauczenie" sieci neuronowych generalizacji wykraczającej poza dane instruktażowe. W konsekwencji sieci neuronowe są niezmiernie przydatne przy rozpoznawaniu wzorów. Mogą być zatem "kształcone" do wykrywania złożonych relacji pomiędzy danymi wyjściowymi, nawet w tych przypadkach, gdy statystyczne rozmieszczenie tych danych jest nieznane.