Lascer ist ein Software-System, das Charakterisierungen zu vorgegebenen binär klassifizierten Daten (Beispielen) erzeugt. Die Beispiele sind dabei als Attribut-Vektoren im ARFF-Format anzugeben und die Charakterisierung, d.h. die Beschreibung der Klassen, erfolgt als Menge von Regeln, die möglichst klein (einfach) sein soll. Die Regeln können insbesondere mathematische Funktionen enthalten, wodurch eine Menge von Regeln als analog zu einem menschlichen Begriff betrachtet werden kann (Problem Begriffserwerb). Wenn die Beispiele nur boolesche Werte enthalten, entsprechen die erzeugten Regeln booleschen Formeln (spezielleres Problem zweistufige logische Minimierung).
Standardmäßig erzeugt Lascer Regeln, die die gegebenen Beispiele korrekt und vollständig beschreiben, wobei die Beispiele aber auch unbekannte (nicht gegebene) Werte enthalten können. Es kann aber auch mit Beispielmengen umgehen, die unvollständig sind oder in denen Beispiele fehlerhafte Werte besitzen (durch Verwendung von pruning). Eine wichtige Eigenschaft von Lascer besteht außerdem darin, dass es als Data Mining System sowohl in Bezug auf die Laufzeit wie in Bezug auf den Speicherbedarf auf die Verarbeitung von großen Mengen von Beispielen ausgelegt ist. Lascer wurde insbesondere für die Erzeugung von Begriffen zu einfachen Schachendspielen eingesetzt, wobei die möglichen Stellungen oder Züge eines Endspiels die Beispiele darstellen.
Zur Erzeugung einer Lösung transformiert Lascer ein gegebenes Problem in das Set Covering and Exclusion Problem (SCEP), einer Verallgemeinerung des Set Covering Problem (SCP). Dieses wird dann näherungsweise gelöst mit einem Verfahren für das allgemeine SCP (mit nicht-linearer Kostenfunktion).
Das Projekt umfasst derzeit folgende Komponenten, die auch eigenständig von Bedeutung sind:
Analysiert Endspiele mit drei oder vier Steinen und kann die analysierten Daten speichern. Diese können dann interaktiv untersucht werden.
Erzeugt aus einer Datei mit den analysierten Daten eines Endspiels eine Datei im ARFF-Format.
Eine Erweiterung des Frameworks Weka um Meta-Attribute und Meta-Instanzen, wobei letztere Beschreibungen der normalen Attribute darstellen.
Erzeugt zu einer Menge von Punkten im n-dimensionalen Raum deren konvexe Hülle. Die Facetten der konvexen Hüllen können in Lascer als Prädikate (zur Differenzierung zwischen Punkten, die Beispiele darstellen) verwendet werden.
Realisiert das Verfahren zur Erzeugung einer Lösung zum SCP und zum SCEP.
Erzeugt zu gegebenen Daten Funktionen und Prädikate und daraus dann ein SCEP. Wandelt eine Lösung des SCEP anschließend in eine Menge von Regeln um.
In Zukunft werden einzelne dieser Komponenten eventuell in eigene Projekte ausgegliedert. Bis auf die Komponente endspiel, die in Pascal implementiert wurde, wurden alle anderen Komponenten in Java implementiert. Zur Konvertierung von und zu ARFF-Dateien sind perl-Scripte vorhanden, zur Ausführung der Programme sh-Scripte.
Darüber hinaus nutzt Lascer einige Bibliotheken, von denen Architeuthis und MathCollection zusammen mit Lascer entwickelt wurden.
Lascer entstand (bis auf die Komponente endspiel, die früher entwickelt wurde) als System der Dissertation von Dietmar Lippold in der Informatik an der Universität Stuttgart, hauptsächlich am Institut für Intelligente Systeme. Außer Dietmar Lippold haben im Rahmen von Diplom- und Studienarbeiten, Sofware-Praktika und Hiwi-Tätigkeiten folgende Personen wesentliche Teile mehrerer der Komponenten entwickelt und implementiert:
Ihre Namen sind auch in den jeweiligen Quelltext-Dateien genannt.
Darüber hinaus haben die Personen, die an der Entwicklung der oben genannten Komponenten Architeuthis und MathCollection beteiligt waren, durch die beiden Komponenten ebenfalls wichtige Beiträge zum Gesamtsystem geleistet. Ihre Namen sind auf den beiden Projekt-Seiten genannt.
Die grundlegende Idee der Verwendung eines Systems zur logischen Minimierung für die Klassifikation wurde von Daniel Friedrich in einem ersten Schritt in Verbindung mit der Entwicklung des Systems Nereus in seiner Diplomarbeit untersucht.
Die Releases, insbesondere die aktuelle stabile Version, sind abrufbar unter https://sourceforge.net/projects/lascer/files/. Einige ARFF-Dateien (diejenigen, die in der oben genannten Dissertation verwendet wurden) sind abrufbar im Unterverzeichnis ArffDaten, eine Anleitung zur Benutzung von Lascer ist abrufbar im Unterverzeichnis Dokumentation.
Die aktuelle Entwicklerversion ist aus dem Subversion-Repository abrufbar
unter dem URL https://svn.code.sf.net/p/lascer/code/trunk/. Man
kann diese z.B. mit folgendem Befehl downloaden:
svn checkout https://svn.code.sf.net/p/lascer/code/trunk/ lascer-code
Das Repository kann kann man sich auch mittels Web-Browser anschauen unter
https://sourceforge.net/p/lascer/code/HEAD/tree/
Anregungen und Fragen bitte senden an Dietmar Lippold: dlippold at users.sourceforge.net