Interessante Theorie für KI

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

NetPad

Betreff: Interessante Theorie für KI

BeitragSa, März 05, 2005 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo leute
ich habe gerade einen interessanten text für eine künstliche intelligenz gelesen. interessant desshalb, weil sie 1. mit der realität vergleichbar und 2. effizient ist.

in dem text ging es darum dass das handelnde objekt berater zugewiesen bekommt:

|__________Handelndes Objekt__________|
|________________^__________________|
|____________Entscheidung_____________|
|_______^________^_______^__________|
|____Berater1__Berater2__Berater3______|

die einzelnen berater geben nun jeweils stimmen ab, die dann zusammen mit den entscheidungen der anderen berater die entscheidung ergeben. die berater haben jedoch zusätzlich noch eigene ziele:

1. Berater1 will auf die gesundheit achten

2. Berater2 will den verdammten gegner dem erdboden gleich machen Evil or Very Mad

3. Berater3 ist eher zurückhaltend und versucht gefechten aus dem weg zu gehen.

jeder berater gibt nun einen wert für jede mögliche handlung ab. ist eine handlung z.b für die gesundheit schädlich(feuer;gift usw) hat die stimme einen stark negativen wert.

die summe der stimmen aller berater für jede einzelne handlung ergibt nun die priorität für die handlung.




das wichtigste bei dieser methode ist nun natürlich noch die bewertung der handlungen von den beratern. wird die stimme falsch vergeben, werden dumme entscheidungen getroffen.

mit den zielen der berater kann dan auch noch die eigenart des spielers beeinflusst werden. das oben genannte beispiel wird zweifach gewichtet kämpfe vermeinden da:
1. der kampf gesundheitschädlich ist(Berater1 gibt negative stimme ab)
2. der kampf gegen das ziel des Berater3's ist.(Berater3 gibt negative stimme ab)


ich hoffe euch gefällt diese methode auch und villeicht könnt ihr sie ja auch für eure projekte benützen.

grs NP

Artemis

BeitragSa, März 05, 2005 13:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Coole Idee!!!
 

FBI-blitz

BeitragSa, März 05, 2005 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, cool! Das ist ne gute Idee!
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Spikespine

BeitragSa, März 05, 2005 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist nicht jede KI so aufgebaut?
Nicht unbedingt mit solchen Beratern, sondern einfach eine Gewichtung von Ereignissen, was im Grunde das gleiche ist. Auf diese Weise können dann auch unterschiedliche Charaktere gemacht werden; der eine agressiver, der andere neutral...

grüße
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax
 

NetPad

BeitragSa, März 05, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
logisch müssen die verschiedenen handlungen beurteilt werden. hier im forum machen aber immer noch einige einfache if...then abfragen.
das mit den beratern vereinfacht die bewertung, da damit alle ziele in einem ergebnis zusammengeführt werden.

BladeRunner

Moderator

BeitragSa, März 05, 2005 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
hier im forum machen aber immer noch einige einfache if...then abfragen.


...wogegen auch nichts einzuwenden ist, da das durchaus sehr gut funktionieren kann.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

simi

BeitragSa, März 05, 2005 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
NetPad hat Folgendes geschrieben:
...immer noch einige einfache if...then abfragen.


Wie machst du denn diese KI, doch auch einfach mit ein paar If then abfragen:
Code: [AUSKLAPPEN]

if GegnerStarke = gross then Berater1=-10
...
[/code]
 

NetPad

BeitragSa, März 05, 2005 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Wie machst du denn diese KI, doch auch einfach mit ein paar If then abfragen


nicht unbedingt. dazu kommen dann ja auch noch methoden zum finden des pfades, kollisionen, usw.

natürlich muss irgendwo etwas geprüft werden, es ist aber nicht in der form:

Code: [AUSKLAPPEN]

if gegner>="stark" then
action="escape"
elseif gegner>="mittel" and genger<"stark" then
if player_health>gegner_health then
action="attack"
endif
elseif gegner>="schwach" and gegner<"mittel" then
action="attack"
endinf


grs

D2006

Administrator

BeitragSo, März 06, 2005 1:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Für jeden, der sich auch nur etwas mit KI beschäftig hat, ist das logisch. Einzig und allein das ganze Berater zu nennen ist zB mir hier neu.

Für andere ist es jedoch hilfreich, wie wärs wenn du also ein kleines Tut draus machen würdest?
Bei uns im Forum habe ich son Ding jedenfalls noch nicht gesehen.

MfG
D2006
 

NetPad

BeitragSo, März 06, 2005 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm...ein tut?
im moment kann ich nicht, aber ich schaue mir momentan noch gerade kameraführungen an. vielleicht schreibe ich dann noch ein tut für eine KI-gesteuerte kamera. dann kann ich sicherlich noch einen teil über diese methode machen.

darin könnte ich auch noch smoothing methode erwähnen.

grs NP

Alfadur

BeitragSo, März 06, 2005 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
NetPad hat Folgendes geschrieben:


Code: [AUSKLAPPEN]

