Laden...

Künstliche Intelligenz mit C#

Erstellt von Rainbird vor 18 Jahren Letzter Beitrag vor 18 Jahren 20.626 Views
Rainbird Themenstarter:in
3.728 Beiträge seit 2005
vor 18 Jahren
Künstliche Intelligenz mit C#

Hallo,

kennt jemand einfache Konzepte für künstliche Intelligenz. Damit z.B. ein Männchen selbständig den Ausweg aus einem Labyrinth findet etc.. Ich hab gerade Urlaub und bau an einem kleinen Spielchen (was bestimmt nie fertig werden wird ...).

Danke für Eure Ideen.

G
68 Beiträge seit 2005
vor 18 Jahren

Ich glaube das schlauste wäre mal ein Blatt Papier und einen Stift zu nehmen, dann das Problem aufzeichen. Diese lösst du als Mensch, aber schreibst dir auf oder merkst Dir all deine überlegungen.

Dann machst Du ein weiteres Problem und wieder machst es selbst... Irgendwann solltest Du eigentlich merken auf was Du immer achtest und das ist eigentlich schon alles.

Eine einfache KI ist meist mehrere (so meine Erfahrung) IF Abfragen und Schleifen.
Bei eine Labyrinth könnte ich mir eine Lösung denken, in welchem man zum Beispiel sich die letzten N Felder merkt und von Links nach Rechts geht... also man folgt immer der wand. Also schaun das die Wand immer Links von der Figur ist... Habe ich jetzt mal so mal im schnellen überlegt, hat sicher einige Fehler drin die Überlegung... aber ich denke wenn Du selbst mal etwas nachdenkst wie Du vorgehst und wie Du es dem PC beibringen kannst... sollte es gehen...

Bin aber auch sehr gespannt was andere sagen, da ich auch ne KI baun muss (fürn 4 Gewinnt, da habe ich aber schon eine Idee)

Gruss,
Gregor

_
416 Beiträge seit 2005
vor 18 Jahren

Hallo Rainbird,

da gehört aber nicht sehr viel Intelligenz dazu aus einem Labyrinth zu finden. Da wär der Spaß ja auch nur halb so groß.

Es gibt nur verschiedene Strategien um so schnell wie möglich den Ausgang zu finden. Z.B. dass man bevorzugt geradeaus läuft. Wenn ein Hindernis kommt geht man links, außer wenn dort auch ein Hindernis ist, dann rechts. Wenn nichts geht, muss man wieder zurück, der besuchte Kästchen wird als besucht markiert. Trifft man auf ein besuchtes Kästchen wird dies wie ein Hindernis behandelt.

So findet man zwar auf jeden Fall den Ausgang, aber im Zweifelsfall läuft man einen riesigen Umweg. Ich kann mir aber nicht vorstellen wie man mit KI schneller ans Ziel kommen könnte.

cu, tb

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo zusammen,

Pathfinding m.E. ist schon ein Gebiet der KI.

Hallo Rainbird,

siehe z.B. A* (Pathfinding) mit Sechsecken?

herbivore

L
144 Beiträge seit 2005
vor 18 Jahren

Hi,

Ich habe mir ein Buch gekauft (Künstliche Intelligenz, von Alison Cawsey), welches aber nur grob einige Fakten erklärt.
Da ich als Facharbeit eine PC Umsetzung des Strategiespiels Risikos mache, muss ich da auch eine relativ grosse KI Programmieren.

Gibt es vlt gute Bücher zu diesem Thema, in denen aucheinige beispiele beschrieben werden?

Vielen Dank

www.lyrix-soft.de

C
980 Beiträge seit 2003
vor 18 Jahren

Ich beschäftige mich recht intensiv mit (künstlicher) Intelligenz, teilweise auch im Zusammenhang mit C#. Ich glaube was du suchst ist nicht wirklich "künstliche Intelligenz", sondern vielmehr "künstlich intelligentes Verhalten". Den Unterschied hat Gregor schön aufgezeichnet: Die ganze Intelligenz in seinem Ansatz ist in deiner Arbeit mit dem Blatt Papier konzentriert, das Resultat ist hingegen ein Algorithmus der hoffentlich "intelligentes Verhalten" produziert (i.a. ein Regelsatz), in dem aber keine eigentliche Intelligenz mehr steckt (passt zu tb's Aussage, siehe auch das 'Chinesische Zimmer'-Problem).

