Die Community zu .NET und Classic VB.
Menü

Ausschreibung: Einfache KI entwickeln

 von 

Beschreibung  

Kurzinfo

  • Titel: Einfache KI entwickeln
  • Ausschreibungsbeginn: 22.06.2004
  • Einsendeschluß: 15.08.2004 (ursprünglich 22.07.2004)
  • Auftraggeber:
  • Jury: Daniel Stelter-Gliese, 2 ActiveVB-Mitarbeiter
  • Preisgeld: 30 Euro

Aufgabenstellung

Bei der Ausschreibung geht es darum, eine "künstliche Intelligenz" zu entwickeln, mit welcher man eine Unterhaltung führen kann. Die Ein- und Ausgabe erfolgt in Sätzen (Text). Das Programm soll durch die Verwendung eines Gedächnisses selbstständig lernen können. D.h. Sätze wie "Ich bin Peter und 234 Jahre alt" führen dazu, dass auf eine später gestellte Frage "Wie alt ist Peter?" mit "Peter ist 234 Jahre alt." geantwortet wird.

Die Funktionalität ist in einer Klasse zu kapseln. Diese verfügt nach außen hin über eine zentrale Methode über welche die Kommunikation mit dem Hauptprogramm abläuft. Übergeben bekommt die Methode den eingegeben Satz als String und die Angabe, ob eine Antwort auf die Eingabe gewünscht ist. Für alles weitere ist dann die Klasse verantwortlich (Informationen abgleichen, ergänzen, antworten usw.).

Der Code darf Dateien beliebigen Formats im Unterzerzeichnis "Bot" des Projektverzeichnisses sowie beliebig viele Resourcendateien und die Standard-Steuerelemente verwenden. Fremde Quellcodes dürfen als Hilfe verwendet werden, aber nicht als Lösung. Die Lösung muss in VB5/6 geschrieben werden.

Die KI soll auf einfache Fragen antworten können. Der kreative Entwickler ist natürlich dazu angehalten auch auf komplexe Fragen eine Antwort zu liefern. Weiterhin sind eigene Ideen sehr erwünscht!

Einige Anregungen:
  • Virtuell Wünsche erfüllen (z.B. auf den Satz "Ich möchte etwas trinken." eine Cola servieren)
  • Einfache Rechenaufgaben lösen
  • Witze erzählen (z.B. aus einer Ressourcen-Datei einlesen)

Erwünscht ist auch eine mitgelieferte Beispielkonversation, aus der man entnehmen kann, wie man sich am Besten mit der KI "unterhält" sowie ein kleiner Beispielprojekt zur Anwendung der Klasse.

Ermittlung des Gewinners

Es werden alle Einsendungen ausgewertet, die bis Einsendeschluss eingegangen sind. Der Gewinner wird durch die Vergabe von Punkten ermittelt. Jedes der drei Jurymitglieder vergibt 0-60 Punkte.

Deutschsprachige Kommentierung15 Punkte
Verständlichkeit/Eleganz des Quellcodes15 Punkte
Kreativität15 Punkte
Güte der Unterhaltungsfähigkeit15 Punkte

Weitere Regelungen

Einsendungen müssen per Email an gesandt werden.

Die Themen dürfen im Forum diskutiert werden, Einsendungen werden jedoch bis zum Einsendeschluß geheimgehalten.

Preisgeld

Das Preisgeld von 30 Euro wird per Überweisung an den Gewinner ausgezahlt.

Anmerkung

Alle Einsendungen dürfen nach Einsendeschluß von ActiveVB.de veröffentlicht werden.

Auswertung

Im ersten Durchlauf erreichte uns leider keine Einsendung. Nach Verlängerung trafen schließlich gegen Ende des Ausschreibungszeitraums aber doch noch zwei Lösungsansätze ein. Nach eingehender Beratung traf die Jury jedoch die Entscheidung, beide Einsendungen zu disqualifizieren. Obwohl die Lösungen teils nette Zusatzfeatures boten, war es mit keiner von ihnen auch nur im Ansatz möglich, ein einfaches Gespräch zu führen. Dies war jedoch Hauptziel der Auschreibung. Wir bedanken uns selbstverständlich trotzdem für die Zusendungen, sie haben dem Auftraggeber immerhin ein Stück weit bei seinem Problem weitergeholfen. Das Preisgeld von 30 Euro wurden an den Auftraggeber erstattet.

Hier der Begründungstext der Jury:

"Laut Aufgabenstellung war eine künstliche Intelligenz gefordert, die im Gesprächsverlauf fähig ist, eigenständig dazuzulernen, indem sie sich Sachverhalte merkt und diese wiedergeben kann. Dies ist in einer der Einsendungen zwar möglich, jedoch nur nach einem festen syntaktischen Schema. Generell sind beide Einsendungen nicht in der Lage, flexibel in einem Gespräch zu reagieren, so wie man dies von einer KI erwartet. Allein fest vorgegebene Sätze werden erkannt und befehlsmäßig abgearbeitet, es findet zu keinem Zeitpunkt eine semantische Analyse statt. Des Weiteren benötigt eine der Ausschreibungen das Scripting Control, laut Ausschreibung ist das nicht gestattet. Die Bedingung 'Die KI soll auf einfache Fragen antworten können' ist nicht erfüllt."

Die Lösungsansätze als Download