#prywatnynotatnik

Człowiek nigdy nie wygra ze sztuczną inteligencją.

Go to starochińska gra planszowa, która jest popularna w krajach Azjatyckich. Dla wielu osób, tego typu rozrywka jest synonimem i połączeniem sztuki, nauki oraz wymagającego sportu. Kiedy Gary Kasparov przegrał po raz pierwszy z komputerem w szachy, nic nie zapowiadało tego, co wydarzy się w przyszłości. Ku przypomnieniu, genialny szachista stanął w szranki z maszyną stworzoną przez IBM w… 1997 roku. Wystarczy przystanąć na
Pobierz a.....1 - #prywatnynotatnik

Człowiek nigdy nie wygra ze sztuczną inteligencją.

...
źródło: comment_x038ZcSbY7qA0Zq3mYAgWJkXaLciYy89.jpg
No, to ten.

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,
Wyrewolwerowanyrewolwer - No, to ten.

tl:dr

SPOILER

Tutaj pisałem o tym, że ...
zwykłym algorytmem z funkcją celu?


@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
Mirki mam mega problem.. Mianowicie staram się stworzyć model Takagi-Sugeno za pomocą pakietu frbs dla języka R. Pojawia się jednak pewien problem. W dokumentacji do pakietu jest dokładny opis, jak stworzyć taki model, jednak dla dwóch wejść i jednego wyjścia. W moim projekcie niestety muszę zrobić model w którym jest jedno wejście i jedno wyjście, a takiego czegoś niestety nie mam pojęcia jak ruszyć... Może ktoś wie jak pomóc?
Kod z dokumentacji
Nie znam zupełnie tej funkcji, ale patrząc na model powinien się chyba dobrze zachowywać gdy oba parametry ustawisz na tą samą wartość. Co się wtedy dzieje?
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
@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
@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(). To wszystko.
Jeżeli chcesz aby dana klasa była chromosomem, po prostu implementujesz ten interfejs.

Robiłem kiedyś jedną z możliwych implementacji AG, zaraz ci pokażę mój
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
Moje pytania do Petera Singera z wczorajszego ama na reddicie.

Pierwsze pytanie:

Hello Professor Singer,

I agree that if you want to be moral, utilitarianism is the way to go. Why would I want to be moral though?

If you could take a pill that makes you more sensitive to other people's suffering (thus making you a better altruist) would you take it? Why?


Jego odpowiedź:

I'd take it, because that
@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 (prawie
@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 świetlna
@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ł#!$%@?ą...
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.