Ich habe zwar verschiedene Bücher zum Thema, aber keine speziell über solch künstlich intelligentes Verhalten (wie game bots o.ä.). Mir fällt zwar nichts konkretes ein, bin mir aber trotzdem ziemlich sicher schon was interessantes gesehen zu haben ... ist der Thread noch aktuell?

L
144 Beiträge seit 2005
vor 18 Jahren

In meinen Augen ja 🙂

www.lyrix-soft.de

M
456 Beiträge seit 2004
vor 18 Jahren

In den meisten Spielen sind die Bots State-Machines. Einige Spiele haben das sogar direkt in die Scriptsprache integriert (siehe Unreal Script).
http://en.wikipedia.org/wiki/Finite_state_machine

I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.

Rainbird Themenstarter:in
3.728 Beiträge seit 2005
vor 18 Jahren
Danke

Danke für Eure Antworten. Das hat mir sehr geholfen. Meine Spielfiguren können jetzt den Spieler oder sich gegenseitig verfolgen, ohne sich von einfachen Hindernissen aus der Ruhe bringen zu lassen. Das ist für meine einfachen Zwecke völlig ausreichend. Zu gescheit sollen die kleinen Viecher auch nicht sein, sonst verliert man als Gelegenheitsspieler ja andauernd.

A
41 Beiträge seit 2003
vor 18 Jahren

Vielleicht etwas spät...

aber ich könnte die Zeitschrift SDJ Extra Ausgabe 1/2006 empfehlen.
http://shop.software.com.pl/de/index.php?p=2&kat=6

Zugegeben: Mit etwa dr 10 fachen Seitenzahl hätte mir das ganze noch etwas besser gefallen, aber so gibt es einen kleinen Einblick in die Materie.

Hat man sich allerdings schon intensiv mit KI Auseinandergesetzt benötigt man das Heft nicht.

Gruß Andy

1.134 Beiträge seit 2004
vor 18 Jahren

Ein damit zusammenhängendes Thema zu dem es auch infos gibt sind

Neuronal Networks oder zu deutsch: Neuronale Netze

Mein Stackoverflow Profil
Skype Name : Boas.Enkler (bitte einen hinweis in der Kontaktanfrage damit ich euch vom Spam unterscheiden kann)

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo Haggy,

kennst du denn Beispiele für die Verwendung von Neuronalen Netzen fürs Pathfinding?

herbivore

L
144 Beiträge seit 2005
vor 18 Jahren

Original von maxE
In den meisten Spielen sind die Bots State-Machines. Einige Spiele haben das sogar direkt in die Scriptsprache integriert (siehe Unreal Script).

>

Mhm ist der Link nicht eher etwas für die Hardware?
Also entweder ich steh imo etwas auf dem Schlauch, oder da gibt es wirklich keinen zusammenhang zu PC - Spiele - bots?

www.lyrix-soft.de

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo Lyrix,

du stehst auf dem Schlauch. 🙂

State-Maschines oder auch endliche Automaten kann man sehr gut in Software realisieren.

Ein Beispiel für einen endlichen Automaten in Software wäre das Verarbeiten von Quelltexten, bei der man wissen muss, ob man sich gerade in einem Kommentar, einem String, einem Zeichenliteral oder dem eigentlichen Quelltext befindet.

Dabei hätte man eben diese vier Zustände (ok, letztendlich man braucht schon ein paar mehr) und für jedes Zeichen ist für jeden Zustand definiert, in welchen Folgezustand man gelangt.

Ein etwas vereinfachtes Beispiel für so einen Zustandsübergang: Wenn man im Zustand 'String' ist und ein das Zeichen " kommt, ist der Folgezustand 'Code'.

herbivore

L
144 Beiträge seit 2005
vor 18 Jahren

Hallo,

Ah ok danke dir. Scheinbar und vorallem, da ich den link nur überflogenhabe, habe ich vermutet, dass es sich dabei um einen link für Robotnic handelt.

Danke für die Aufklärung!

www.lyrix-soft.de