Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi kI (https://www.delphipraxis.net/39570-ki.html)

transporter2 4. Feb 2005 15:55


kI
 
wie kann ich eine ki programmiren? bitte um code und wenn es geht um erklärung
dachte soi an pacman wo ein computergegner den spieler verfolgt.

Nikolas 4. Feb 2005 15:58

Re: kI
 
Einfach eine fertige KI wirst du hier nicht bekommen [Kodex...]. Hast du denn Ideen, nach welchen Regeln die KI arbeiten soll, oder andere Ansätze?

transporter2 4. Feb 2005 16:00

Re: kI
 
ja, sie soll den spieler verfolgen wie ein magnet

malo 4. Feb 2005 16:00

Re: kI
 
Mein Vorschlag: Fang erstmal mit was kleinem an und schreib eine (evtl auch mehrere, wenn die KI komplexer wird) KI-Function/Ki-Procedure, und evtl. einen eigenen Timer, der die KI steuert.

Eventuell kannst du dir ja mal die Open-Source-Projekte anschauen, da gibt es bestimmt auch Spiele mit KIs.

//Edit: Mach doch in dem Code, indem du den "Spieler" bewegst, etwas wie das:

Delphi-Quellcode:
Verfolger.Top := Spieler.Top + 5;
Verfolger.left := Spieler.Left;

czapie 4. Feb 2005 16:38

Re: kI
 
eine ki ist im grunde genommen nichts anderes als auf dinge zu reagieren und dabei vorgegebene Regeln einzuhalten, manche kis können ihre regeln noch ein bißchen erweitern manche nicht.

du mußt dir als regeln überlegen wie sich der gegner sinnvoll verhalten soll.
Also eben z.b.
- lauf dem spieler immer hinter her
- oder bleib immer auf eine Höhe

usw.
erst wenn du dir sowas überlegt hast brauchst du an die kodierung zu denken

Elite-Koennen 4. Feb 2005 17:37

Re: kI
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich hab' schon einige KI's programmiert (die meisten nur halb).
Dabei bin ich immer folgendermaßen vorgegengen: Festlegen welche Möglichkeiten es gibt, Festlegen nach welchen Kriterien eine dieser Möglichkeiten ausgewählt wird. Aber soweit kann ja jeder denken.

Hier noch ein Pacman-Beispiel:

Möglichkeiten: jede Figur im Pacman-Spiel hat nur 4 Richtungen, in die es von der eigenen Position aus laufen kann.

mögliche Kriterien:

Delphi-Quellcode:
var dx,dy:integer;
begin
 dx:=Spieler.X-Gegner.X;
 dy:=Spieler.Y-Gegner.Y;

 if Abs(dx)>Abs(dy) then
  begin
   if dx<0 then Gegner.X:=Gegner.X-1 else Gegner.X:=Gegner.X+1;
  end
 else
  begin
   if dy<0 then Gegner.Y:=Gegner.Y-1 else Gegner.Y:=Gegner.Y+1;
  end;

 { usw. }
end;
Hier würde der Gegner dem Spieler durch jede Wand folgen, aber dies ist nicht mein Problem.

Hab' noch ein Beispiel einer KI in einem Spiel von mir, Magnetic (das Spiel kennen wahrscheinlich nur ehemaligen Commodore 64-Nutzer), mitdazugepackt.
Lag bei mir aber schon einige Semester lang brach.

Nicolai1234 4. Feb 2005 19:05

Re: kI
 
Ich denke in diesem Fall sollte man ganz klar zwischen KI und "Mathematik" unterscheiden.
Ich denke in deinem Fall reicht es aus, dass ganze auf Rechnungen beruhen zu lassen.
Ein Intelligenter Computer müsste seine Entscheidungen slber entscheiden können.

Elite-Koennen 7. Feb 2005 07:44

Re: kI
 
Zitat:

Zitat von Nicolai1605
Ein Intelligenter Computer müsste seine Entscheidungen slber entscheiden können.

Was heißt hier intelligenter Computer ? Falls du ein gewisses Maß an Variation in der Entscheidungskraft des Rechners suchst, dann baust du in die mathematischen Formeln Random-Funktionen ein. Und auch diese sind berechnet, da der 'Zufallsgenerator' im Rechner die Werte aus Datum und Uhrzeit bestimmt, wenn man Randomize einsetzt.
Deshalb kann die Intelligenz des Computers nur simuliert werden, was sich am besten mit komplizierten Allgorithmen erledigen lässt. Die banalen Rechenoperationen des Computers werden so verwischt und als eine Entscheidung wie die eines Menschen verkauft.

Oder nicht ?

Stanlay Hanks 7. Feb 2005 07:53

Re: kI
 
Wikipedia - Künstliche Intelligenz

Wikipedia:

Ziel der KI ist es, Maschinen zu entwickeln, die sich verhalten, als verfügten sie über Intelligenz (John McCarthy, 1955).


Man liest sich, Stanlay :hi:

Elite-Koennen 7. Feb 2005 08:14

Re: kI
 
Es gibt ja auch viele Menschen, die eine künstliche Intelligenz aufweisen. Schließlich genossen/genießen/(werden genießen ?) wir alle eine schulische Ausbildung.
:kotz::warn:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz