I concetti di "IA pura" di livello superiore (come Neural-Nets o Genetic Algos) vengono mai implementati con successo nei giochi commerciali?


18

Sebbene la grafica sia la mia principale area di interesse, mi diletto con i concetti di Game AI da un po 'di tempo; dalla semplice ricerca del percorso A * agli intricati Perceptrons ..

La mia domanda è questa; Qualcuno ha esempi di implementazioni di successo (o forse più interessante, non riuscite) di alcuni concetti di intelligenza artificiale di livello superiore in titoli commerciali su larga scala?

Per livello superiore, intendo metodi di simulazione dell'intelligenza che si trovano di solito in Pure AI. Ad esempio ..

  • Reti neurali
  • Algoritmi genetici
  • Teoria delle decisioni

Capisco che oltre a un budget finanziario, gli sviluppatori hanno anche un budget di utilizzo della memoria (con l'IA che spesso passa in secondo piano). Molti di questi metodi sono costosi da implementare e fornire rendimenti limitati. Sono solo incuriosito da scoprire se qualcuno sa dove o quando uno di questi (o altri concetti di alto livello che ho dimenticato di menzionare) sono stati implementati in tutti i giochi famosi :)

So anche che in questo settore, i segreti commerciali sono un dato di fatto;) A parte i titoli AAA, se hai delle tue storie di successo (o disastri), sarebbe bello ascoltarle! : D

Risposte:


18

In generale, le reti neurali e gli algoritmi genetici non vengono utilizzati nei giochi e, a parte il recente interesse nell'uso delle reti neurali per l'apprendimento profondo, non spesso al di fuori dei giochi.

Il motivo principale per cui vengono insegnati nell'intelligenza artificiale non è dovuto alla loro applicabilità pratica, ma perché sono abbastanza facili da spiegare come dispositivi di insegnamento - entrambi hanno analoghi matematici e biologici che consentono a uno studente di capire come potrebbero funzionare.

Nel mondo reale, in genere sono necessari affidabilità e prevedibilità. Il problema con i metodi di apprendimento è che se imparano "allo stato brado", possono imparare schemi sbagliati ed essere inaffidabili. Un NN o un GA potrebbero potenzialmente raggiungere un massimo locale che non è garantito per essere abbastanza buono da fornire l'esperienza di gioco richiesta, ad esempio. Altre volte, potrebbe finire per essere troppo buono, trovando una strategia perfetta che è imbattibile. Nessuno dei due è desiderabile nella maggior parte dei prodotti di intrattenimento.

Anche se ti alleni offline (cioè prima del lancio e non durante il gioco), un insieme apparentemente bello di dati potrebbe nascondere anomalie che, una volta trovate da un giocatore, sono facili da sfruttare. Una rete neurale in particolare evolve in genere un insieme di pesi che è abbastanza opaco da studiare e le decisioni prese da essa sono difficili da ragionare. Sarebbe difficile per un progettista modificare tale routine AI per eseguire come desiderato.

Ma forse il problema più grave è che GA e NN non sono generalmente gli strumenti migliori per qualsiasi attività di sviluppo del gioco. Mentre buoni dispositivi di insegnamento, chiunque abbia una conoscenza sufficiente del dominio della materia è generalmente meglio attrezzato per utilizzare un metodo diverso per ottenere risultati simili. Questo potrebbe essere qualsiasi cosa, da altre tecniche di intelligenza artificiale come supporto di macchine vettoriali o alberi comportamentali fino ad approcci più semplici come macchine a stati o persino una lunga catena di condizionali if-then. Questi approcci tendono a fare un uso migliore delle conoscenze del dominio dello sviluppatore e sono più affidabili e prevedibili dei metodi di apprendimento.

Ho sentito, tuttavia, che alcuni sviluppatori hanno utilizzato reti neurali durante lo sviluppo per addestrare un pilota a trovare una buona rotta intorno a una pista, e quindi questa rotta può quindi essere spedita come parte del gioco. Nota che il gioco finale non richiede alcun codice di rete neurale per funzionare, nemmeno la rete addestrata.

Il "costo" del metodo non è realmente il problema, per inciso. Sia le NN che le GA possono essere implementate in modo estremamente economico, in particolare la NN si presta al calcolo preliminare e all'ottimizzazione. Il problema è proprio quello di riuscire a trarne qualcosa di utile.


3
Al di fuori dei giochi, le GA hanno avuto un enorme successo nel trovare soluzioni esoteriche a problemi di ingegneria, ad esempio i primi lavori del Dr. Adrian Thompson sui circuiti genetici che hanno portato a subcircuiti "inutili" che hanno influenzato il flusso in modo da far funzionare il resto. Il problema è che soluzioni esoteriche efficaci non sono utili nei giochi come nell'ingegneria. Il problema davvero difficile dell'intelligenza artificiale del gioco è far sì che l'IA abbia una strategia comprensibile, non semplicemente giocare bene.

4
Ho usato GA per ottimizzare le variabili del driver AI. Ma come hai detto, questo è stato fatto offline con uno strumento per generare i dati di ottimizzazione. Il gioco non è stato fornito con GA attivo, ma solo i numeri derivati ​​durante lo sviluppo.
Wkerslake,

