6

Sto cercando implementazioni C e C++ di algoritmi di intelligenza artificiale utili nei giochi. Alcuni di quelli a cui sono più interessato sono gli algoritmi di apprendimento del rinforzo, gli algoritmi genetici e le reti neurali. Anche gli altri sono interessanti, comunque.Librerie di intelligenza artificiale

Ho trovato dlib.net che ha alcuni algoritmi di apprendimento automatico molto interessanti, ma questi non sembrano particolarmente orientati ai giochi.


Le licenze che posso utilizzare sono la licenza del software Boost, la licenza Zlib/Libpng e il dominio pubblico. Qualsiasi raccomandazione di biblioteche che rientrano in una qualsiasi di queste licenze sarebbe molto apprezzata.

+0

a breve nota. A questo punto nel tempo, quasi nessun gioco, e sicuramente non grandi, commerciali, usano reti neurali, algoritmi genetici, ecc. Come base per l'IA. Sono troppo lenti e complessi. Esaminare teorie del grafico, alberi decisionali, macchine di stato e simili. – Xargos

+0

Sono interessato anche a tutte queste cose. Sto solo cercando un buon punto di partenza dal quale continuare a sperimentare. Hai qualche consiglio per esercitazioni, librerie con le licenze sopra menzionate o altre risorse pertinenti? –

risposta

-1

Anche se si desidera una libreria, si consiglia vivamente di programmare l'intelligenza artificiale da soli. Potrebbe non essere così facile, ma la programmazione (a mio avviso) non significa usare il lavoro di altre persone.

Una breve introduzione allo studio di intelligenza artificiale può essere trovato here.. (ha bisogno di alcuni secondi per caricare ..)

Se non è possibile assimilare il pensiero di programmazione da soli, ho sentito parlare di "kynapse" essere un SDK AI molto bello per i programmi middleware.

Spero che questo aiuta in qualche modo

+5

intendi implicare che l'utilizzo di componenti di terze parti per compiti particolari in qualche modo rende la persona dietro il prodotto dato meno di un programmatore? La programmazione riguarda la codifica e la risoluzione dei problemi e uno dei modi in cui risolvere un problema consiste nell'utilizzare le conoscenze e la saggezza acquisite da altri al fine di produrre un risultato finale superiore (in particolare se il terzo codice pardy è ben testato e maturo) . Ovviamente ci deve essere un equilibrio, ma reinventare la ruota non è necessariamente la migliore, anche se finisci per scrivere più codice da solo e imparare di più come risultato. –

+2

: 3 sì, intendo quello. forse ho sbagliato a programmare ogni dettaglio per conto mio, ma ho appena compiuto 18 anni. Il mio tempo rimanente sulla terra sembra essere abbastanza lungo da "reinventare la ruota" – TheOneAndOnly

+3

Non penso che tu abbia torto perché hai scelto di scrivere un codice sul tuo proprio. Al contrario. Ma hai torto a giudicare gli altri per voler prendere una strada diversa dalla tua, a condizione che abbiano una buona ragione per voler riutilizzare il codice. Ho buone e valide ragioni, quindi le tue osservazioni sono infondate e inutili. –

3

AI è un campo enorme, quindi basta dire "utile nei giochi" non vuol dire troppo. Questo probabilmente non è esattamente quello che stai cercando, ma potresti essere in grado di usare Alchemy:

"Alchemy è un pacchetto software che fornisce una serie di algoritmi per l'apprendimento relazionale statistico e l'inferenza di logica probabilistica, basa sulla rappresentazione logica Markov Alchemy permette di sviluppare facilmente una vasta gamma di applicazioni di intelligenza artificiale, tra cui:. collettiva classificazione link previsione risoluzione Entity Social network modellazione estrazione informazioni"

http://alchemy.cs.washington.edu/