Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.12.2013, 14:18

NeurEvo, künstliche Intelligenz (ein Experiment)

Hallo,

ich wollte euch mal ein kleines Projekt von mir vorstellen. Die Idee hatte ich schon länger aber jetzt habe ich die Umsetzung ganz gut hinbekommen.

Es ist eine künstliche Intelligenz Simulation.

Die wichtigsten Naturgesetze in der Simulation
Es gibt kleine Kreaturen, die von je einem neuralen Netz gesteuert werden.
Sie bewegen sich in einer Kachelwelt.
Mache Bereiche sind blokiert, es gibt viele Hindernisse.
Es gibt Räuber und Beute Kreaturen.
Die Beute frisst den Boden leer, die Räuber fressen die Beute.
Diejenigen mit dem Schlausten neuralen Netz fressen am meisten und vermehren sich.
Bei der Vermehrung wird das Neurale Netzwerk also die KI der Elternkreatur vererbt.
Durch zufällige Mutationen werden die Kreaturen immer klüger oder ausselektiert.


Was sieht man?
Jede Kreatur hat einen Körper und einen Kopf, die Farbe variiert durch Mutation leicht zu der Farbe der Elternkreatur. Der Körper leichtet leicht, damit es besser aussieht. Der Kopf zeigt die Richtung an in die die Kreatur guckt.
Farben Zeigen also lose die Verwandtschaft an.

Man sieht wie sich verschiedenen Arten in ihrem Lebensraum verdrängen und man sieht, wenn man wartet jagt Verhalten und flucht Verhalten.
Man sieht wie sich verschiedene Arten in verschiedenen Habitaten festsetzten.
Man sieht zunehmende Intelligenz. :thumbsup:


Manches ist noch relativ unfertig, aber das wichtigste geht.

Einige Kreaturen in die Welt gesetzt:

(Link)


Man sieht die unterschiedliche Farbe und ihr unterschiedliches Fressmuster.

Eine Art setzt sich durch:

(Link)



In einer großeren Welt geht das auch und mit Räubern, aber da ist die Grafik noch nicht so gut.
Man erkennt leider nichts wenn ich es nicht ewig erkläre :D
Kommt aber noch.


Was haltet ihr davon so?
Braucht jemand eine KI für seine Spiel mit Kachel-Welt?

Gibts vorschläge was die Simulation noch unbedingt braucht oder was ich verbessern kann?

MFG
Bilder zu meinem Projekt: ParSim

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Horus« (30.12.2013, 15:50)


MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

2

30.12.2013, 14:46

Klingt interessant, kannst du davon vielleicht mal ein Video erstellen, damit man eine bessere Vorstellung hat wie das funktioniert?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

30.12.2013, 15:25

Welche Inputs und welche Outputs haben denn die neuronalen Netze?
Also was können die Kreaturen wahrnehmen?
Welche Aktionen stehen ihnen zur Verfügung?
Wie groß sind die Netze?
Wie schnell läuft die Simulation bei wie vielen Kreaturen?

4

30.12.2013, 15:48

Hi,

Zitat

Klingt interessant, kannst du davon vielleicht mal ein Video erstellen, damit man eine bessere Vorstellung hat wie das funktioniert?

Joa noch ruckelt das und ist nicht so hübsch im Video. Es läuft auch zu schnell und gibt keine bewegliche Kamra und so weiter.
Ein Blick ins Hirn, so sieht die KI aus bzw. ihr Erregungsmuster während sie rumläuft.
Die einzelnen Punkte sind Neurone, je roter desto öfter sind sie durchschnittlich erregt.
Das Muster ändert sich nüturlich wenn die Kreatur was anderes "denkt"

(Link)



Zitat

Welche Inputs und welche Outputs haben denn die neuronalen Netze?
Also was können die Kreaturen wahrnehmen?
Welche Aktionen stehen ihnen zur Verfügung?


Inputs: 12 spezielle Neurone. Die Kreaturen sehen den Bereich vor sich. Sie sehen Futter, Räuber, Beute, Blockierung.
Outputs: 3 normale Neurone. Vorwärts, Drehen recht, Drehen links



Wie groß sind die Netze?

Zitat


32 normale Neurone
12 spezielle Neurone für Input



Zitat

Wie schnell läuft die Simulation bei wie vielen Kreaturen?

Oh also ich habe noch nicht getestet oder optimiert. Ich würde sagen schnell.
Es gibt noch massig zu optimieren und mein alter PC kommt selbst bei großen Welten nicht ins Schwitzen.
Parellel processing und Verbesserung der internen Abläufe kommt vielleicht später.

Folgendes schluckt auf meiner alten Kiste momentan 10% dabei rendert die CPU sogar noch alles :D

(Link)


MFG
Bilder zu meinem Projekt: ParSim

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Horus« (30.12.2013, 19:08)


Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

