# Wie funktioniert eigentlich künstliche Inteligenz?



## amlug (11. Dez 2004)

Hallo zusammen,
es würde mich mal interessieren, wie künstliche Inteligenz funktioniert. Also wie ein Schachcomputer oder auch bei z. B. GTA die ganzen Menschen. Macht man das mit "if", oder wie?


----------



## foobar (11. Dez 2004)

Guckst du hier http://de.wikipedia.org/wiki/Künstliche_Intelligenz


----------



## Dr. Morv (9. Jan 2005)

Ich denke, wenn Ki so einfach zu realisieren wäre, gäbe es bestimmt schon mehr Intelligente Programme.
Von KI spricht man allgemein, wenn Programme menschliche Verhaltensweisen imitieren und sich der Situation relativ selbstständig anpassen. Das ist normale Spielgegner-KI. Eigentlich ist KI ein Compuer, der lernt, und das ist, soviel ich weiß, noch nicht programmiert worden. Denn ein Computer, der menschlichen Intellekt durch Lernen erreicht hat, muss ja annähernd komplex sein wie unser Gehirn.

Gut, nochmal zur Frage: eigentlich soll sich SpielgegnerKI der Situation anpassen. Patent rezepte gibt es glaube ich (noch?) nicht, weil die Spiele ja verschiedenen Regeln folgen. Schachcomputer sind, da das Spiel so viele Möglichkeiten bietet, kompliziert.
"if" ist ein Befehl, der nur für bedingte Anweisungen sorgt (wie: Wenn spieler am Ziel, dann hat er gewonnen)


----------



## Dr. Morv (9. Jan 2005)

Hab mir Wikipedia angesehen, sagt auch alles und ist ausführlicher


----------



## Student (10. Jan 2005)

:arrow: http://java-forum.org/de/viewtopic.php?t=11237


----------



## TRunKX (4. Mrz 2005)

hmmm 2 Wege sind da gängig

1. Nur das Ergebniss zählt wie es erreicht wird ist vollkommen egal. (also if ist da sicher ne lösung)

2. Nachahmung man versucht auf dem weg wie ein Wesen intelligent entscheidet das Programm aufzubauen und versucht so das ERgebniss zu erzielen. 


Ich persöhnlich schriebe meine KI en immer mit erster Methode weil sonst wird das zu kompli.


Aber versuchs doch mal mit analoger Intelligenz........ gib deiner Figur ein Ziel und einen Speicher sowie die Möglichkeiten etwas zu tun und es soll sich selbst orgenisieren wie es das Ziel erreiche soll. Glaub mir da kommen tolle Sachen bei raus.


Google ist dein Freund.. .. btw: ich weiss nicht ob das Analoge Inteligenz ist oder künstliche Leben .... schau halt selber.


----------



## AlArenal (4. Mrz 2005)

Das Problem beim Imitieren ist natürlich, dass man erstmal die Funktionsweise der Vorlage verstehen und diese formal beschreiben können muss.


----------



## mic_checker (4. Mrz 2005)

amlug hat gesagt.:
			
		

> Hallo zusammen,
> es würde mich mal interessieren, wie künstliche Inteligenz funktioniert. Also wie ein Schachcomputer



Ich denke nicht das wir bei einem Schachcomputer von Künstlicher Intelligenz sprechen können. 
Intern werden letztendlich ja auch nur Berechnungen durchgeführt welcher Zug als nächstes durchgeführt werden kann etc. - Oder wie seht ihr das ?


----------



## dark_red (4. Mrz 2005)

Naja... eine Schachengine ist nicht wirklich intelligent. Da gibt es einmal eine Funktion zum Bewerten von Zügen und Positionen, dann noch eine, welche Züge einfach abläuft (Rekursiv? ) und noch ein wenig Patternmatching mit einer Datenbank von vorberechneten oder gedachten Zügen. 

