10 odsłon AI - Algorytmy genetyczne cz. 2
Sztuczna inteligencja ma wiele twarzy. W tym cyklu artykułów chcemy wam przybliżyć część z nich.
W poprzednim artykule poznawaliśmy sieci neuronowe wraz z przykładami, w tym zajmiemy się algorytmami genetycznymi, które podobnie jak sieci neuronowe imitują mózg, tak te imitują procesy ewolucji biologicznej. Miłej lektury
Czym są algorytmy genetyczne?
Są to metody rozwiązywania problemów w sztucznej inteligencji i optymalizacji, która naśladuje procesy ewolucji biologicznej. Wykorzystuje zasady selekcji naturalnej, aby rozwiązywać złożone problemy, szukając najlepszego rozwiązania przez mutacje, krzyżowanie i selekcję. Tworzy wiele możliwych rozwiązań, testuje je, wybiera najlepsze i “miesza” je, aby tworzyć coraz lepsze odpowiedzi. Tak długo, aż znajdzie optymalne rozwiązanie.
Jak działają algorytmy genetyczne – proste wyjaśnienie:
Wyobraź sobie, że kupujesz dom, w którym jest duży ogród. Szukasz inspiracji i chcesz zaprojektować swój idealny ogród. Na tym przykładzie wyjaśnimy jak działa algorytm genetyczny.
- Start. Algorytm zaczyna pracę od grupy różnych pomysłów na dostarczenie Ci idealnego projektu ogrodu. Algorytmy zaczynają od populacji różnych rozwiązań, czyli od wielu już istniejących projektów ogrodu.
- Ocena: Każdy z tych projektów jest oceniany, pod kątem jak dobrze spełnia wstępnie określone kryteria (np. twój ogród ma mało wody, dużo cienia, stare duże drzewa liściaste, które chcesz zostawić, a za płotem jest wysoki blok, od którego chcesz się odgrodzić). Ta ocena (fitness function) prowadzi żmudne przydzielanie punktów za poszczególne kryteria, czyli szybko robi to, co Tobie by zajęło miesiące.
- Wybór najlepszych: Algorytm wybiera najlepsze projekty, a te niżej ocenione odrzuca. Liczbę tych najlepszych sam określać np. Daj listę 10… albo algorytm sam zawęża.
- Krzyżowanie. Na tym etapie algorytm łączy ze sobą cechy najlepszych pomysłów, dzięki temu tworzy nowe rozwiązania. W twoim projekcie ogrodu może np. zastosować projekt małej architektury z propozycji 1 z sadzawką z propozycji 4 oraz z ścieżkami z propozycji 7.
- Mutacja. Algorytm czasem wprowadza losowe zmiany, żeby dodać coś nowego np. dodaje basen z mini wodospadem. Dajesz polecenie wprowadzenia do projektu czegoś nowego, czego jeszcze nie było na poprzednich propozycjach.
- Powtarzanie cyklu. Algorytm tak długo ocenia, krzyżuje i mutuje propozycje, aż znajdzie najlepsze rozwiązanie, czyli do momentu aż będziesz zadowolony/ zadowolona z propozycji.
Przykład zastosowania algorytmów genetycznych
Powyżej opisaliśmy proces działania algorytmów genetycznych na przykładzie projektu ogrodu, jednak warto pamiętać, że nie tylko do tego ograniczać się będzie wykorzystanie tych algorytmów.
Projektowanie mebli
Problem: Chcesz zaprojektować fotel, który będzie wygodny, wytrzymały i tani w produkcji.
Jak działa algorytm?: Algorytm genetyczny tworzy różne "projekty" foteli (różne kształty, materiały), a potem ocenia każdy projekt pod kątem wygody, wytrzymałości i kosztów. Następnie wybiera najlepsze projekty i krzyżuje je, tworząc nowe projekty. Po kilku rundach masz projekt fotela, który spełnia wszystkie wymagania.
Planowanie trasy dostaw
Problem: Firma kurierska chce znaleźć najkrótszą trasę, aby dostarczyć paczki do wielu miejsc w mieście.
Jak działa algorytm?: Algorytm genetyczny zaczyna od kilku różnych tras dostaw. Każda trasa jest oceniana pod kątem długości i czasu. Najkrótsze trasy są "krzyżowane", tworząc nowe, lepsze trasy. Po kilku iteracjach algorytm znajduje optymalną trasę, która skraca czas dostawy.
Optymalizacja grafiku pracowników
Problem: Firma chce stworzyć grafik pracy dla swoich pracowników, który będzie sprawiedliwy i efektywny.
Jak działa algorytm?: Algorytm genetyczny generuje różne możliwe grafiki, a następnie ocenia je pod kątem ilości godzin pracy, przerw i dni wolnych. Najlepsze grafiki są "krzyżowane", tworząc nowe wersje. Po kilku rundach algorytm znajduje najbardziej efektywny grafik.
Wyobraźmy sobie codzienną sytuację:
Algorytm genetyczny pomaga w dostarczaniu rozwiązań w biznesie, ale też bywa pomocny w rozwiązywaniu problemów dnia codziennego:
- Organizowanie przyjęcia urodzinowego
Problem: Chcesz zorganizować przyjęcie urodzinowe, ale masz ograniczony budżet i musisz zadowolić różnych gości (dzieci, dorosłych).
Jak działa algorytm?
1. Na początku masz różne "projekty" przyjęć – np. jedną wersję z dużą ilością jedzenia, drugą z atrakcjami dla dzieci, a trzecią z muzyką na żywo.
2. Algorytm ocenia każdy projekt pod kątem budżetu, zainteresowań gości i wygody organizacji.
3. Najlepsze projekty są "krzyżowane", np. dodajesz elementy muzyki na żywo do projektu z atrakcjami dla dzieci.
4. Po kilku iteracjach masz najlepszy projekt przyjęcia, który jest w granicach budżetu i zadowoli wszystkich.
Algorytmy genetyczne to narzędzia, które imitują zasady ewolucji, aby znaleźć optymalne rozwiązanie. Zaczynają od wielu rozwiązań, wybierają najlepsze, krzyżują je, dodają losowe zmiany, a potem powtarzają cykl, aż znajdą najlepsze możliwe rozwiązanie. To trochę jak projektowanie idealnego ogrodu, fotela czy planowanie trasy dostaw – algorytm próbuje różnych kombinacji, aż znajdzie tę najbardziej optymalną.
Teraz już znasz dwie odsłony AI: sieci neuronowe i algorytmy genetyczne. W kolejnym artykule sięgniemy po kolejną twarz AI - logikę rozmytą.