if gegner>="stark" then
action="escape"
elseif gegner>="mittel" and genger<"stark" then
if player_health>gegner_health then
action="attack"
endif
elseif gegner>="schwach" and gegner<"mittel" then
action="attack"
endinf


grs


auch wenn der code nicht so aussieht, wird er doch mehr oder weniger auf

Code: [AUSKLAPPEN]

if gegner=stark then berater1=negativ
if health=low then berater2=negativ
if xyz=abc then berater3=negativ
uswusf
if berater1=irgendwas then ... usw usf.


äh, is mehr so pseudocode *hüstel*, aber if abfragen ohne ende. ergo ists vollkommen egal wie man diese entscheidungen nennt, berater oder sonstwas, ein paar sachen kann man noch durch einfache berechnungen lösen.... aber um if abfragen wird man nicht drum herum kommen...
[/code]
A Cray is the only computer that runs an endless loop in less than four hours.
 

ke^kx

BeitragSo, März 06, 2005 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Methode ist irgendwie nicht schlecht, auch wenn es nur eine Art ist, die Auswertung zu machen. Ich werde es jetzt wahrscheinlich so ähnlich machen (außer mir fällt eine besser Methode ein).

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

lettorTrepuS

BeitragSo, März 06, 2005 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

stfighter01

BeitragSo, März 06, 2005 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
KIs sollte man schon etwas mathematischer angehen.

sensor_gefahrvorne= gefahrenanalyse(x, y+1) //berechnet einen wert für die gefahr im vorderen bereich


sensor_gefahrhinten()= gefahrenanalyse(x, y-1) //berechnet einen wert für die gefahr im vorderen bereich


sensor fragchangevorne()= fraganalyse(x,y+1) //berechnen die change für einen abschuss vorne


sensor fragchangehinten()= fraganalyse(x,y-1) //berechnen die change für einen abschuss vorne


if (neuronNR1(sensor_gefahrvorne, sensor_gefahrhinten, sensor_fragvorne, sensor_fraghinten > 0 )
then
gehenachvorn()
else
gehenachhinten()
endif



function neuronNR1(e1,e2,e3,e4)

return e1+e3*2 - e2*1.33- e4*2.1 (gewichtet die ereignisse und gibt antwort)


end function



die neuronen sind quasi die entscheidungsträger und verarbeiten die sensoreneingaben.
das schwierige dabei, ist die entscheidungen richtig zu gewichten, und die sensoren zu programmieren.
um ein "paar" if abfragen kommt man natürlich nicht rum, aber diese vorgehensweise erleichtert die arbeit ungemein und macht das ganze auch einigermassen flexibel.
Denken hilft!
 

ke^kx

BeitragSo, März 06, 2005 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wenn man es in 3D macht, willst du dann noch mehr Sensoren proggen? Oder veränderst du den dann nur?

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Ralf

BeitragSo, März 06, 2005 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
hier im forum machen aber immer noch einige einfache if...then abfragen.

Die KI ohne If-Then Abfragen möchte ich sehen. Wenn Du das schaffst, dann mache ich ein Billiard-Spiel ohne Kugeln.
Allerdings kenne ein Programm ohne If-Then. Dies ist nach jahrelanger Entwicklung entstanden und nennt sich "Hello World" Wink

Mir leuchtet auch überhaupt nicht ein, was Du gegen If-Then hast??
Konzentriere Dich lieber darauf ein Programm fertig zu bekommen, optimieren kann man das dann immer noch, falls nötig.

stfighter01

BeitragSo, März 06, 2005 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich ganz egal obs 3D ist oder 2D.

du hast eine begrenzte anzahl von möglichkeiten wie z.b.: nach vorne nach hinten laufen, springen, schiessen ...

deine sensoren sollten eben die gefahren od. die möglichkeiten die bei diesen handlungen entstehen können erkennen, und ein neuronales netz kann diese dann auswerten und handlungen setzten.
(ist jetzt meine ganz persönliche interpretation einer KI und ich halte mich hier an kein lehrbuch, scheint mir aber eine vernünftige vorgehensweise zu sein. )


mfg stfighter
Denken hilft!

BBPro

BeitragMo, März 07, 2005 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
interessant desshalb, weil sie 1. mit der realität vergleichbar

so funktionieren ki's -_-
das ist ne ganz normale ki, nichts weiter. anders wird ne ki net aufgebaut

Hummelpups

BeitragMo, März 07, 2005 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Coole Idee, so werde ich das das nächste mal machen:
user posted image

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

Dreamora

BeitragMo, März 07, 2005 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessante Sache.

Zwar nicht umbedingt neu ( und leider auch nur sehr bedingt effizient ), aber durchaus praktisch ...

Neuronale Netzwerke und Finite State Machines sind immer eine sehr praktische Einrichtung, vor allem wenn man höhere KI ebenen machen will, wie Team KI / Squad KI und dergleichen.

Allerdings nutzt das mit Blitz3D / Blitz+ fast nix, da sie keine Funktionspointer haben ... da dürfte es mit BM viel eher abgehen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group