Interessanter ist da schon die KI beim Go. Wobei das immernoch keine KI ist, sondern sich mit einem anderen Problem befasst: Mustererkennung. Der Mensch ist im Vergleich zum Computer ein nichts, wenn es um die Berechung von zB Primzahlen geht. Falls du allerdings vier Fotos mit unterschiedlichen Blumen hast, kann der Mensch innerhalb von einem Sekundenbruchteil das Muster erkennen und sagen, dass auf allen vier Bildern eine Blume ist. Der Computer hat da gegen den Menschen keine Chance. 

Siehe auch: http://de.wikipedia.org/wiki/Go_(Brettspiel)#Computer-Go


----------



## abollm (4. Mrz 2005)

> Ich denke nicht das wir bei einem Schachcomputer von Künstlicher Intelligenz sprechen können.
> Intern werden letztendlich ja auch nur Berechnungen durchgeführt welcher Zug als nächstes durchgeführt werden kann etc. - Oder wie seht ihr das ?



Mag sein, dass man bei einem _üblichen_ Schachcomputerprogramm nicht von KI spricht. Aber deine Begründung mit den "... letztlich ... nur Berechnungen" führt in letzter Konsequenz dazu, dass die heute bekannten Computer niemals KI ausführen könnten, da sie nichts anderes machen als (recht schnell) Berechnungen durchzuführen.


----------



## TRunKX (4. Mrz 2005)

naja nach Version 1 meiner oben beschriebenen Definition ist das schon eine KI weil das Ergebniss zählt. 

Jedoch kann man einen Scahchcomputer leider nicht dazu bringen vorzudenken hinterhältig zu sein zu opfern um Taktik zu erstellen. 

Ich habe bei einem mit Feunden zusammen geproggten Schachcomputer immer das Prob gehabt das der Computer aufhört wenn er keine Figut ziehen kann ohne sie ungedeckt in Feindeslinie zu setzen. er hat dann immer hinten mit dem König oder Turm gespielt. 

Man müsste ihm beibringen wie ien Mensch zu handeln ... und das ist bisher unerreicht bzw. nicht mit den verfügbaren Resourcen umsetzbar bzw. nötig geschweige den erwünscht. 


Beispiel : Ein Gegner im Computerspiel kann zwar evtl unglaublich dynamisch und logisch auf seinen Gegner reagieren jedoch wird er nie versuchen einen direkten Frontalangriff zu starten. da das logischerweise dem Gegner die Chance gibt zu töten und er soll das Gegenteil erzeugen.



Bitte nochmal genau über die definition nachdenken!


Aber ich finde diese Diskusion sehr nett. Wir sollten das mal weiter verfolgen!


----------



## bambi (4. Mrz 2005)

Also zum Thema KI fallen mir 3 Sachen ein:

1. Die Programmiersprache LISP - war vor einigen (sehr vielen) Jahren mal voll der Renner,
    wenn's um KI ging - ist heute nicht mehr sooo gefragt, oder?

2.  Fuzzy: eine bestimmte Technik - etwas zu kompliziert um's hier kurz mal zu erlaeutern - 
    da gibt's aber auch JavaPackages dafuer - also wenn Du's mal brauchst...

3. Neuronale Netze -> die Nachbildung des menschlichen Gehirns - das funktioniert aber irgend-
   wie mit so'ner Art BlackBox. Du steckst was rein, sagst, was rauskommen sollst, machst das
   ein paar mal und dann - wie von Zauberhand - kanns das ganz allein... Wie die BlackBox dann
   aber aussieht und funktioniert kann keiner mehr sagen...

und es gibt sicher noch X weitere Versuche kuenstliche Intelligenz nachzustellen...  :wink:


----------



## mic_checker (5. Mrz 2005)

> Mag sein, dass man bei einem _üblichen_ Schachcomputerprogramm nicht von KI spricht. Aber deine Begründung mit den "... letztlich ... nur Berechnungen" führt in letzter Konsequenz dazu, dass die heute bekannten Computer niemals KI ausführen könnten, da sie nichts anderes machen als (recht schnell) Berechnungen durchzuführen.



