Przypomniała mi się dzisiaj jedna z moich ukochanych gier z czasów licealnych i nawet późniejszych, gra która liczy sobie pewnie tyle lat co obecnie przeciętny Mirek, Mortal Kombat 4.

Przeciwnicy mordobić często myślą, że da się w miarę grać wciskając byle co "na pałę", chciałem zdementować ten pogląd i nagrałem gameplay z mk4 przechodząc całą wieże wciskając tylko jeden przycisk - low kick (!) ( ͡° ͜ʖ ͡°
antros - Przypomniała mi się dzisiaj jedna z moich ukochanych gier z czasów licealnyc...
Hejżehej. Znajdzie się jakiś nocny marek co to ma chwilę żeby rzucić na mój kod?
Głównie chodzi o to, że nie działa ( ͡° ͜ʖ ͡°)
Możliwe, że błąd jest trywialny, albo wszystko jest źle i muszę zacząć od nowa.
Kod jest implementacją algorytmu genetycznego który ma dojść do momentu rozwiązania. Rozwiązaniem jest string: "10101010...101010";
W najlepszym wypadku najlepszym po kilku tysiącach generacji na końcu okazuje się string o takim samym wskaźniku "fitowania do rozwiązania" co losowo wygenerowany najlepszy z pierwszej generacji.
A i tak zazwyczaj dzieje się tak, że po operacjach najlepszy jest gorszy niż
@Wyrewolwerowanyrewolwer: Nie zajmowałem się za bardzo algorytmami genetycznymi, więc na szybko opieram się na wiki, co może nie być idealnym źródłem, ale mogę napisać parę uwag.

Z tego co rozumiem, to krzyżowanie następuje zawsze (tyle razy, żeby liczebność w kolejnym pokoleniu została zachowana, więc liczba krzyżowań może być różna, np. w zależności od tego, czy i ile najlepszych osobników przenosisz bezpośrednio do następnego pokolenia), a nie tylko z pewnym prawdopodobieństwem, więc podwyższenie do setki jest chyba ok. Natomiast prawdopodobieństwo mutacji powinno być stosunkowo małe, więc tu już nie jest ok.

Jak dla mnie podczas krzyżowania nie potrzebujesz brać wyników krzyżowania w obie strony, wystarczy jeden, w ten sposób możesz mieć 2 razy więcej par i być może nieco większą różnorodność. Swoją drogą wydaje mi się, że nic nie mutujesz, bo w którejś z pętli powinieneś zamienić miejscami in1 z in2, bo inaczej będziesz dostawał dokładnie to samo co na wejściu
  • Odpowiedz
@Wyrewolwerowanyrewolwer: po pierwsze, błąd za który karają biciem mydłem w zwiniętym ręczniku:
Nie. Rób. Metod. Statycznych
Metody static są powinny być używane jako helpery, nie jako trzon aplikacji.

Druga sprawa - strasznie to komplikujesz, niepotrzebnie.
Wystarczy że zrobisz interfejs Chromosome z metodami mutate(), crossover() i getAdaptationValue().
  • Odpowiedz
Mirki powoli zaczynam ogarniać to całe #ai i #algorytmygenetyczne (samotniku obserwujący to, ujawnij się) i z każdym zdaniem coraz bardziej mi się to podoba. Ogarniam całą tę mechanikę jak działać na pojedynczych chromosomach, ale co jeżeli w genotypie mam więcej niż 1? Powiedzmy - 4 chromosomy.
Jak dochodzi do mutacji i krzyżowań to udział w działaniu biorą tylko odpowiadające sobie chromosomy?


Jeszcze gdyby ktoś miał jakieś ciekawe źródło które dość prosto i jasno wyjaśnia wszystko od podstaw to byłbym szczęśliwy.

@iramusa: Pierwsze pytanie ciekawe i rzeczywiście odpowiedź mało satysfakcjonująca, to tylko odnośnik do książek. Ale drugie wydaje mi się dość oczywiste. O ile generalnie problem świadomości jest trudny (mało powiedziane) i udowodnienie, że coś jest świadome albo nie może być logicznie niemożliwe, to istnieją skrajne przypadki, co do których jesteśmy prawie pewni - jednym z nich jest to, że inni ludzie są świadomi, drugim, że aktualnie istniejące maszyny są nieświadome
  • Odpowiedz
@iramusa:

Jestem za to pewny, że biologiczne mózgi nie są niczym specjalnym w fizyce i potencjalnie algorytm uruchomiony na silikonowym procesorze może być świadomy i czuć tak jak my. Tak skomplikowanych algorytmów jeszcze nie ma.

Zgadzam się.

Nawet jeżeli już mielibyśmy jakąś definicje świadomości, nie do konca rozumiem dlaczego cierpienie bytów nieświadomych nie jest ważne a świadomych jest.

Cierpienie może istnieć tylko w świadomości, z definicji. Mogę przyjąć, że sygnalizacja
  • Odpowiedz
@grzegorz-zielinski: Tylko słowa Hawkinga to też takie hurr durr, a on w tematach innych niż fizyka wiedzy ponadprzeciętnej nie ma, zaś jego przemyślenia np. w temacie AI szczególnie błyskotliwe nie są i jest za nie krytykowany przez bardziej kompetentnych. Niestety mimo tego chętnie zabiera głos wykraczając poza fizykę, a ludzie się w niego wsł#!$%@?ą...
  • Odpowiedz
@Poczmistrz_z_Tczewa: możliwe. Czy tutaj mocno się myli prognozując wzrost nierówności społecznych w wyniku zastąpienia ludzkiej pracy robotami? Czy błędnie zakłada, że wolnorynkowe koncepty mogą się w tym przypadku przyczynić do zwycięstwa zysku nad zapewnieniem dobrobytu "nie-właścicielom" robotów?
  • Odpowiedz
Mirki mam taki temat do ogarnięcia: Metody sztucznej inteligencji w grze strategicznej.

Chciałbym napisać agenta uczącego sie grać przy pomocy uczenia się ze wzmocnieniem, taki agent mógłby grac przeciwko np algorytmowi minMax. Jakieś pomysły jaka gra nadawałaby się dobrze na taka implementacje?

Czy warcaby to dobry pomysł?

#programowanie #ai #sztucznainteligencja
@Gottek: tak, nadaje się. Ja bym pomyślał o grach typu pole kwadrat i z przeciwnych punktów ruszają dwie *gasienice*. Cel jest taki by zablokować przeciwnika, wygrywa ten który pierwszy dotrze na pole startowe przeciwnika. Jest masa takich gier, nie pamiętam nazw.
  • Odpowiedz
@mentis: Raczej wyzwolenie z finansowego wykluczenia;)
Ai nie będąc bytem prawnym nie może mieć dostępu do systemu bankowego. BTC to jedyny elektroniczny system płatniczy, który nie dba o to kim (albo czym) jesteś.
  • Odpowiedz
