Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Sztuczna inteligencja

19.07.2014 01:31
Garret Rendellson
1
Garret Rendellson
87
Legend

Sztuczna inteligencja

Witam, zainteresowałem się tym tematem - polecicie jakieś ksiązki o tym temacie? Dodatkowo interesuje mnie zapoznanie się z samym tworzeniem SI - tutaj jak sądzę potrzeba najpierw zaznajomić się z jakimś językiem programowania czy tak? Może są jakieś podręczniki skupiające się tylko na tym temacie?

19.07.2014 01:39
😒
2
odpowiedz
zanonimizowany989367
3
Konsul

Prosze powiedz, że nie chcesz sam zrobić sztucznej inteligencji...

Dodatkowo interesuje mnie zapoznanie się z samym tworzeniem SI - tutaj jak sądzę potrzeba najpierw zaznajomić się z jakimś językiem programowania czy tak?
Sam przyznasz, brzmi to dość niepokojąco- jak ci wszyscy szaleńcy co sami gry chcą robić.

19.07.2014 01:40
Garret Rendellson
3
odpowiedz
Garret Rendellson
87
Legend

Powtórz bo nie zrozumiałem
"Sam przyznasz, brzmi to dość niepokojąco- jak ci wszyscy szaleńcy co sami gry chcą robić."
No np taki Notch który na swoim solowym (początkowo) projekcie zarobił jakieś kilkaset dużych baniek.
A poza tym zagłębianie się w temat to nie robienie całych gier samemu.

19.07.2014 02:21
Tlaocetl
4
odpowiedz
Tlaocetl
196
Ocenzurowano

Zacznij od tego:
http://winntbg.bg.agh.edu.pl/skrypty/0001/

a potem już będzie z górki... ;)

19.07.2014 02:59
Azerath
5
odpowiedz
Azerath
156
Senator

Notch sam stworzył Minecrafta (początkowo), ale gość zaczął programować w wieku siedmiu lat, a do MC przysiadł z już wieloletnim doświadczeniem bezpośredniej pracy nad grami. Edmund McMillen zaprojektował 30-40 gierek przed Super Meat Boyem, a Jonathan Blow tworzył gry z 15 lat zanim przysiadł do Braida, itd. itd..

Wracając do tematu: SI w sensie sztuczna inteligencja w grach (co, nie oszukujmy się, jest niczym więcej, jak mniej lub bardziej wyrafinowanym oskryptowaniem)?

19.07.2014 03:07
6
odpowiedz
zanonimizowany989367
3
Konsul

Garret nie zapominaj, że Notch jest też członkiem Mensy... a Ty zainteresowałeś się tym tematem z powodu jakiegoś nagłego zrywu.
Myślałem też że chodzi Ci o sztuczną inteligencję rodem z filmów z lat 80tych lub System Shocka, a nie o element gier wideo.

19.07.2014 03:22
Garret Rendellson
7
odpowiedz
Garret Rendellson
87
Legend

Azerath i Bernardo -->Na razie ogólnie zainteresowałem się tematem w obu dziedzinach - i w kwestii gier i całej reszty. Mimo wszystko próby stworzenia choćby najprostrzego "myślącego" programu wydają się bardzo interesujące.

19.07.2014 03:28
8
odpowiedz
zanonimizowany989367
3
Konsul

Polecam kursy c++ i stworzenie kalkulatora- tak na początek ;)

19.07.2014 08:03
9
odpowiedz
zanonimizowany869910
114
Legend

Prawdziwej sztucznej inteligencji ludzie jeszcze nie stworzyli, ale są na dobrej drodze. Naukowcy twierdzą, że to kwestia najdalej 50 lat, ale prawdopodobnie zdarzy się to szybciej.

19.07.2014 08:18
10
odpowiedz
zanonimizowany858571
9
Generał

[9] jak twój post odnosi sie do pytania autora?

19.07.2014 09:50
Tlaocetl
11
odpowiedz
Tlaocetl
196
Ocenzurowano

Sztuczna inteligencja, czyli sieci neuronowe to nie jest żadna magia. Od klkudziesięciu lat ta dziedzina nauki jest rozwijana, jest sporo literatury i programów pewnie też. Kiedyś sam dłubałem przy tym używając modułu Neural Network Toolbox do MATLAB-a. Stare dzieje.
Generalnie to trzeba poświęcić BARDZO dużo czasu, jeśli chcesz ten temat nawet tylko z grubsza opanować - nie licz na szybkie efekty. To w zasadzie czyste programowanie, jeśli nie jesteś programistą, to zacznij od tego. ;)

19.07.2014 10:14
12
odpowiedz
Kaiserek
40
Chorąży
19.07.2014 10:14
Reg03
13
odpowiedz
Reg03
44
Trust me

Prawdziwej sztucznej inteligencji ludzie jeszcze nie stworzyli, ale są na dobrej drodze. Naukowcy twierdzą, że to kwestia najdalej 50 lat, ale prawdopodobnie zdarzy się to szybciej.

