Domanda

Sto pensando di usare una rete neurale per alimentare i miei nemici in un gioco sparatutto spaziale che sto costruendo e mi chiedo; come si formano le reti neurali quando non esiste un buon insieme definitivo di output per la rete?

È stato utile?

Soluzione

Al momento sto studiando reti neurali e sembrano abbastanza inutili senza codifiche di input e output ben definite e non si adattano affatto alla complessità (vedi http://en.wikipedia.org/wiki/VC_dimension ). ecco perché la ricerca sulle reti neurali ha avuto così poca applicazione dal clamore iniziale più di 20-30 anni fa mentre l'IA semantica / statale ha assunto gli interessi di tutti a causa del suo successo nelle applicazioni del mondo reale.

  • Un buon punto di partenza potrebbe essere quello di capire come rappresentare numericamente lo stato del gioco come input per la rete neurale.
  • La prossima cosa sarebbe capire quale tipo di output corrisponderebbe alle azioni nel gioco.
  • pensa alla struttura della rete neurale da usare. Per ottenere comportamenti complessi interessanti dalle reti neurali, la rete deve quasi essere ricorrente. Avrai bisogno di una rete ricorrente perché hanno "memoria", ma oltre a ciò non hai molto altro da fare. Tuttavia, le reti ricorrenti con qualsiasi struttura complessa sono davvero difficili da addestrare per comportarsi.
  • Le aree in cui le reti neurali hanno avuto successo tendono ad essere la classificazione (immagine, audio, grammatica, ecc.) e il limitato successo nella previsione statistica (quale parola ci aspetteremmo dopo questa parola, quale sarà il prezzo delle azioni domani? )

In breve, probabilmente è meglio usare le reti neurali per una piccola parte del gioco piuttosto che l'intelligenza artificiale nemica principale.

Altri suggerimenti

Puoi controllare Bilanciamento della difficoltà del gioco AI dinamico per varie tecniche e riferimenti AI.

(IMO, puoi implementare comportamenti nemici , come " circondare il nemico " ;, che sarà davvero interessante, senza approfondire i concetti avanzati di AI)

Modifica: dal momento che stai realizzando un gioco sparatutto spaziale e vuoi una sorta di AI per i tuoi nemici, credo che troverai interessante questo link: Comportamenti di guida per personaggi autonomi

Hai considerato che è possibile modificare facilmente un FSM in risposta allo stimolo? Dopotutto è solo una tabella di numeri, puoi tenerlo in memoria da qualche parte e cambiare i numeri mentre procedi. Ne ho scritto un po 'in uno dei miei blog alimentati da deliri, e stranamente è stato raccolto da qualche sito di notizie AI di gioco. Quindi il ragazzo che ha costruito un'intelligenza artificiale della signora Pacman che poteva battere gli umani e ottenere le notizie reali ha lasciato un commento sul mio blog con un link a informazioni ancora più utili

ecco il mio post sul blog con i miei discordanti incoerenti su un'idea che ho avuto sull'uso delle catene markov per adattarmi continuamente all'ambiente di gioco e forse sovrapporre e combinare qualcosa che il computer ha imparato su come il giocatore reagisce alle situazioni di gioco.

http://bustingseams.blogspot.com/2008/03 /funny-obsessive-ideas.html

ed ecco il link alla fantastica risorsa sull'apprendimento per rinforzo che il sig. smarty mcpacman ha pubblicato per me.

http: //www.cs.ualberta. ca /% 7Esutton / libro / ebook / the-book.html

ecco un altro bel link

http://aigamedev.com/open/architecture/online- adattamento-game-avversario /

Questi non sono approcci di reti neurali, ma si adattano e imparano continuamente e probabilmente sono più adatti ai giochi rispetto alle reti neurali.

Ti farò riferimento a due dei libri di Matthew Buckland.

Il secondo libro si occupa della retro-propagazione ANN, che è ciò che la maggior parte delle persone intende quando lo fanno parlare comunque di NN.

Detto questo, penso che il primo libro sia più utile se vuoi creare un'IA di gioco significativa. C'è una bella e carnosa sezione sull'uso corretto di FSM (e sì, è facile inciampare in un FSM).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top