Aktywne Wpisy
PodniebnyMurzyn +400
Wykopki: BETONOZAA!! WSZYSTKO ZABUDOWANE!! PATODEWELOPERKA WSZEDZIE!11 BLOK PRZY BLOKU!!
Też wykopki: DLACZEGO NIKT NIC NIE ROBI Z RODZINNYMI OGRODKAMI DZIALKOWYMI? ZABUDOWAC W 50% BUDYNKAMI
https://wykop.pl/wpis/75064595/nieruchomosci-warszawa-przemysleniazdupy-czemu-nik
#wykopfejs #bekazpodludzi #nieruchomosci
Też wykopki: DLACZEGO NIKT NIC NIE ROBI Z RODZINNYMI OGRODKAMI DZIALKOWYMI? ZABUDOWAC W 50% BUDYNKAMI
https://wykop.pl/wpis/75064595/nieruchomosci-warszawa-przemysleniazdupy-czemu-nik
#wykopfejs #bekazpodludzi #nieruchomosci
Metodzik +240
=====================[DARMOWA GRA NA GOG]===================
FlatOut za D̲A̲R̲M̲O̲ w GOG
OCENA
METASCORE: 71 / USER SCORE 7.7
STEAM: Bardzo pozytywne (4,033 ocen)
DATA WYDANIA: 7 grudnia 2005
AKTUALNE❗ do 17.02 godzina 15:00
Jeżeli chcesz chcesz być dodany/a do listy osób wołanych z tagu #metodzikpoleca epic zapraszam do plusowania TEGO WPISU oraz obserwowania. Znalezione informację dotyczące nowych darmowych ofert będą na bieżąco dodawane. Jest też tam informacja jak się usunąć z listy
FlatOut za D̲A̲R̲M̲O̲ w GOG
OCENA
METASCORE: 71 / USER SCORE 7.7
STEAM: Bardzo pozytywne (4,033 ocen)
DATA WYDANIA: 7 grudnia 2005
AKTUALNE❗ do 17.02 godzina 15:00
Jeżeli chcesz chcesz być dodany/a do listy osób wołanych z tagu #metodzikpoleca epic zapraszam do plusowania TEGO WPISU oraz obserwowania. Znalezione informację dotyczące nowych darmowych ofert będą na bieżąco dodawane. Jest też tam informacja jak się usunąć z listy
tl:dr
Tutaj pisałem o tym, że zaczynam przygodę z algorytmem genetycznym:
http://www.wykop.pl/wpis/15765773/mirki-pisal-ktos-ai-sztucznainteligencja-czy-co-ta/
Trochę poczytałem, trochę podziabałem. Najpierw żebym ogarnął co z czym i dlaczego jak działa napisałem algorytm, którego zadaniem było stworzenie binarnego ciągu znaków który najbardziej odpowiadałby moim kryteriom. Akurat chciałem, żeby naprzemiennie występowały 1 i 0. Fajna sprawa, szybko działało no bo nie jest to jakieś super skomplikowane i można cieszyć oko.
Pomocna przydała się tutaj publikacja, którą znalazłem na serwerach Uniwerku Łódzkiego:
http://kolos.math.uni.lodz.pl/~archive/Sztuczna%20inteligencja/6%20Klasyczny%20algorytm%20genetyczny%20cz1.pdf
Później zabrałem się za tetrisa. Zdecydowałem się użyć modelu bota opartego o 4 czynniki:
- Ilość dziur na mapie
- Ilość linii do skasowania (pełnych)
- Wypukłość całej mapy
- Łączna wysokość wszystkich słupków
Zaimplementowanie tego nie było trudne (samego bota) i pierwsze efekty pojawiły się stosunkowo szybko. Następnie musiałem tak przekształcić implementację algorytmu działającego na binarnych ciągach aby było to w stanie współpracować z liczbami zmiennoprzecinkowymi i 4 genami zamiast jednym.
Trochę męczenia się było, ale jakoś poszło.
Tutaj duże propsy lecą do @NFCH u którego leciały obliczenia algorytmu, bo mój procesor C2D do najszybszych nie należy i przeprowadzenie symulacji trwało łoooooooo i jeszcze trochę czasu.
Całość zaimplementowałem w Javie, ponieważ najlepiej się w niej obecnie czuję, a i wiele mechanizmów jest prostszych niż w C++.
Gdyby ktoś chciał uruchomić u siebie aplikację (przeprowadzić symulację/obliczenia lub zobaczyć jak komputer gra) to jest ona do pobrania tutaj:
http://www27.zippyshare.com/v/63slNtIE/file.html
Kod jest otwarty i każdy może go używać jak chce. Fajnie byłoby tylko gdyby ktoś jakimś cudem go sobie do czegoś użyje dał mi o tym znać. Tak po prostu.
O tutaj jest repo:
https://bitbucket.org/grzegorz_molicki/geneticalgorithmfortetris/overview
Co dalej:
Do poprawy jest kilka drobiazgów. Wiem, że naciśnięcie start kiedy jedna gra się jeszcze nie skończyła spowoduje uruchomienie nowego wątku i przez to nakładanie się gier. Poprawię to po sesji.
Chcę zrobić z tej symulacji aplikację rozproszoną, gdzie serwer rozrzucałby zadania, a klienci przeprowadzaliby obliczenia. No, coś w rodzaju klastra w taki sposób powstanie.
Płynnego opadania/poruszania klockiem nie dodam sam z siebie, bo ani mi się nie chce ani nie ma to celu. Jeżeli ktoś chce to napisać i dorzucić do kodu to droga otwarta.
Ta gałąź it spodobała mi się już na tyle, że będę dalej kombinował z ai i tego typu algorytmami. Mam nadzieję, że z powodzeniem.
#programowanie #ai #sztucznainteligencja trochę #algorytmygenetyczne #algorytmy
Komentarz usunięty przez autora
Nawet gdyby nie były i zarobiłem tutaj odrobinę czasu, to gdzieś pewnie machnąłem kawałek brzydkiego kodu który i tak traci więcej czasu niż to przypisywanie. Przy krzyżowaniu zwłaszcza...
@rotflolmaomgeez: Nie bardzo rozumiem co masz na myśli mówiąc zwykły algorytm z funkcją celu. Chodzi o algorytm wyszukiwania ścieżki/drogi do punktu?
Jeżeli tak to gdybym dołączył taki do rozgrywki - efekty byłyby jeszcze lepsze. Teraz bot gra w taki sposób, że ustawia sobie klocek w osi x, odpowiednio obraca i opuszcza. Nie dokonuje poprawek w trakcie lotu klocka. Gdyby wyszukiwał drogę do najlepszego punktu/położenia dla klocka