To się nie powinno nigdy zdarzyć, ludzie najwidoczniej zapominają że chcąc czy nie chcąc są tylko zwierzętami, gatunkiem który w czasie ewolucji okazał się gatunkiem najsilniejszym. tworzenie nowego gatunku który będzie się mógł rozwijać dużo dużo dużo szybciej i jednocześnie przynajmniej początkowo pobierał od nas wzorce(a chyba gorszych wzorców nie może być), to igranie z kuźwa naprawdę gorącym ogniem.
I nie mówię tutaj o armii humanoidalnych robotów, ale to się źle skończy, prędzej czy później(prawdopodobnie z naciskiem na później), ale nie ma szans żeby działało to bez konsekwencji.

19.07.2014 10:38
14
odpowiedz
Likfidator
120
Senator

To nawet nie czyste programowanie, ale po prostu matematyka. W dużym uproszczeniu algorytmy AI polegają na aproksymacji nieznanej funkcji przy pomocy np. funkcji wielomianowej. Przykładowo mając dane:
f(1) = 4; f(2) = -100; f(10) = 12,5; należy dopasować współczynniki funkcji np. f(x) = ax^4+bx^3 + cx^2 +dx+e.
Sednem algorytmów AI są algorytmy uczące, czyli w naszym przykładzie znajdujące odpowiednie współczynniki na podstawie wymienionych wyżej danych testowych. Właśnie od tego jak nasza AI się "uczy" zależy jej skuteczność.
Zaletą AI jest to, że możemy w prosty sposób znajdować rozwiązania problemów, które są bardzo trudne w tradycyjnym podejściu. Chociażby wykrywanie języka w jakim został napisany dany fragment tekstu. Wystarczy mieć kilkanaście przykładów w kilku językach i prosta sieć neuronowa nauczy się rozpoznawać dowolny tekst w tych językach ze skutecznością ponad 90%.
AI można wykorzystywać do porównywania obrazów, rozpoznawania pisma, czy w ogólności do wszystkich rzeczy, gdzie można porównywać czy katalogować. Tworząc sieci neuronowe wymagana jest pewna intuicja, bo stopień złożoności sieci należy dobrać odpowiednio do problemu. Im bardziej złożona sieć tym więcej szczegółów jest uwzględniane w porównaniu, co nie zawsze jest pożądane. O ile programowanie samego AI jest łatwe, to przygotowanie danych testowy na których AI ma się uczyć jest zadaniem trudnym, a sam proces uczenia jest poza kontrolą programisty.

Z powyższych względów typowe AI praktycznie nie jest używane w grach. Mianem AI określa się po prostu algorytmy opisujące zachowanie NPC. AI tworzy się w kilku warstwach np. w grze RTS. Najniższa warstwa zajmuje się funkcjami poruszania pojazdu tj. uruchomieniem silników, czy innych elementów by poruszać się w wybranym kierunku z określoną prędkością. Wyższa warstwa obsługuje algorytm wyszukiwania ścieżki (najczęściej A*) i określa stany obiektu np. stan czuwania, agresji, ostrożnego ataku itd. W najwyższej warstwie algorytm zarządza rozmieszczeniem wszystkich obiektów i ich działaniami.
Takie rozdzielenie ma swoje zalety. Chociażby najniższa warstwa umożliwia udostępnienie takiego samego interfejsu niezależnie od tego czy mamy pojazd latający, jeżdżący, czy kroczący i odpowiednie zarządzenie uszkodzeniami. Dzięki temu wyższa warstwa może być uniwersalna dla wszystkich obiektów.
W ogólności programowanie SI w grach trudne nie jest i tak naprawdę od 20 lat nic nowego nie wymyślono. Dużo trudniejsze jest nadanie SI cech ludzkich tj. zarówno nasze wady jak wysoki czas reakcji jak i nasze zalety w postaci intuicji czy przewidywania złożonych działań. Dobrze zaprojektowane AI w grze powinno być wymagające, a jednocześnie mieć swoje słabe strony, które gracz będzie mógł wykorzystać.

19.07.2014 15:04
15
odpowiedz
zanonimizowany869910
114
Legend

Reg03 - być może masz rację, ale raczej tego nie powstrzymamy. Naukowcy są zdeterminowani by stworzyć sztuczną inteligencję. I jak każda inteligencja, będzie to twór obdarzony świadomością i zdolny do uczenia, samodoskonalenia się i rozwoju.

19.07.2014 18:18
16
odpowiedz
zanonimizowany148709
77
Generał

W sferze sztucznej inteligencji nic sie nie ruszylo i nadal jestesmy w tym samym miejscu co 1000 lat temu.

Wszystko udaje tylko AI i ciagle opiero sie to na zwyklych scriptach "if" "then".

Forum: Sztuczna inteligencja