Das Problem dabei ist natürlich das "Künstliche Intelligenz" ein wahnsinnig umfangreiches Themengebiet ist und man erst mal weiter ausholen müsste...

Ich denke darkred hat es nochma ganz gut formuliert:



> Naja... eine Schachengine ist nicht wirklich intelligent. Da gibt es einmal eine Funktion zum Bewerten von Zügen und Positionen, dann noch eine, welche Züge einfach abläuft (Rekursiv? ) und noch ein wenig Patternmatching mit einer Datenbank von vorberechneten oder gedachten Zügen.



Ein menschlicher Spieler entscheidet anhand von "Intuition", Erfahrung etc. welcher Schritt als nächstes wohl am besten geeignet ist. Schachcomputer gehen halt die möglichen Züge durch und bewerten welcher wohl am besten geeignet ist. Das ist für mich keine Künstliche Intelligenz.
Alles in allem finde ich das Schachcomputer-Beispiel nicht sonderlich gut für KI. Es gibt sicher andere Bereiche die dafür besser geeignet sind....

Aber wie gesagt, es ist natürlich ein sehr großes Feld und würde eigentlich einer deutlich ausführlicheren Diskussion bedürfen.


----------



## dark_red (7. Mrz 2005)

Das Problem das ich sehe, liegt in der Definition von künstlicher Intelligenz. Manche verbinden damit, dass Computer wirklich intelligent handeln. Wobei da wiederum nicht genau definiert wird, was überhaupt intelligenz bedeutet. Intelligenz ist sehr relativ und dafür gibt es auch nicht eine absolute Definition. 

KI beschäftigt sich meiner Meinung nach mit einem Programm, welches eine komplexe, normalerweise von einem Menschen gesteuerte, Aufgabe übernimmt. Dazu zählt alledings auch schon, wenn der Schachcomputer einfach Stur die Züge druchgeht. 

Das selbe ist auch bei Gegner von anderen Computerspielen. Bei diesen spricht man auch schon von KI, obwohl sie eigentlich auch nur einen Programmablauf durchgehen. 

Interessant ist die Frage, ob wir Menschen überhaupt soetwas wie eine Intellizenz besitzten, oder wir uns diese schlussendlich nur einbilden. Am Ende ist unser Bewusstsein auch nur das Programm für unseren Körper.


----------



## LazyBoy (5. Apr 2005)

Ich kann dem über mir nur zustimmen. 

Denn in unserem Gehirn finden ja auch nur "Berechnungsprozesse" statt, zwar viel komplexer als bei einem Rechner, aber dennoch ist es vom Prinzip her das gleiche. Intelligenz ist nicht einfach gleich zu setzen mit Bewusstsein. Denn z.B. hat auch eine Ratte eine bestimmte Intelligenz, jedoch ist sie sich nicht bewusst was sie ist. Aber wie bereits gesagt ist Intelligenz sehr schwer zu definieren, und es gibt glaube ich auch mehrere Definitionen.
Außerdem stimmt es nicht das Rechner nicht lernen können, dazu könnt ihr euch das hier ja mal anschauen: http://y.20q.net/anon-de 

So ein Schachcomputer wird übrigens meist relational programmiert, das ist etwas ganz anderes als imperative Programmierung. Da gibt es auch kein "if", das Prinzip mit  dem da gearbeitet wird nennt sich backtracking. Es wird so lange nach einer Lösung gesucht bis sie den Anforderungen genügt. Dieses backtracking lässt sich natürlich nicht nur in Relationalen Programmiersprachen anwenden sondern man kann es auch in funktionale (z.B. Lisp wie oben bereits erwähnt) oder imperative Sprachen implementieren. Aber bei Relationalen Sprachen gehört es zum Grundprinzip der Sprache und man muss es nicht erst implementieren.


----------