Odnośnie wpisu http://www.wykop.pl/wpis/13897891/#comment-45069159 i dyskusji na temat wyższości "The Machine" nad "Ex Machina". Obejrzałem wczoraj "The Machine" i zgodnie z postanowieniem, dzielę się przemyśleniami. Uwaga na spoilery, bo będą na pewno.

Wersja skrócona:
"Ex Machina" > "The Machine". Pierwszy ma u mnie mocne 8/10, drugiemu mogę dać maksymalnie 6/10.

Wersja nieco dłuższa:
A, jeszcze jedna rzecz do pociągnięcia wątku: Automata. Motyw klasyczny (narodziny SI), ale fajnie podany, odrobinę dyskutujący z 3 prawami Asimova i również o optymistycznym wydźwięku.
  • Odpowiedz
Mi oglądało się dobrze - to trochę taki konglomerat nawiązań do innych filmów/książek i przyjemnie nakręcony, z dobrym tempem narracji. A jeśli bardzo nie chcesz, to w takim razie może.. Eva? Też hiszpańskie, też o AI, ale bardzo stonowane, z ponadczasowym stylem wizualnym i bardzo staroszkolne jeśli chodzi o samą historię. Klasyczne, rzekłbym.
  • Odpowiedz
@KeyserSoze: twierdzisz, że ex machina wymaga jakiegoś nadzwyczajnego wysiłku umysłowego? Intencje postaci są banalne do odczytania. Jedyne co ciekawie zrealizowano to test Turinga, poza tym nuda, nuda, nuda. Za to w The Machine jest trochę AI, trochę o problemach moralnych, trochę akcji, świetna mieszanka.
  • Odpowiedz
@dzangyl: Bardzo mi się podobał ten film. Zajebiste odtworzenie klimatu lat '80, mocno minimalistyczny wizualnie, ale przy tym niesamowicie treściwy. Niektóre sceny do dzisiaj siedzą mi głowie, np.: przesłuchanie AI w postaci kolorowych bloków. Do tego naprawdę sporo wątków wzajemnie się przenikających, bardzo płynnie i bez zgrzytów. Nad wyraz udana produkcja.
  • Odpowiedz