Aus Das deutschsprachige Scratch-Wiki

Künstliche Intelligenz (kurz KI, oder auf englisch AI für Artificial Intelligence) beschreibt ein Programm in einem Projekt, das dynamisch und eigenständig auf Probleme reagieren kann

Wikipedia sagt dazu: Künstliche IntelligenzWikipedia.jpg (KI, auch Artifizielle Intelligenz (AI bzw. A. I.), englisch artificial intelligence, AI) ist ein Teilgebiet der Informatik, welches sich mit der Automatisierung intelligenten Verhaltens befasst. Der Begriff ist insofern nicht eindeutig abgrenzbar, als es bereits an einer genauen Definition von „Intelligenz“ mangelt. Dennoch wird er in Forschung und Entwicklung verwendet. Im Allgemeinen bezeichnet künstliche Intelligenz den Versuch, eine menschenähnliche Intelligenz nachzubilden, d. h., einen Computer so zu bauen oder zu programmieren, dass er eigenständig Probleme bearbeiten kann. Oftmals wird damit aber auch eine nachgeahmte Intelligenz bezeichnet, wobei durch meist einfache Algorithmen ein „intelligentes Verhalten“ simuliert werden soll, besonders bei Computerspielen.

Beispiele

http://scratch.mit.edu/get_image/project/933971_144x108.png

KI Panzer

http://scratch.mit.edu/get_image/project/1034493_144x108.png

3d Pfade-suchende KI

http://scratch.mit.edu/get_image/project/569176_144x108.png

Schach

http://scratch.mit.edu/get_image/project/1654607_144x108.png

Computer Chat Program

http://scratch.mit.edu/get_image/project/131828376_144x108.png

LAKI (Chatprogramm)

Arten von KI in Scratch

Gegner

In Scratch werden KIs meist für dynamische Gegner verwendet. Diese reagieren dann je nach Situation unterschiedlich. Zum Beispiel schützen sie sich wenn der Spieler angreift. Es ist die meistgenutzte Art von künstlicher Intelligenz in Scratch und wird auch bei Computerspielen sehr oft gebraucht.

Chatprogramme

Mit Scratch ist es möglich, ein Programm zu schreiben, das auf Fragen des Benutzers antworten kann und so einen Dialog führen kann.

Programmierung von KI

Falls-Technik

Diese Art von KI benötigt sehr viele Falls (), Sonst Bedingungen, damit es auf möglichst viele Situationen reagieren kann. Der Nachteil bei diesem System ist, dass das Programm keine Möglichkeit hat, etwas dazuzulernen. Dieses System wird meistens für die Gegnerprogrammierung eingesetzt.

Listentechnik

Man kann eine KI auch durch Listen verwirklichen, in denen zum Beispiel die Bedingung in der einen Liste steht und die Handlung dazu an der gleichen Stelle in einer weiteren Liste. Dadurch ist es möglich, einfach weitere Bedingungen und Handlungen zum Programm hinzuzufügen. Wenn man diesen Vorgang in den Code mit einbindet, kann man lernende Künstliche Intelligenz realisieren. Dieses eignet sich besonders für Chatprogramme. Diese Art von Künstlicher Intelligenz ist allerdings auch nur beschränkt lernfähig, meistens hat sie für jede Frage nur eine Antwort, sie kann nicht auf bestimmte Situationen reagieren, wenn sie nach bestimmten Informationen gefragt wird. Fragt man eine solche künstliche Intelligenz: "Was heißt Haus auf Englisch?", antwortet sie, weil sie genau diese Frage gespeichert hat, wäre die KI "richtig" intelligent, würde sie erkennen:

Was heißt...  --> Frage
...Haus...    --> Gegenstand
...auf...     --> Sprache
...Englisch...--> Englisch
...?          --> Frage

diese Informationen würde sie dann folgendermaßen verarbeiten:

Frage --> nach Gegenstand --> Gegenstand: Haus --> Sind Informationen über "Haus"      
vorhanden? --> Ja --> Informationen: vier Wände, Tür, Dach, Unterkunft, andere  
Sprachen: Englisch: house --> Frage nach Sprache wurde gestellt --> Sprache: Englisch
--> Information "Englisch" vorhanden: "house" --> Frage --> Antwort: "house"

Wie man sieht, ist das sehr kompliziert, und da man für jede Information einen anderen Weg braucht, sind KI sehr schwierig zu programmieren.

Zufallstechnik

Man kann eine KI auch durch den Block Zufallszahl von () bis () verwirklichen. Diese Technik kann vor allem bei Bewegungen verwendet werden.

Grenzen von KI

Die Grenzen von KI liegen vor allem in der Geschwindigkeit und den vielen Möglichkeiten, auf die reagiert werden muss. Außerdem müsste eine Künstliche Intelligenz effektiver lernen können, als nur durch simple Eingabe, das heißt, eine KI müsste Zusammenhänge zwischen Äußerungen verschiedener Personen erkennen, sie verarbeiten und Falschinformationen zumindest in einem begrenzten Maße erkennen können. Dafür müsste sie auf ihr gesamtes bisheriges Wissen zurückgreifen können und außerdem selbst entscheiden können, bzw. verschiedene Möglichkeiten abwägen. Dafür darf keine Listeneingabe mit festgelegten Antworten verwendet werden, die KI muss sich die passenden Informationen selbst heraussuchen (ansonsten wäre es nur ein Suchalgorithmus). Man unterscheidet in der Regel zwischen starker und schwacher KI.[1] Schwache KI ist auf ein bestimmtes Gebiet spezialisiert, zum Beispiel das Steuern eines Autos. Starke KI ist eine künstliche Intelligenz, die mindestens genauso intelligent ist wie der Mensch, also auf allen Gebieten eingesetzt werden kann.

Fehlererkennung und Analyse

Um einer KI das Lernen zu ermöglichen, muss sie in der Lage sein, eigene Fehler zu erkennen und wenn möglich zu korrigieren. Fehler können beispielsweise durch falsche Informationen entstehen. Um eine Fehlererkennung zu ermöglichen, muss die Künstliche Intelligenz ein gewisses Grundwissen besitzen, zum Beispiel "1+1=2". Lernt sie nun, dass man addiert, indem man die beiden Zahlen nebeneinander stellt, was natürlich falsch ist, und das dann tut, kommt ein Ergebnis von 11 heraus. Nun muss sie dieses Ergebnis mit ihrem sicheren Wissen vergleichen (1+1=2) und erkennen, dass das Ergebnis ein anderes ist. Daraufhin werden verschiedene Algorithmen zum Beheben angewandt. Sobald eine richtige Lösung mit irgendeinem verfahren gefunden wurde, nimmt sie dieses Verfahren als Standard, jedenfalls so lange, bis sie dieses auch als falsch erachtet. Das Grundwissen muss hierfür jedoch sicher richtig sein, damit es funktioniert und am Ende wahre Informationen entstehen.


Code zum Einbinden ins Forum:
[wiki=de:Künstliche Intelligenz]Künstliche Intelligenz[/wiki]
  1. http://www.informatik.uni-oldenburg.de/~iug08/ki/Grundlagen_Starke_KI_vs._Schwache_KI.html