5

30.12.2013, 18:02

Hmm, nettes Experiment.

Erinnert mich an die Diplomarbeit von einem Bekannten von mir, vielleicht ist die ja interessant für dich zum durchlesen: http://www.dkriesel.com/science/distribu…ution_of_swarms ;)
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

6

30.12.2013, 18:59

Das ist echt mal interessant. Kann man sich wohl mal den Code borgen? :)
Ich interessiere mich auch schon länger für KI, aber irgendwie komme ich nie dazu^^

Mach auf jeden Fall weiter, sieht super aus bis jetzt.

7

31.12.2013, 12:39

@Legend

Danke, habe mir den Link angesehen, sieht interessant aus.

Es hat mich auf die Idee gebracht meine neuralen Netze mit Kommunikations-"Organen" auszustatten.
Wäre cool wenns dann auch Schwarmverhalten gibt.

@DeKugelschieber

Zitat

Kann man sich wohl mal den Code borgen?

Ja gerne.
Das ganze ist etwas Flickwerk, weil ich da am anfang kein komplettes Konzept hatte.

Hier sind die Zeilen, die die KI darstellen.
Die Neuron Klasse:
http://codepad.org/Xh6hNs0l

Die NeuralNetwork Klasse:
http://codepad.org/4WI2OuCa

Oder meinst du die ganze Projektmappe? Mit simulations Lebensraum?

Die KI ist nicht ausgereift, absolut nicht, ich habe daran kaum getestet, das ganze Framework ist die eigentliche Areit.
Ohne besseres Framework kann ich die KI leider kaum testen und verbessern :/

Wenn ich zu par Optimierungen komme geht bestimmt einiges mehr.

MFG
Bilder zu meinem Projekt: ParSim

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

8

31.12.2013, 13:04

Cool danke :)
Nee das reicht vollkommen, ich möchte das ja auch selbst ausbrobieren (mit anderen Tierchen).

Was mir noch eingefallen ist: haben die Jäger überhaupt eine Chance sich durchzusetzen? Ich meine eine Kollision mit Pflanzenfressern ist am Anfang ja nur zufällig. Und die Vegetarier können überall fressen?

9

31.12.2013, 15:23

Du könntest das gesamte Projekt auf Bitbucket oder Github bereitstellen. So kann man das ganze direkt ausprobiereb und ggf. forken u. o. patchen. Die Gebiete um KNN sowie Schwarmintelligenz interessieren mich.

Zitat

Ich bin nicht der Messias.
Ich sage, du bist es, Herr. Und ich muss es wissen, denn ich bin schon einigen gefolgt.

https://bitbucket.org/bwbg

10

01.01.2014, 19:03

Hi,

Zitat


Cool danke :)
Nee das reicht vollkommen, ich möchte das ja auch selbst ausbrobieren (mit anderen Tierchen).

Was mir noch eingefallen ist: haben die Jäger überhaupt eine Chance sich durchzusetzen? Ich meine eine Kollision mit Pflanzenfressern ist am Anfang ja nur zufällig. Und die Vegetarier können überall fressen?


Ja also Anfangs ist es natürlich so, die "Vegetarier" bzw. Beute-Kreaturen fressen überall.
Das "Gemüse" muss aber erst nachwachsen es kommt also bei den Beute-Kreaturen untereinander zu einem steigenden Konkurenzdruck.

Die Räuber sterben anfangs schnell aus. Man muss nach 2 Minuten oder so, wenn alles voller Beute ist neue Räuber generieren, damit sich eine stabile Population bildet.

Es gibt genug Steuervariablen wo man die Räuber- und Beute- Kreaturen modifizieren kann damit es ausbalanciert ist.
Das Hirn aller Kreaturen, Räuber wie Beute ist der selbe Klassentyp mit der selben Konfig. Das unterschiedliche Verhalten ist "erlernt" bzw. Zufall mit selektionseinfluss.



Zitat

Du könntest das gesamte Projekt auf Bitbucket oder Github bereitstellen. So kann man das ganze direkt ausprobiereb und ggf. forken u. o. patchen. Die Gebiete um KNN sowie Schwarmintelligenz interessieren mich.

Wenn jemand konkret mithelfen will, dann immer gern.
Ich lasse es dir mal per PN zukommen.

Schwarmintelligenz ist noch nicht möglich. Es wäre kein Problem.
Ledigleich eine Erweiterun der "Sehfunktion" und par mehr afferente Neurone dazu.

Mal sehen jetzt hatte ich die Tage kaum Zeit.
Ich stelle es mal als exe hier rein, wenn ich eine Fenster habe wo man richtig was sieht.
Momentan muss man sehr genau hingucken.


LG
Bilder zu meinem Projekt: ParSim

Werbeanzeige