@Joe - sì, adoro GAs. Penso che siano un modo abbastanza efficace di esplorare uno spazio problematico in un modo abbastanza intuitivo per la persona che modifica l'algoritmo. Li ho anche usati per prendere decisioni in tempo reale, ma è difficile sostenere che fossero più efficienti o più efficaci delle alternative.
Kylotan,

+1 per la conoscenza del dominio. Inoltre, non scartare il business case: settimane di tempo programmatore per creare e mettere a punto e mantenere una linea da corsa NN potrebbero essere meno convenienti di un semplice strumento max per posare una spline e qualche giorno di tempo per i progettisti.
tenpn

Il problema è più che per imparare qualcosa di utile, hai bisogno di una grande rete neurale che richiede molta potenza di calcolo. Se hai una piccola rete, è economico allenarsi come hai detto, ma non ha alcuna possibilità di apprendere comportamenti sofisticati. Un altro problema che vedo è che hai bisogno di una grande quantità di esempi di allenamento per ML, quindi non puoi allenarti durante il gioco poiché ci vorrebbe troppo tempo perché i nemici diventino intelligenti. D'altra parte, il rinforzo del Q-learning sembra una buona tecnica per questo. Un trucco funzionerebbe solo una volta contro questa IA. Non sono sicuro però se i giochi lo abbiano usato.
danijar,

7

Le applicazioni dell'IA "accademica" nei giochi tendono ad essere molto più sottili dei tipi di cose che normalmente si considerano come AI nella sfera di gioco. Gran parte del mio obiettivo di professore di AI di gioco quando ero a scuola era l'IA per il controllo della telecamera. L'altra sua area di interesse è stata la gestione narrativa dell'IA, che per quanto ne so è ancora limitata al mondo accademico per la maggior parte. Un esempio notevole di quest'area successiva sarebbe la facciata .

Il problema principale dell'IA "accademica", nei giochi, è che stanno risolvendo diversi problemi. Spesso non vuoi soddisfare i requisiti, nel gioco; vuoi solo soddisfare. Come è stato scritto in precedenza: non vuoi essere facile, ma non vuoi nemmeno che il tuo avversario AI sia troppo difficile.

Detto questo, la serie di giochi in bianco e nero di Lionhead ha usato l'IA simile a quello di cui stai parlando con la domanda sopra e ha avuto almeno abbastanza successo da renderli un sequel .

Ricordo che i resoconti dell'intelligenza artificiale raggiante di "The Elder Scrolls IV: Oblivion" sono stati un esempio di questa vena di comportamento anche in origine, ma dovevano essere messi a tacere a causa di strani comportamenti inaspettati come gli NPC che si uccidevano a vicenda sul cibo.


GA è anche usato nella serie di creature: en.wikipedia.org/wiki/Creatures_(artificial_life_program) ma non ha successo come il menzionato in bianco e nero o Oblivion
lathomas64

Grazie per la risposta. È interessante come hai detto in che modo l'equilibrio nell'IA del gioco è cruciale, poiché praticamente in ogni aspetto dello sviluppo del gioco, deve essere divertente prima che sia realistico / credibile. Un'intelligenza artificiale troppo "intelligente" non è affatto divertente, a nessuno piace uno smart-alec :)
Bluestone,

1

Sono difficili da eseguire il debug, quindi un problema tecnico (probabilmente causato da un'ottimizzazione eccessiva accidentale) non può essere risolto facilmente. Per questo motivo, qualsiasi rete neurale utilizzata dai giochi dovrebbe imparare in tempo reale durante il gioco. Tuttavia, sono stati utilizzati, ad esempio il gioco NERO.



1

Dato che hai chiesto esempi nel settore, eccone uno per te: il primo titolo che conosco delle reti neurali usate era Fantasy Empires, un gioco D&D TBS / d'azione pubblicato nel 1993. Apparentemente li hanno usati per guidare ciò che la figura del dungeon master avrebbe detto e fare in modo "intelligente" ma "non prevedibile" ... se hai giocato molto al gioco, potresti non essere d'accordo! La figura animata del dungeon master offre una guida sul tuo stile di gioco, basato sulle tue azioni recenti, da una raccolta di morsi di suoni statici, usando la NN. Presumo che sia davvero una rete molto semplice.

(vedere pagina 57 del manuale per i dettagli)

inserisci qui la descrizione dell'immagine


Questo potrebbe essere un esempio interessante, ma per qualcuno che non ha giocato a questo gioco non aiuta molto. Puoi forse elaborare quali meccaniche di gioco erano controllate dalla rete neurale, quale sembrava essere l'intenzione e dare alcuni esempi di risultati positivi e negativi che ha prodotto?
Philipp,

@Philipp Il tuo punto debitamente annotato - ETA. I risultati non furono tanto "cattivi" quanto semplicemente il fatto che la natura analogica delle reti neurali sembrava essere sprecata in quanto quantizzata in un insieme molto limitato di azioni di output.
Ingegnere
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.