19
TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur dass die Beiträge nicht als Wordpress-Artikel erscheinen sondern gebündelt in einem PDF Dokument. Um den Arbeitsaufwand möglichst niedrig zu halten, wurde darauf verzichtet einen Zweispaltensatz zu verwenden. Auch ein explizites Literaturverzeichnis wurde ausgespart. Stattdessen finden sich bibliographische Angaben (sofern erforderlich) verstreut im Text. Thematisch geht es in dieser Ausgabe vor allem um Computerthemen mit einem Schwerpunkt auf Künstlicher Intelligenz. Ziel ist es, aktuelle Tendenzen aufzuzeigen und möglichst einen Blick auf die Zukunft zu eröffnen. Viel Spaß beim Lesen wünscht Manuel Rodriguez. Inhaltsverzeichnis 1 Bottom Up Robotics..........................................................................................................................................................................................2 1.1 Einführung.........................................................................................................................................................................................2 1.2 AutoIT in der Prozessautomatisierung..........................................................................................................................................2 1.3 AutoIt für Textadventures................................................................................................................................................................3 1.4 Magisches Denken in der Künstlichen Intelligenz........................................................................................................................3 1.4.1 Zur Funktionsweise des Computers aus Wargames.................................................................................................4 1.5 Ab wann sehen wir Roboter?.........................................................................................................................................................4 1.6 Automatisches Programmieren......................................................................................................................................................4 1.7 Codesuchmaschinen.......................................................................................................................................................................5 1.8 Von Neumann-Sonden....................................................................................................................................................................6 2 Wissenschaftliches Arbeiten............................................................................................................................................................................6 2.1 JabRef Integration in LibreOffice....................................................................................................................................................6 2.2 Warum nicht einfach mit Word die Phd-Thesis schreiben?........................................................................................................8 2.3 LaTeX ohne Not...............................................................................................................................................................................9 2.4 LaTeX vs. LibreOffice Writer...........................................................................................................................................................9 2.5 Exportmöglichkeiten von LibreOffice Writer...............................................................................................................................10 2.5.1 Bunkermentalität..........................................................................................................................................................11 2.6 Wissenschaftliche Recherche......................................................................................................................................................11 3 BEAM Robotics...............................................................................................................................................................................................12 3.1 Zehn Jahre danach........................................................................................................................................................................12 4 Computervision...............................................................................................................................................................................................13 4.1 Nur Stress mit SLIC Superpixel...................................................................................................................................................13 4.2 Bug: Stitching geht bei ImageJ/Fiji nicht.....................................................................................................................................14 4.2.1 Superresolution wozu?................................................................................................................................................14 4.3 Einführung in das HelioS Framework..........................................................................................................................................15 5 Framenet..........................................................................................................................................................................................................15 5.1 Relations.........................................................................................................................................................................................15 5.2 Was muss Computerlinguistik leisten?.......................................................................................................................................16 5.2.1 Objektorientierte Programmierung.............................................................................................................................16 6 „Classified Research“ und Strong AI............................................................................................................................................................17 6.1 „Classified art“................................................................................................................................................................................17 6.2 Softwarekrise als Paranoia...........................................................................................................................................................18 6.2.1 OpenSource?................................................................................................................................................................18 Abbildungsverzeichnis Abbildung 1: Jabref Export..................................................................................................................................................................................6 Abbildung 2: LibreOffice Base Datenbank erstellen.........................................................................................................................................7 Abbildung 3: Literaturverzeichnis Datenquelle.................................................................................................................................................7 Abbildung 4: Literaturverzeichnis in LibreOffice...............................................................................................................................................8 Abbildung 5: Fiji SLIC Superpixel....................................................................................................................................................................13 Abbildung 6: Stitching Einzelbilder...................................................................................................................................................................14 Abbildung 7: Stitching Gesambild....................................................................................................................................................................14 Abbildung 8: Behavior Tree "Einkaufen".........................................................................................................................................................15 1

TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

TROLLHEAVEN MAGAZINJUNI 2015

Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur dass die Beiträge nicht als Wordpress-Artikel erscheinen sondern gebündelt in einem PDF Dokument. Um den Arbeitsaufwand möglichst niedrig zu halten, wurde darauf verzichtet einen Zweispaltensatz zu verwenden. Auch ein explizites Literaturverzeichnis wurde ausgespart. Stattdessen finden sich bibliographische Angaben (sofern erforderlich) verstreut im Text.

Thematisch geht es in dieser Ausgabe vor allem um Computerthemen mit einem Schwerpunkt auf Künstlicher Intelligenz. Ziel ist es, aktuelle Tendenzen aufzuzeigen und möglichst einen Blick auf die Zukunft zu eröffnen. Viel Spaß beim Lesen wünscht Manuel Rodriguez.

Inhaltsverzeichnis1 Bottom Up Robotics..........................................................................................................................................................................................2

1.1 Einführung.........................................................................................................................................................................................21.2 AutoIT in der Prozessautomatisierung..........................................................................................................................................21.3 AutoIt für Textadventures................................................................................................................................................................31.4 Magisches Denken in der Künstlichen Intelligenz........................................................................................................................3

1.4.1 Zur Funktionsweise des Computers aus Wargames.................................................................................................41.5 Ab wann sehen wir Roboter?.........................................................................................................................................................41.6 Automatisches Programmieren......................................................................................................................................................41.7 Codesuchmaschinen.......................................................................................................................................................................51.8 Von Neumann-Sonden....................................................................................................................................................................6

2 Wissenschaftliches Arbeiten............................................................................................................................................................................62.1 JabRef Integration in LibreOffice....................................................................................................................................................62.2 Warum nicht einfach mit Word die Phd-Thesis schreiben?........................................................................................................82.3 LaTeX ohne Not...............................................................................................................................................................................92.4 LaTeX vs. LibreOffice Writer...........................................................................................................................................................92.5 Exportmöglichkeiten von LibreOffice Writer...............................................................................................................................10

2.5.1 Bunkermentalität..........................................................................................................................................................112.6 Wissenschaftliche Recherche......................................................................................................................................................11

3 BEAM Robotics...............................................................................................................................................................................................123.1 Zehn Jahre danach........................................................................................................................................................................12

4 Computervision...............................................................................................................................................................................................134.1 Nur Stress mit SLIC Superpixel...................................................................................................................................................134.2 Bug: Stitching geht bei ImageJ/Fiji nicht.....................................................................................................................................14

4.2.1 Superresolution wozu?................................................................................................................................................144.3 Einführung in das HelioS Framework..........................................................................................................................................15

5 Framenet..........................................................................................................................................................................................................155.1 Relations.........................................................................................................................................................................................155.2 Was muss Computerlinguistik leisten?.......................................................................................................................................16

5.2.1 Objektorientierte Programmierung.............................................................................................................................166 „Classified Research“ und Strong AI............................................................................................................................................................17

6.1 „Classified art“................................................................................................................................................................................176.2 Softwarekrise als Paranoia...........................................................................................................................................................18

6.2.1 OpenSource?................................................................................................................................................................18

AbbildungsverzeichnisAbbildung 1: Jabref Export..................................................................................................................................................................................6Abbildung 2: LibreOffice Base Datenbank erstellen.........................................................................................................................................7Abbildung 3: Literaturverzeichnis Datenquelle.................................................................................................................................................7Abbildung 4: Literaturverzeichnis in LibreOffice...............................................................................................................................................8Abbildung 5: Fiji SLIC Superpixel....................................................................................................................................................................13Abbildung 6: Stitching Einzelbilder...................................................................................................................................................................14Abbildung 7: Stitching Gesambild....................................................................................................................................................................14Abbildung 8: Behavior Tree "Einkaufen".........................................................................................................................................................15

1

Page 2: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

1 Bottom Up Robotics

1.1 EinführungIn der wissenschaftlichen Literatur zum Thema „Geschichte der Künstlichen Intelligenz“ wird die Bottom-up-AI ab den 1990'er

Jahren traditionell eher spartanisch behandelt. Vielfach wird Bottom-Up, Subsumption-Architektur und erst recht BEAM-Robotic (Mark W. Tilden) als Spielerei betrachtet die niemanden wirklich interessiert. Denn mal ehrlich, was soll man von einem Roboter auch groß erwarten, der über notdürftig zusammengelötete Widerstände einer Lichtquelle folgt? Ist das nicht eher ein Projekt für Hobbybastler als für die Scientific Community?

Und obwohl Bottom-up Artificial Intelligence bereits keinen hohen Stellenwert genießt, was man über eine simple Suche bei „Google Scholar“ herausfinden kann, gibt es eine Unterdisziplin die im wissenschaftlichen Diskurs praktisch überhaupt nicht vorkommt. Die Rede ist von „AutoIt Bots“. Im Grunde gibt es zu dieser Disziplin keinerlei wissenschaftliche Literatur mehr und die Leute die sich damit beschäftigen tauschen sich in irgendwelche Foren aus, wo es meist darum geht irgendwelche Poker-Bots zu entwickeln oder bei World of Warcraft zu harvesten.

Das bemerkenswerte an AutoIt verwandten Konzepten ist, dass deren Nutzwert zwar als niedrig bis nicht vorhanden eingeschätzt wird, die tatsächlich abgelieferte Leistung solcher Programme jedoch erstaunlich hoch ist. Hoch im Sinne von „Realisierung von Künstlicher Intelligenz“. Dazu ein Beispiel: Auf der Webseite http://sol.gfxile.net/bookworm/ („Bookworm Deluxe Aimbot“) wird ein sogenannter Aimbot vorgestellt der ein simples Logikspiel lösen kann. Dabei muss auch das Teilproblem „OCR“ gelöst werden, was der Autor offenbar zum ersten Mal behandelt und sich damit auch nicht gut auskennt:

„OCR is the hardest and the least working part of the bot. To begin, I took a few screen shots and got the exact glyphs the game used.“

Jeder der ernsthaft an OCR oder Künstlicher Intelligenz interessiert ist, hört an dieser Stelle bereits auf mit dem Lesen weil die Quelle offenbar keinen wissenschaftlichen Anspruch verfolgt. Das erstaunliche ist, dass der beschriebene Aimbot (wie das beigefügte Youtube-Video zeigt) offenbar gut funktioniert. Der Wurm aus dem Spiel meistert die Level (bei denen es um eine Art von Scrabble-Spiel geht) anstandslos und erzielt die Maximalpunktzahl. Im Grunde ist dieses unscheinbares Projekt eine extrem hoch entwickelte Künstliche Intelligenz, ohne das es jemanden auffallen würde.

Aber auch in anderen Projekten bei denen AutoIt Aimbots zum Einsatz kommen zeichnen sich zunächst dadurch aus, dass wissenschaftliche Seriosität nicht vorhanden ist. Eines von diesen Spielprojekten findet sich hier:

Lynxmotion Robotic Arm used as an autosampler for Shimadzu TOC analyzer using AutoIt - part 1, https://www.youtube.com/watch? v=qXLLzQg4G8Q

Dort wird ein Plastik-Roboterarm dazu verwendet um Laborutensilien von A nach B zu bewegen. Das besondere daran ist, dass die Standard-Firmware des Roboters verwendet wird und auch die mitgelieferte Windows GUI. Anstatt die Firmware gegen ROS oder ähnliches auszutauschen, hat der Autor eine Zitat „sehr schlechte Methode“) gewählt den Roboter zu programmieren. Und zwar benutzt er AutoIt um auf den Buttons der Roboter GUI herumzuklicken um so in der Summe einen Aimbot zu programmieren und zwar für einen echten Roboter. Das Verfahren ist meiner Recherche zufolge das erste seiner Art und es gibt mit Sicherheit dafür keinen wissenschaftlichen Preis oder ähnliches. Dennoch kann die Bedeutung dieses Ansatz gar nicht hoch genug eingeschätzt werden. Es ist ein typisches Beispiel für Bottom-Up AI.

Was ist an dem obigen AutoIt Roboter Projekt so bemerkenswert? Vor allem das, was darin nicht enthalten ist. Erstens, ist das ganze kein explizites Roboter-Projekt und vermutlich ist der Autor auch kein richtiger Informatiker. Wäre es ein Informatik-Projekt mit wissenschaftlichem Anspruch (im schlechten Sinn), dann hätte man sicher ROS oder wenigstens LISP verwendet. Und zum zweiten ist auch nicht klar, wo genau die Leistung des Roboters aufhört und die Leistung des Menschen anfängt. Der Versuchsaufbau zeichnet sich dadurch aus, dass am Anfang offenbar eine Art von GUI Automatisierung durch AutoIt durchgeführt wird, im zweiten Teil des Videos greift jedoch jedoch der Mensch in den Vorgang ein, und klickt mit der Maus auf weitere Buttons um die Auswertung anzuzeigen. Dieses Prinzip des shared Workspace (auch wenn die seriöse Informatik sich sträuben würde diesen Begriff hier zu verwenden) wird normalerweise bei Aimbots verwendet, die bei World of Warcraft herumlaufen. Wo ebenfalls nicht so ganz klar ist, wer nun die eigentliche Kontrolle über den Bot hat und wie hoch der Automatisierungsgrad jeweils ist.

1.2 AutoIT in der ProzessautomatisierungIn dem Text „Carvalho, Matheus C: Integration of analytical instruments with computer scripting, 2013“ wird ein Experiment

vorgestellt bei dem die Scripting-Sprache AutoIt eingesetzt wird um einen Roboter sowie weitere Maschinen zu steuern. Das Konzept wird zusätzlich auf https://www.youtube.com/watch?v=aiEmpjSnOmw noch als Video gezeigt. Das besondere daran ist weniger die gezeigte Leistung (einen Roboter im Labor haben auch schon andere demonstriert) sondern das neue ist, dass auf viele der üblichen Methoden zur Prozessautomatisierung verzichtet wurde. Offenbar ist der ausführende Autor weder Informatiker noch hat er tiefere Kenntnisse von ROS. Sondern stattdessen sieht man auf dem Laptop der den Roboter steuern noch ein Windows XP Betriebssystem (das Video wurde im Jan 2015 aufgenommen) und in Windows XP ist eine propritäre GUI geöffnet mitder man die Maschine manuell steuern kann. Offenbar sieht der übliche Anwendungsfall so aus, dass ein Mensch am Laptop sitzt und damit dann ähnlich wie in einem Computerspiel auf irgendwelche Tasten drückt um so Aktionen ausführen.

Und hier kommt AutoIt ins Spiel. Diese Scriptsprache wurde nun verwendet um unter der vorhandenen Oberfläche eine Automatisierung herbeizuführen, dass also ein Computerprogramm die Maus so steuert, dass diese auf die Buttons klickt.

2

Page 3: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

1.3 AutoIt für TextadventuresStandardmäßig wird AutoIt vor allem zur Automatisierung von Point&Click Spielen eingesetzt. Wo man beispielsweise mit der

Maus ein Objekt anvisieren muss und dann auf die Maustaste drückt. Sowas lässt sich mit der AutoIt Funktion „Pixelsearch“ relativunkompliziert programmieren und deshalb wird es auch gemacht. Richtig spannend ist jedoch die Frage, ob man AutoIt auch zur Automatisierung von anderen Genres einsetzen kann, speziell von Grafikadventures wie „Geheimakte Tunguska“. Zunächst einmalist auch „Geheimakte“ ein Computerspiel was über Mausinteraktion funktioniert. Inhaltlich gibt es jedoch gewaltige Unterschiede zunormalen Browsergames. Denn Browsergames sind überwiegend als Casual Games konzipiert, wo irgendwelche Murmeln auf demBildschirm zu sehen sind und wo die Aufmerksamkeitsspanne des Spielers allerhöchstens bei 2 Minuten liegen muss. „GeheimakteTungaska“ ist vom Aufbau her wesentlich komplexer. Dort wird eine komplette Story erzählt, und der Spieler muss weitaus mehr leisten als auf irgendwelche Buttons zu klicken.

Wie man derartige Spiele mit AutoIt automatisiert ist derzeit noch nicht geklärt. Beispiele hierfür gibt es keine. Aber dennoch kann man bereits eine Hypothese aufstellen wie es möglicherweise funktionieren könnte. Zunächst einmal muss man sich klarmachen, dass man mit einer Funktion wie „Pixelxearch“ bei Adventures nichts anfangen kann. Sondern man benötigt eine Programmiertechnik die abstrakt funktioniert. Eine Methode dazu besteht darin, das Adventure erstmal in ein computerlesbares Format umzuwandeln. Im Schritt 1 benötigt man also einen Aimbot ,der ein Spiel wie „Geheimakte Tunguska“ von einem Grafikadventure in ein Textadventure konvertieren kann. D.h. man benötigt eine „image parsing“ Funktion um die vorhandenen Gegenstände auf einem Textterminal auszugeben. Jetzt kann man sich im Schritt 2 überlegen, wie ein AutoIt Bot aussehen muss, der in der Lage ist ein Textadventure zu spielen. Der also eingehende Nachrichten so ordnen und klassifziert, dass sich daraus sinnvolle Entscheidungen ableiten lassen. Im Grunde müsste ein solcher Bot ähnlich aufgebaut sein wie ein Chatbot, nur wesentlichintelligenter. Man bräuchte eine Art von Pixelsearch-Funktion nur eben für semantischen Text.

Anders als heute übliche Chatbot müsste der Adventure-Aimbot jedoch nicht mit einem Menschen kommunizieren, sondern er würde mit der „Geheimakte Tunguska“ Engine kommunizieren, genauer gesagt mit dessen „Nurtext“ Variante. Und für dieses Spielmüsste der Aimbot dann überzeugende Eingaben erzeugen; überzeugend im Sinne dass der Bot das Spiel bis zum Ende durchspielt.

Simple Browsergames zeichnen sich dadurch aus, dass man keine oder nur eine minimale Repräsentation des Spiels benötigt. Im Grunde ist bei einem Spiel wie Tetris alles was der Aimbot wissen muss in dem aktuellen Fenster zu sehen. Entscheidungen können dadurch getroffen werden, indem man den aktuellen Bildschirminhalt auswertet und dann eine Handlung ausführt. Nach diesem Prinzip arbeiten die meisten Aimbots. Bei komplexeren Spielen reicht diese Repräsentation jedoch nicht aus. Der Spiel ist umfangreicher als einfach nur ein Screenshot mit 800x600 Pixeln, was irgendwelche Objekte enthält. Erstens, bestehen komplexere Spiele aus mehreren Screens und zweitens sind viele Informationen auf dem Bildschirm als Grafik gar nicht enthalten. Es stellt sich deshalb die Frage nach einer geeigneten Repräsentation. Hierbei ist natürliche Sprache vermutlich das sinnvollste Konzept. Denn erstens enthalten Adventures ohnehin einen hohen Textanteil und zweitens kann man mit natürlicher Sprache auchabstrakte Zusammenhänge festhalten.

1.4 Magisches Denken in der Künstlichen IntelligenzIn der StarTrek Episode „TNG: The Quality of life“ wird auf philosophischer Ebene das Thema Künstliche Intelligenz behandelt.

Man kann in dieser Folge sehr schön erkennen, was sowohl innerhalb von StarTrek als auch im richtigen Leben der Unterschied zwischen starker und schwacher Künstlicher Intelligenz ist. Eingeführt werden Exocomps (fliegende Reparaturroboter) als nützlicheHelfer die mit manuell programmiert wurden und mit denen man Aufgaben erledigen kann. Die Erfinderin der Exocomps vergleicht sie mit einem Werkzeug und spricht den Exocomps jede Form von eigenem Bewusstsein ab. Data hingegen entdeckt Merkwürdigkeiten und kommt zu dem Schluss, dass die Exocomps nicht nur Programme ausführen, sondern zu eigenständigem Denken im Stande sind.

Im Grunde vertritt Data damit die These, dass die Exocomps für Strong AI verfügen würden, also auf magische Weise beseelt seien und sich von üblichen Computern unterscheiden. Während die Erfinderin davon ausgeht, dass die Exocomps der Weak AI These folgen, was bedeutet, dass sie manuell programmiert wurden und diese Programme dann auch kein Selbstbewusstsein zulassen würden. Die Startrek Folge endet damit, dass Datas Hypothese sich als wahr herstault, und die Exocomps tatsächlich über eigenes Bewusstsein verfügen.

Interessanterweise ist die Zusprechung von besonderen zusätzlichen Fähigkeiten nichts anderes als magisches Denken. Das heißt, Data geht ähnlich wie die Erfinderin der Exocomps davon aus, dass die Roboter in der Lage sind, Befehle auszuführen (also dem vorgegebenen Programm zu folgen). Zusätzlich unterstellt Data den Exocomps jedoch noch weitere Eigenschaften die nicht explizit festgelegt wurden, sondern sich von alleine entwickelt haben. Data versucht diese These dann anhand eines konkreten Experiments zu beweisen. Offenbar ist in diesem Experiment es völlig egal, welches Programm die Exocomps gerade ausführen oder wie sie intern funktionieren, sondern stattdessen werden von Data äußere Bedingungen definiert die entweder erfüllt sind odernicht. Aus wissenschaftlicher Sicht muss man eindeutig feststellen, dass Data mit den Exocomps nur ein Scheinexperiment durchführt. Oder anders gesagt, das Ergebnis steht vorher schon fest. Und zwar möchte Data gerne seinem Publikum (also Geordi,Captain Picard und noch einigen mehr) beweisen bzw. erklären, dass die Exocomps denken können.

AnimismusWiso glaubt Data, dass die Exocomps mehr wären als programmierte Roboter? Die einfachste Erklärung wäre, dass Data eine

Naivität besitzt wodurch er eben Robotern, dem Holodeck und dem Tricorder eine Beseeltheit zuspricht die wissenschaftlichem Denken zuwiderlauft. Eine alternative Erklärung – welche die Tatsache berücksichtigt, dass Startrek eine Erwachsenen-Sendung

3

Page 4: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

ist – würde lauten, dass wir es hierbei mit einer Paranoia zu tun haben, dass sich Data möglicherweise von den Exocomps beobachtet fühlt oder ähnliches. Oder aber, nicht Data selbst besitzt einen Defekt, sondern vielmehr ist es so, dass er sich in einem Umfeld befindet, in dem diese Form von Paranoia gefördert oder zumindest toleriert ist. Beispielsweise glaubt auch Picard in einer anderen Folge, dass die Sternenflotte unterwandert sei und Riker glaubt (na ja, dazu gibt es eine sehr prominente Folge was hier zu weit führen würde).

1.4.1 Zur Funktionsweise des Computers aus WargamesIm Film „Wargames (1983)“ ist ein Computersystem in Aktion zu sehen, was von Professor Falken programmiert wurde und

eine Künstliche Intellligenz darstellt Und obwohl der Film inzwischen schon über 30 Jahre alt ist, fasziniert WOPR noch immer. Aber was ist das Geheimnis hinter diesem Computer und wie wurde er programmiert? Einerseits könnte man natürlich antworten, dass „Wargames“ ein fiktionaler Film wäre und die Drehbuchautoren darauf keine Antwort zu geben bräuchten. Tatsächlich ist der Inhalt von Wargames jedoch alles andere als vollständig ausgedacht, sondern thematisiert aktuelle Forschungen aus der damligen Zeit. Die bemerkenswerteste Eigenschaft von WOPR war vermutlich seine Intelligenz, diese wurde dramaturgisch durch äußere Zuschreibung erzeugt. Das bedeutet, WOPR war soetwas wie der Kaiser von China über den alle gesagt haben, er wäre ein weiserHerscher. Die Intelligenz von WOPR wurde in diem Spielfilm dadurch ermöglicht, dass wichtige Personen aus dem Film zu der Einschätzung gelangen es mit einer Künstlichen Intelligenz zu tun zu haben. David (der jugendliche Computerhacker) glaubt an WOPR, die Militärs in dem unterirdischen Bunker tun es, und auch sein Programmierer, Stephen Falken, lässt keinen Zweifel daran. Und so glaubt es am Ende der Zuschauer auch.

Bei Lichte betrachtet sind die gezeigten Leistungen von WOPR sowohl wenn man innerhalb des filmischen Kanons verbleibt, alsauch von außen einen Blick darauf wirft, alles andere als überragend. Wollte man sagen, was WOPR tatsächlich tut, so besteht es im wesentlichen darin ähnlich wie die Software Eliza von Joseph Weizenbaum einen natürlichsprachlichen Dialog zu führen, per Sprachausgabe auf einem Lautsprecher sich bemerkbar zu machen, mit bunden Lichtern zu blinken (der WOPR Zentralcomputer),sowie TicTacToe zu spielen. Im Grunde könnte man die gezeigte Funktionalität von WOPR auch mit einem Commodore 64 nachbauen. Denn irgendwelche komplexen 3D Grafiken oder eine Volltextrecherche im Internet führt WOPR im Film nicht aus. Stattdessen wird als seine wichtigste Eigenschaft herausgestellt, dass er lernfähig wäre.

Prof. Falken hat mit WOPR keineswegs ein besonders hochentwickeltes Computerprogramm entwickelt, was viele nützliche Dinge tun kann, sondern in erster Linie hat Prof. Falken einen Künstliche Intelligenz programmiert, und zwar eine „Strong AI“. Also eine welche dem Menschen nachempfunden ist und am ehesten als eine kognitive Architektur bezeichnet werden kann.

Aber ist SOAR bzw. wie es im Film genannt wird WOPR wirklich das um was thematisch geht? Oder wird eigentlich eine ganz andere Geschichte erzählt, die nichts mit Künstlicher Intelligenz zu tun hat? Lässt man den Supercomputer WOPR im Film einmal unberücksichtigt und konzentriert sich ausschließlich auf die übrige Story so geht es im Grunde um das Verhältnis von Menschen zu Maschinen. Und auch um das Verhältnis von Menschen untereinander. Demzufolge ist „Wargames“ kein üblicher Hackerfilm, sondern in Wahrheit geht es um Philosophie, das Leben und das große Ganze. Und man sollte auch nicht den Fehler machen, Künstliche Intelligenz als Teilgebiet der Informatik mißzuverstehen, sondern im Grunde ist Künstliche Intelligenz eine Universalwissenschaft die als zentrales Thema funktioniert.

Man kann daraus ableiten, dass es fast egal zu sein scheint, wie genau WOPR intern funktioniert, weil seine Rolle im Film davon unabhängig ist. Primär hat er die Aufgabe, den Menschen eine Art von Spiegel zu sein, er dient als Gegenüber damit sie sichklarwerden was es heißt zu lernen, zu denken, zu oder zu fühlen.

1.5 Ab wann sehen wir Roboter?In dem PDF-Paper „Papon, J.; Kulvicius, T.; Aksoy, E. E. & Worgotter, F. Point cloud video object segmentation using a

persistent supervoxel world-model, 2013“ haben die Autoren ein Verfahren vorgestellt, was über Supervoxel ein Objekttracking für Roboter ermöglicht. Das interessante daran ist, dass die Autoren offenbar das Problem der visuellen Wahrnehmung gelöst haben und im Stande sind in einer Art von Minecraft-Welt mit Gegenstände zu hantieren. Das Verfahren Superpixel beruft sich dabei auf Forschungslteratur die von 2010-2013 erschienen ist, also relativ neue Ergebnisse. Anders als bei älterer Literatur zum Thema Robotik und Künstliche Intelligenz geht es in diesem Paper erstaunlich wenig um Fragen wie Bewusstsein, denkende Maschinen oder neuronale Netze. Stattdessen liest sich die Arbeit so ähnlich, als wenn hier ein Verfahren wie MPEG2 beschrieben wird. Kurz gesagt, mit Strong AI hat das wenig bis gar nichts zu tun. Dennoch scheint der Ansatz vielversprechend zu sein, in der Art dass wenn man die Algorithmen in einen Roboter einbaut, man damit dessen Handlungsmöglichkeiten dramatisch erhöhen könnte. Unklar ist noch wo die Grenzen des Verfahrens liegen, wo also der Hacken ist und warum es dann in der Praxis eben doch nicht fürhumanoide Roboter wird reichen.

1.6 Automatisches ProgrammierenDie Mythen über automatisches Programmieren sind so alt wie die Informatik selbst. Meist geht es darum, sogenannte Meta-

Algorithmen zu entwickeln, wodurch sich die Software selber programmiert und menschliche Programmierer überflüssig werden. Auch die Forschung aus dem Bereich von neuronalen Netzen (wozu Machine Learning gehört) hat ebenfalls die Zielstellung das Programmieren abzuschaffen. Anstatt einen Algorithmus zu formulieren, wird die Software anhand von Beispielen trainiert und findet so die Lösung selbstständig.

Wirklich funktionieren tun solche Ansätze in der Praxis leider nicht. Kurz gesagt, automatische Programmieren ist nicht realisierbar. Was man stattdessen jedoch tun kann ist einen veränderten Ansatz zu wählen um menschliche Programmierleistung

4

Page 5: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

zu pushen. Einerseits durch die Ausschreibung von Programierwettbewerben. Wenn man also einen Wettbewerb veranstaltet in derArt „Wer den schönsten Pacman-Clone programmiert, erhält ein Preisgeld von 100 EUR“, dann wird man im Rahmen des Projektes viele gute Programme sehen, also einen gesellschaftlichen Diskurs der in Sourcecode mündet. Eine weitere Alternative zum automatischen Programmieren besteht darin, Frameworks zu entwickeln, mit denen andere dann leichter Sourcecode erstellen können. Beispielsweise wäre ein Aimbot-Framework denkbar, was grundlegende Klassen bereitstellt für Bildverarbeitung, Texterkennung, Spracherkennung und Strategie. Mit diesem Framework können dann andere menschliche Programmierer die wenig bis gar keine Programmierfähigkeiten besitzen, dann Aimbots für alle möglichen Spielen wie Pacman, Giana Sisters usw. erstellen. Auch hier handelt es sich wiederum nicht um echtes automatisches Programmieren, sondern vielmehr geht es darum die Einstiegshürde zu senken.

Derzeit gibt es bereits erste Ansätze in diese Richtung. Beispielsweise wurde im Mario AI Wettbewerb nicht nur ein Programmierwettbewerb veranstaltet, sondern zugleich wurde den Teilnehmern auch ein Framework bereitgestellt mit dem man vereinfacht mit dem Programmieren in Java beginnen kann. Auch die Programmiersprache AutoIt oder das GameScripter-Framework können als Pseudo-Automatic-Programming Systeme verstanden werden. Im Computerunderground gibt es dann nochdas „HelioS-Framework-v3.0“ was kostenpflichtig ist, und mit dem man unterschiedliche Computerspiele wie GTAV oder Battlefieldcheaten kann. Defakto ist das HelioS-Framework so eine Art von Aimbot-Framework. Im Grunde kommt die Software dem Konzeptdes General Gameplaying was in der wissenschaftlichen Fachliteratur diskutiert wird schon ziemlich nah. Allerdings wird die Software derzeit nicht in seriösen PDF-Papern (Google Scholar) diskutiert.

Das interessante am Projekt „ArtificialAiming“ (wozu auch das HelioS-Framework gehört) ist die Tatsache, dass es sich dabei um „classified research“ handelt. Das bedeutet, der Sourcecode ist nicht öffentlich einsehbar, die verwendete Programmierspracheist unklar, und auch die verwendeten Paradigmen zur Softwareentwicklung wurden nicht dokumentiert. Ferner gibt es auch keinerlei Dokumentation oder ähnliches. Im Grunde kann man das HelioS Framework nur über dunkle Kanäle gegen Geld bestellenund hoffen, dass man sich dabei keinen Virus einfängt. Nichts desto trotz zeigen die zahlreichen Youtube-Videos auf denen man die Software live bewundern kann, offensichtlich dass es funktioniert, d.h. die Gegner werden identifiziert, das Aiming funktioniert usw. Man sollte erläuternd erwähnen, dass es derzeit kein einziges seriöses wissenschaftliches Projekt von einer Hochschule oder dergleichen gibt was diese Funktionalität mitbringt. Wettbewerbe zum Thema General Game Playing, Starcraft AI oder Mario AI sind zwar allesamt „unclassified research“ allerdings ist die dort gezeigte Software weniger leistungsfähig als das HelioS Framework. Es ist zwar theoretisch erklärbar, wie vermutlich „ArtificialAiming“ programmiert wurde, das dort nämlich aktuelle Tendenzen aus dem Bereich Computervision, Planning und Artifical Intelligence als Software umgesetzt wurde, tatsächlich ist das jedoch oberhalb von „state-of-the-art science“. „ArtificialAiming“ zeigt deutlich auf, dass der Wissenschaftsbetrieb hinter dem aktuell machbaren hinterherhinkt.

1.7 CodesuchmaschinenWenn automatisches Programmieren nicht funktioniert, wie ist es dann mit Codesuchmaschinen? Auf

http://stackoverflow.com/questions/7778034/replacement-for-google-code-search werden als Alternative zum mittlerweile eingestellten „Google Code Search“ einige Projekte vorgestellt mit denen man Sourcecode im Handumdrehen durchsuchen kann. Die Idee ist ungefähr, dass man einfach nur ein Stichwort eingibt wie z.B. „Primzahlengenerator“ und man durch die Suchmaschinedann den fertigen Quellcode zurückerhält den man dann in sein Programm nur noch einzufügen braucht. Leider funktioniert diese Idee in der Praxis nicht. Denn meist sind die Codesnippet zu speziell auf das jeweilige Problem zugeschnitten so dass man doch wieder sich manuell mit dem Problem beschäftigen muss um zu verstehen ob man den Codeteil 1:1 übernehmen kann oder ihn zuvor anpassen muss. Und so ist es in vielen Fällen leichter, das entsprechende Codesegment komplett neu zu schreiben.

Wenn es überhaupt ein Verfahren gibt um Softwareentwicklung zu beschleunigen, dann wenn man bereits erstellte Software verwendet. Wenn man also ein Jump'n Run Spiel haben möchte, sucht man sich ein fertig programmiertes Spiel und installiert es oder alternativ verwendet zumindest eine Softwarebibliothek mit der man solche Spiele schneller erstellen kann. „Automatic Programming“ ist beides leider nicht.

Keineswegs soll das bedeuten, dass es prinzipiell unmöglich wäre mit einem Computer das Programmieren zu vereinfachen, beispielsweise sind Hochsprachencompiler wie Java bereits soetwas wie „automatic Programming“ weil man eben nicht mehr in Assembler programmieren muss. Allerdings sollte man sich bewusst machen, dass diese Automatisierung Grenzen hat. Eine Stufe oberhalb von Java Sourcecode zu programmieren ist bis heute nicht möglich. Es gibt zwar viele Projekte in Richtung UML, Softwaremodellierung, Java-Code-Generatoren doch in aller Regel ist nichts davon praxistauglich. Ja schlimmer noch, der Entwicklungsstand bei Mainstream-Programmierern ist sogar noch eine Stufe darunter. Denn immernoch gibt es Leute, die glaubenes würde Sinn machen ein ClosedSource Projekt zu starten, also ein Spiel zu erstellen bei dem der Quellcode anschließend nicht veröffentlicht wird. Weiterhin gibt es nicht wenige Programmierer die glauben, sie könnten mit alternativen Programmiersprachen wie C++, Ruby, oder gar Forth effiziente Programme schreiben. So dass es bereits als Fortschritt und als Zukunftsvision gelten muss, wenn man die Leute zumindest dazu bringt, nur noch in Java zu programmieren.

Eine Vorstufe zu Automatic Programming die erfolgrein in der Praxis funktioniert ist Stackoverflow. Obwohl es fast schon ein Fauxpas darstellt, diese Webseite überhaupt zu erwähnen (wer kennt sie nicht?) sollte man sich vergegenwertigen wie die Welt davor aussah. Vor Stackoverflow war das Wissen bezüglich Programmieren nur in abstrakter Form in Lehrbüchern gespeichert,, wo also allgemein erläutert wurde was ein Algorithmus oder was ein Array ist, und der jeweilige Programmierer musste dann Beispielaufgaben lösen, wollte er das ganze detailierter haben. Dank Stackoverflow hat man zumindest eine Wissensbasis die zumindest theoretisch das Fachwissen von mehreren tausend Programmierern explizit enthält. Im wesentlichen ist Stackoverlow jedoch keine Sourcecode-Datenbank sondern kann als eine Wissenssammlung in natürlicher Sprache verstanden werden. Der

5

Page 6: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

nächst logische Schritt würde darin bestehen, dass Wissen aus Stackoverflow in einem Modell zu speichern, was aber noch Zukunftsmusik ist. Vorstellbar wäre beispielsweise eine Art von IBM Watson der Stackoverflow parsen kann. Ob und wie sowas realisiert werden kann ist derzeit unklar.

Ein interessantes Paper zu dieser Frage ist [Wong2013] https://ece.uwaterloo.ca/~lintan/publications/autocomment-ase13.pdf „AutoComment: Mining question and answer sites for automatic comment generation“ Darin wird ein Verfahren vorgestellt, dass automatisch Kommentare zu Java-Quellcode erstellt.

1.8 Von Neumann-SondenNicht nur die Funktionsweise eines einzelnen Roboters ist interessant sondern auch das Funktionieren von Roboterschwärmen

und die Reproduzierbarkeit von Roboterschwärmen gilt es zu beleuchten. Hierbei ist insbesondere das Konzept einer „Von-Neumann-Sonde“ von Interesse. Wie könnte diese funktionieren? Zunächst einmal landet die Sonde mit einem Einzelroboter auf einem Planeten und dann muss ein bestimmter Prozess ablaufen, so dass das System wächst. So ähnlich vielleicht wie ein Saatkorn was sich erst zu einer Blume und dann zu einem Wald entwickelt. Aber wie genau soll das auf technischer Ebene passieren? Roboter sind mechanisch gesehen meist aus Metall gebaut, denn Metall ist ein stabiler Werkstoff der noch dazu auf der Erde in ausreichender Menge zur Verfügung steht. Demzufolge müsste eine Von-Neumann-Sonde zunächst damit beginnen, Erzlagerstätten zu erkunden um an die Rohstoffe zu gelangen um neue Roboter zu bauen. Da Metallverarbeitung meist über Schweißen erledigt wird, müsste ferner der Ursprungsroboter zumindest ein Schweißgerät bedienen können, will er denn seine Kameraden mit Füßen und Beinen ausstatten.

Zu diesem Konzept der rohstoffbasierten Reproduktion gibt es jedoch eine Alternative und zwar 3D Drucker. Und wie einige Projekte demonstrieren ist es tatsächlich möglich, einen Roboter damit zu erzeugen. Lediglich die Komponenten Elektromotor und Elektronik kann nicht ausgedruckt werden sondern muss extern beschafft werden. Insofern wäre es ausreichend wenn eine Von-Neumann-Sonde einen Vorrat an Motoren und Hauptplatinen mitführt und die Gliedmaßen des Roboters dann vor Ort ausdruckt. Ein 3D Drucker könnte durch Solarzellen betrieben werden. Auf diese Weise kann man sich eine aufwendige Rohstoffexploration sparen und braucht auch keine komplexen Fabriken um Roboter zu produzieren, sondern man druckt die Teile einfach vor Ort aus.

Derzeit sprechen nur zwei Dinge gegen diese Technologie: erstens, sie ist noch sehr neu und zweitens sind 3D Drucker teuer. Allerdings dürften diese Probleme von allein verschwinden, es ist vorstellbar dass in Zukunft der Preis für solche Geräte sinken wird.

Was jetzt noch fehlt, dass ist die Software. Damit ein Roboter einen 3D Drucker bedienen kann um beispielsweise Werkstücke aus dem Gerät zu entnehmen benötigt man hochentwickelte Software. Im Grunde muss die Greifplanung ungefähr auf dem Niveau sein, was auch Menschen vermögen. Denn eines ist sicher, um beim 3D Drucker den Feeder aufzufüllen, den Startknopf zu betätigen und die Plasteteile mit den Motoren zu verkleben bedarf es Fingerspitzengefühl. Aber nur mal angenommen, eine solche Software stünde zur Verfügung, im Grunde hat man damit alles zusammen was man für eine Von-Neumann-Sonde benötigt.

Auch ein 3D Drucker ist kein Zaubertrick. Die Funktionsweise basiert darauf, dass Rohmaterial von einer Rolle entnommen wird und daraus dann die gewünschte Form erzeugt wird. Wenn der Roboter ein Gewicht von 5 kg haben soll, dann müssen diese 5 kg zunächst als Ausgangsmaterial zugeführt werden. Anders als bei den Startrek Replikatoren wird die Materie nicht aus der Luft erzeugt. Dennoch stellen 3D Drucker einen massiven Fortschritt da, weil sie den Prozess der Fertigung vereinfachen.In der Art, dass ein spezifiziertes Verfahren gibt, wie man aus Energie (Strom) und einer Plastikrolle mit den Rohstoffen ein fertiges Produkt (den Roboter) erzeugen kann. Von der Bedeutung her ist es vergleichbar wie die Erfindung der Druckerpresse mit bewegllichen Lettern. Auch dort wurde bekanntlich nicht das Buch erfunden, sondern lediglich dessen Erstellung drastisch vereinfacht.

Aber 3D Printer werfen auch neue Fragen auf: und zwar „wo bekommt man die Motoren her?“ Denn diese Teile können nicht ausgedruckt werden. Es gibt jedoch dazu bereits erste Versuche das Problem zu lösen. Und zwar indem man auch den Motor ausdruckt https://www.youtube.com/watch?v=wZiPAJXnT6M, oder zumindest dessen Hauptkomponenten und lediglich wenige Elemente wie den Magneten oder die Spule extern beschafft. Insofern läuft das darauf hinaus, dass man in der Realität vermutlich niemals 100% eines Roboters wird ausdrucken können sondern immer ein kleiner Restbestandteil von außen zugeführt werden muss.

Wie kann man diesen Prozess verallgemeinern? Es scheint so, als ob eine Von-Neumann-Sonde zunächst einmal eine wissensbasierte Technologie ist. Also nicht konkrete Technologie im Sinne von Schwungrädern oder Legierungen sondern im Sinne einer Anleitung oder von Sourcecode. Um so eine Sonde zu bauen und zu bestücken bedarf es hauptsächlich die passende Software aber auch eine Auflistung darüber wie 3D Drucker dazu verwendet werden können, die Komponenten quasi aus dem Nichts zu erzeugen. Ein wirkliches Perpetum Mobile ist zwar nicht möglich, allerdings dürfte die von außen zugeführte Komponente (Sonnenlicht zur Betreibung der Solarzellen, und Sonnenlilcht um über Pflanzen Plastik zu erzeugen) unbedeutend sein, so dass man in der Summe eine perpetum-mobile-ähnliche Maschine erhält. Und zwar deswegen, weil man (genügend Forschung vorausgesetzt) so eine Sonde wird extrem preiswert bis fast kostenlos wird bauen können.

Das Konzept konsequent zu Ende gedacht, ist es sogar denkbar, dass man auch die übrigen Elemente eines Elektromotors ausdrucken kann. Denn, neuere 3D Printer erlauben es, auch metallähnliche Materialien zu verarbeiten. Denkbar wäre also eine Materialspule welche einen magnetischen Werkstoff enthält, aus dem man dann auch die inneren Teile eines Elektromotors erzeugen kann. So dass man als Zielvorstellung die Von-Neumann-Sonde lediglich mit einigen Spulen aus Plastik und Metall bestückt und damit dann zu 100% Roboter vor Ort erzeugt.

6

Page 7: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

2 Wissenschaftliches Arbeiten

2.1 JabRef Integration in LibreOffice Literaturdatenbanken werden am einfachsten mit JabRef erstellt. Und zwar deshalb, weil man dort bibtex-Einträge als Nurtext

einfügen kann und Bibtex ist das Standardformat was Google Scholar standardmäßig ausgeben kann. Wenn man dann zu PDF-Papern auch noch manuell die passende URL einsetzt hat man bereits alles dafür getan, dass andere die Quellen nachvollziehen kann.

Wenn man die erstellte Jabref Datenbank in Libreoffice weiterverwenden möchte, muss man einiges beachten: Schritt 1: Jabref Datenbank als OpenDocument-Tabelle speichern.

Schritt 2: Datenbank erstellen - Hier erstellt man eine neue LibreOffice Base Datenbank, welche einen Link zur OpenDocument-Tabelle beinhaltet. (Libreoffice -- Datei neu -- Datenbank -- Verbindung zu bestehender Datenbank herstellen) Im Assistenten dann die Datenbank registrieren. Sie ist anschließend unter "Extras -- Optionen -- LibreOfficeBase --

Datenbanken" registriert

Schritt 3: LibreOffice Literaturverwaltung mit neu erstellter Datenbank connecten "Extras -- Literaturdatenbank -- Datenquelle wählen"

7

Abbildung 1: Jabref Export

Abbildung 2: LibreOffice Base Datenbank erstellen

Page 8: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

Schritt 4: Literaturverweis ins Dokument einfügen "Einfügen -- Verzeichnisse -- Literaturverzeichniseintrag"

Schritt 5: Literaturverzeichnis einfügen "Einfügen -- Verzeichnisse -- Verzeichnisse -- Quellenverzeichnis"

Mitunter ist das erstellte Literaturverzeichnis nicht ganz vollständig, weil beispielsweise die URL fehlt. Diese kann man jedoch mit den LibreOffice eigenen Dialogen anpassen.

2.2 Warum nicht einfach mit Word die Phd-Thesis schreiben?

Im Umfeld von Doktorarbeiten, Phd-Thesis und Online-Publikation hat sich im Laufe der Jahre ein merkwürdiger Standard etabliert. Ausgelöst vom Siegeszug des Internets und der damit verbundenen Unix-Computerkultur hat sich eine Ideologie verbreitet die als LaTeX Eingang gefunden hat in das Selbstverständnis von sehr vielen Zeitschriften und gedruckten Diplomarbeiten. Dieser Standard wird überall vorausgesetzt, so gibt es sowohl bei kommerziellen Fachzeitschriften (Springer) als auch bei OpenAccess Portalen wie Arxiv eine nicht thematisierte Übereinkunft zwischen Verlag und Autor, dass die Beiträge selbstverständlich im Format TeX oder wenigstens als LaTeX Dokument einzureichen wären. Erstaunlicherweise ist das keineswegs optional zu verstehen sondern darf als Eintrittshürde interpretiert werden indem Sinne, dass wenn jemand nicht in der Lage ist einen Aufsatz auf Englisch und in LaTeX zu verfassen, er wohl kein richtiger Wissenschaftler sein kann und folglich auch nichts in einer seriösen Zeitschrift zu suchen hat. Als Folge dessen sehen sämtliche Paper die man über Google Scholar findet merkwürdig gleich aus. Es ist dieses typische Einerlei aus Zweispaltensatz in Verbindung mit einer Serifenschrift und der Harvard-Zitationsweise.

8

Abbildung 3: Literaturverzeichnis Datenquelle

Abbildung 4: Literaturverzeichnis in LibreOffice

Page 9: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

Aber ist dieses Layout wirklich noch angebracht, ist LaTeX wirklich so überragend, dass es als Standard funktioniert? Oder handelt es sich nicht eher um eine überholte Attitüde die vielleicht früher einmal sinnvoll war, inzwischen jedoch als überholt gilt? Fakt ist, dass es offenbar keine inhaltlichen Gründe gibt, warum ein mathematisches Paper in TeX gesetzt werden müsste, einen Gedankengang des Autors kann man auch genauso gut verfolgen, wenn dieser MS-Word verwendet um die Formeln zu plotten. Und auch vom Erstellungsprozess des Dokumentes ist LaTeX keineswegs allen anderen Textsatzsystemen überlegen. Und durchgesetzt hat es sich auch nicht. Vielmehr glauben sowohl Fachverlage als auch Autoren dass es sich durchgesetzt hat, oder zumindest wollen sie es glauben.

Bei Lichte betrachtet ist die Verwendung von LaTeX jedoch nichts besonderes, sondern in wissenschaftlichen Studiengängen wird man geradewegs dazu gedrängt diese Software zu verwenden. Vielmehr hat es etwas damit zu tun, dass viele Autoren gar nicht wissen, wie man mit MS-Word oder einer vergleichbaren Software eine lesbare wissenschaftliche Abhandlung erstellt. Und sie wollen es auch nicht wissen. Das wird dann hinter einer überheblichen Attitüde versteckt, wonach Word-Benutzer allesamt keine Ahnung hätten und man mit LaTeX viel schneller zum Ziel käme. Die Wahrheit ist, dass die einzige Gruppe die sich endlos lange mit Nebensächlichkeiten wie Layoutfragen, Schriftformatierung und Silbentrennung beschäftigt und demzufolge weniger Zeit für den Inhalt hat, die Freunde von Donald E. Knuth sind. Man mag es kaum glauben, aber wenn man zielgerichtet darauf hinarbeiten möchte, dass die eigene Doktorarbeit an Layoutfragen scheitert, der sollte sich LaTeX näher ansehen. Und wenn man sich einige Veröffentlichungen so anschaut, so gewinnt man den Eindruck, dass dort keine Mathematiker, Physiker oder Geisteswissenschaftler publiziert haben, sondern verkappte Buchdrucker. So perfekt sehen die TeX Dokumente aus.

Das darf man jedoch nicht mit der Güte der Software verwechseln, sondern aufgrund der hohen Anzahl von Literatur zum Thema LaTeX und den stark frequentierten Mailinglisten darf man davon ausgehen, dass man ein LaTeX Dokument nur dann perfekt hinbekommt, wenn man sehr viel Zeit in Formatierungsfragen investiert und sich nicht zu schade ist eigene Makros zu schreiben. Und diese Zeit fehlt dann für die eigentliche Recherche zum Thema oder für inhaltliche Fragestellungen.

Im Gegensatz dazu sehen die Arbeiten von MS-Word aus typographischen Aspekten abenteuerlich aus, aber man kann zumindest sagen, dass der Aufwand dafür dann maximal 30 Minuten war. Denn Word beinhaltet eine Autoformat Funktion, welche wirklich nur zwei Mausklicks erfordert und schon hat man einen Text, der sich äußerlich sehr stark von einem LaTeX Dokument unterscheidet.

2.3 LaTeX ohne NotWoran liegt es eigentlich, dass alle die LaTeX bedienen können es auch einsetzen? Ist es etwa Stolz auf die eigene Leistung,

der Wunsch zu einer Gemeinschaft dazuzugehören oder ist es einfach fehlendes Selbstbewusstsein? Wir wissen es nicht. Fakt ist, dass man als Word wie auch als LibreOffice User sich dem imaginierten oder tatsächlichen Spott jener Zunft aussetzt, die Bescheidwissen. Denn das erste was man zu hören bekommen wird ist, dass die Diplomarbeit oder was immer man gerade geschrieben hat,schon allein aus formalen äußeren Gründen nicht den Anforderungen genügt und es deshalb die Zeitschrift, der Betreuer oder wer auch immer gar nicht für nötig hält sich mit dem Inhalt eingehender zu beschäftigen. So gesehen wird der Umgang mit LaTeX als eine von Schlüsselkompetentz definiert, auf der aufbauend dann die eigentliche Wissenschaft stattfindet. Und das dürfte dann auchder Grund dafür sein, dass alle die den Unterschied zwischen dvips und pdflatex kennen, dann auch LaTeX für ihre eigene Arbeit einsetzen. Und so reproduziert sich ein Glaubenssystem von alleine.

Diese virale Funktion ist auch bei der Linux-Community zu beobachten die dazu führt, dass die Leute nicht nur sich mit Linux befassen, sondern anschließend auch nicht mehr zu Microsoft Windows zurückwollen. Das kann jedoch nur als Fehler bezeichnet werden, weil man so ohne Not Gräben errichtet. Ideologische Gräben, die keine andere Funktion besitzen, als sich abzugrenzen und durch Halbwissen zu brillieren.

Fakt ist eines, wenn man den Maßstab für die äußere Form einer wissenschaftlichen Arbeit an LaTeX festmacht, dann verkleinert man den Kreis derjenigen, die eine solche Arbeit erstellen können. Kurz gesagt, all jene die nur mit MS-Word klarkommen und aus welchen Gründen auch immer nicht umsteigen wollen, werden nicht mehr als richtige Wissenschaftler wahrgenommen. Welche Wissenschaft kann sich derartiges leisten? Doch nur eine Disziplin, die schon alles weiß und an neuen Impulsen nicht interessiert ist. Eine Wissenschaft die glaubt, auf „Word-only-User“ verzichten zu können.

Natürlich wäre es grob fahrlässig eine Arbeit abzulehnen, nur weil sie mit LaTeX erstellt wurde (das wäre dann eine umgekehrteDiskriminierung). Sondern die einzig richtige Antwort besteht darin, dass man Toleranz zeigt und zwar insbesondere gegenüber dem was neu ist. Neu für den Wissenschaftsbetrieb ist es beispielsweise, wenn jemand in den harten Naturwissenschaften wie Physik oder Informatik weder mit troff noch mit „lout“ arbeitet, sondern einen grafischen Formeleditor verwendet und zwar von einem Mainstreambetriebssystem. Und das eine solche Arbeit gleichberechtigt neben all den in LaTeX gesetzten Werken steht ohne dass sich jemand daran stören würde.

Gleichzeitig wäre es sicherlich eine gute Übung in Toleranz, wenn all jene die sich mit LaTeX auskennen oder sogar Profis darinsind, eben nicht mit ihrem Lieblingsprogramm arbeiten, sondern sich ganz bewusst für eine andere Perspektive entscheiden. Denn wer weiß, vielleicht kann man dadurch ja etwas lernen …

2.4 LaTeX vs. LibreOffice WriterLaTeX besitzt nach Aussage ihrer Anhänger eine Reihe von Alleinstellungsmerkmalen, wobei das wichtigste wohl die Trennung

zwischen Inhalt und Layout ist. Das bedeutet, dass die Arbeitsschritte „Erstellen eines Textes“ und „Formatieren eines Textes“ voneinander getrennt sind. Hierbei wird unterstellt, dass dies bei WYSIWYG Textverbeitungssystemen mit grafischer Oberfläche nicht der Fall wäre, weil man während dem Schreiben ja die Möglichkeit hätte, Textzeilen als fett zu markieren und man im Grunde

9

Page 10: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

Inhalt und Form miteinander mischt. Aber trifft diese Annahme wirklich zu? Wenn man als Anfänger LibreOffice Writer benutzt vielleicht. In der Tat ist die Versuchuhg groß, Überschriften oder ähnliches manuell zu formatieren, also die Schriftgröße zu erhöhenmit der bekannten Folge, dass es im späteren Verlauf unmöglich wird, das Gesamtdokument einheitlich zu formatieren. Nur, wer sich ein klein wenig näher mit LibreOffice Writer beschäftigt wird entdecken, dass dort mit den Formatvorlagen ein ähnliches Konzept vorhanden ist wie bei LaTeX auch: die Trennung von Inhalt und Formatieren. Die Verwendung einer Formatvorlage bedeutet nichts anderes, als dass man mit einem Tastendruck den gesammten Fließtext auf eine andere Schriftart umstellen kann, ohne manuell jeden Absatz einzeln zu verändern. Ebenso kann mit einem Tastendruck sämtliche Bilder um 90 Grad nach rechts drehen, egal ob sich in dem Dokument ein Bild oder 100 Bilder befinden.

Dieses Prinzip wird in der offiziellen Anleitung an prominenter Stelle beschrieben, dennoch hat es sich offenbar nicht bis zur LaTeX Community durchgesprochen. Sondern unter LaTeX Users gilt noch immer die Annahme, dass sowohl Word als auch Libreoffice Writer keine semantische Auszeichnungen erlauben würde. Vergleicht man hingegen nüchtern die Herangehensweise miteinander so wird man erkennen, dass die semantische Auszeichnung in LibreOffice Writer sogar höher entwickelt ist, als bei LaTeX. Beispielsweise gibt es bei LibreOffice standardmäßig eine Umgebung namens „Quelltext“ die man einfach per Zuweisung an einen Textabscnitt übermittelt. Wollte man hingegen bei LaTeX Sourcecode einbinden, so muss man sich zunächst einmal für eines der zahlreichen Zusatzpakete entscheiden und wird sich durch dutzende englischsprachige Handbücher quälen müssen, bis man herausgefunden hat, wie man den Quelltext dann in einer anderen Schriftart einstellt oder gar mit einem Rahmen versieht.

Insgesamt lässt sich festhalten, dass die Überlegenheit von LaTeX gegenüber anderen Textsystemen wohl nur eine Wunschvorstellung darstellt und lediglich in den 1980'er noch gültig war, inzwischen jedoch die Desktop-Textsysteme aufgeholt haben und inzwischen wohl zurecht als die professionelleren Systeme gelten.

Dennoch muss man LaTeX zugute halten, dass man dort auch als Einsteiger gar nicht die Möglichkeit hat, auf semantische Auszeichnung zu verzichten. Anders als Libreoffice Writer kann man nicht erst in die Verlegenheit kommen, das Programm falsch zu bedienen, sondern wird zwangsläufig einen Absatz als Absatz formatieren und nicht etwa als „Times New Roman 10 pt“. Insofern ist gerade für Einsteiger in den automatisierten Textsatz LaTeX keine schlechte Sache.

Worin LibreOffice besonders stark ist, dass ist Mischung aus konsistentem Layout einerseits (man kann das Dokument tatsächlich sachlich formluieren in nur einer Schriftart und wenig Gimmicks) andererseits jedoch die Möglichkeit in diesen biederen Stil manuell einzugreifen und beispielsweise im Dreispaltensatz Layouttechnisch eine Modezeitschrift nachzuahmen wo ein Bild sich auch mal über zwei Spalten erstreckt oder lose an den Text anstößt Kurz gesagt, LibreOffice Writer ist für beides geeignet: seriöse wissenschaftliche Publikation wie auch grafiklastige Magazine.

Natürlich soll das nicht heißen, dass LibreOffice Writer perfekt wäre, ganz im Gegenteil sogar. Es enthält zahlreiche Bugs. Beispielsweise stürzt die Software gerne mal ab, manchmal wird aus unbekannten Gründen die Druckvorschau nicht angezeigt, dann verschwindet der Speichern Button und zu guter letzt ist sich die Anleitung uneinig darüber ob sie nun das Programm Sun-Office, OpenOffice oder LibreOffice gerade beschreibt. Es gibt jedoch auch einen nicht zu unterschätztenden Vorteil, und zwar befindet sich LibreOffice in aktiver Entwicklung, was bedeutet, dass mit ein wenig abwarten die Bugs vielleicht mit der nächsten Version von alleine verschwinden. Und genau hier weißt LaTeX einen eklatanten Mangel auf. Denn bekanntlich ist LaTeX ja in der Entwicklung abgeschlossen und nach Aussage von Donald Knutz absolut fehlerfrei (wer dennoch einen Bug findet, die Geschichte ist hinlänglich bekannt). Nur hat diese Attitüde leider den Nachteil, dass es bedeutet, dass heutige Unzulänglichkeiten für alle Ewigkeiten bestehen bleiben und nur noch über Workarounds behoben werden können, was mit ein Grund dafür sein dürfte, dass es allein zum Einbinden von Sourcecode folgende Packages gibt:

• Listings

• minted

• verbatim (nativ)

• lgrind

2.5 Exportmöglichkeiten von LibreOffice WriterVon LaTeX heißt es, das einmal erstellte Dokument wäre beliebig konvertierbar in jedes andere Dokumentenformat, weil die

verwendete Auszeichnungssprache aus ASCII bestünde und es deshalb leicht sei, dafür Exportfilter zu programmieren. Tatsächlichist es durchaus möglich, mit Hilfe von AWK oder Perl derartige Filter zu programmieren um beispielsweise LaTeX nach nur-Text zu konvertieren. Wenn man jedoch ganz konkret nach einer Möglichkeit sucht, wie man mal eben schnell eine Textdatei, eine Word-Datei oder ein HTML Dokument aus einer LaTeX Vorlage erzeugt, so wird man feststellen dass die vorhandenen Filter entweder veraltet sind oder keine guten Ergebnisse produzieren. Defacto ist es fast unmöglich aus LaTeX ein HTML Dokument zu generierenwodurch sich eine Art von Marktlücke gebildet hat, in die Programme wie Docbook, Asciidoc oder lout vorstoßen, die das entweder können, oder zumindest versprechen besser zu sein als LaTeX. Von den LaTeX eigenen Tools wie Latex2html, tth oder tex4ht soll an dieser Stelle gar nicht die Rede sein.

Und wie sieht es im Vergleich dazu bei LibreOffice aus? Bekanntermaßen ist auch der dort verwendete HTML Exportfilter alles andere als perfekt, in jeder neuen Version müssen Fehler ausgemerzt werden. Aber dennoch kann man damit halbwegs stabile Resultate erzielen, in der Art dass der Anwender sich darauf verlassen kann, über „File → Save as HTML“ eine zufriedenstellende Datei zu erhalten die er so wie sie ist ins Internet stellen kann. Der Grund dafür dürfte sein, dass LibreOffice ähnlich wie LaTeX intern eine semantische Auszeichnungssprache verwendet die auf dem XML Format basiert und es deshalb möglich ist, diese auchin andere Dateiformate zu konvertieren. Hier mal ein Ausschnitt aus der LibreOffice XML Syntax:

<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start

10

Page 11: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

text:name="__RefHeading__323_738441252"/>LaTeX vs. LibreOffice Writer<text:bookmark-end text:name="__RefHeading__323_738441252"/></text:h><text:ptext:style-name="P15">LaTeX besitzt nach Aussage ihrer Anhänger eine Reihe von Alleinstellungsmerkmalen, wobei das wichtigste wohl die Trennung zwischen Inhalt und Layout ist. Das bedeutet, dass die Arbeitsschritte „Erstellen eines Textes“ und „Formatieren eines Textes“ voneinander getrennt sind. Hierbei wird unterstellt,

Wie erwähnt, ist das System alles andere als Perfekt, aber zumindest hat man eine gute Basis an die man sich andocken kann. Und anders als bei LaTeX befindet sich sowohl die XML-Syntax als auch das LibreOffice Projekt ingesamt in kontinuierlicher Entwicklung, was bedeutet, dass man erwarten kann dass der HTML Exportfilter in 6 Monaten besser funktionieren wird als aktuell.

Umgang mit Fehlern

Interessant ist auch die unterschiedliche Fehlerkultur in LaTeX und in LibreOffice Writer. Bei LibreOffice wird bugzilla verwendet worin aktuell exakt 49 Bugs gespeichert sind die etwas mit Exportproblemen nach LaTeX zu tun haben. Bei LaTeX hingegen gibt es einen http://en.wikipedia.org/wiki/Knuth_reward_check und falls man in einem der Erweiterungen wie z.B. amsmath einen Fehlerfindet, dann kann man dem Autor eine E-Mail schreiben, wenn das Projekt überhaupt noch gepflegt wird.

Hierbei ergibt sich folgende Frage: Ist es ein Fehler, den man Donald Knuth melden kann, dass LaTeX nicht in der Lage ist Dreispalten-Satz darzustellen? Und wenn es kein Fehler ist: wieso gibt es dann trotzdem einen Missmatch zwischen der Anforderung „Dreispaltensatz“ einerseits und der fehlenden Funktionalität in LaTeX diese Anforderung zu erfüllen? Offenbar ist die Definition von Bugs wie sie Donald Knuth versteht eine andere, als in der agilen Softwareentwicklung …

2.5.1 BunkermentalitätMan möchte glauben, Computeranwender wäre per se imun gegen konservative Lebenskonzepte weil der Computer an sich ja

bereits für Innovation steht. Tatsächlich dürfte genau diese Annahme selbst wiederum überholt sein, denn mal ehrlich: Wann warenComputer etwas neues? Doch nur, wenn man von einer Zeit ausgeht wie den 1980'er, als die ersten Heimcomputer aufkamen. Dasheißt, es ist per heute schon wieder 30 Jahre her, als Computer einmal per se für Innovation standen. Und so konnte es passieren, dass sich innerhalb des Computerlagers erstaunlich viel Konservatismus ausgebreitet hat, der in seiner schlimmsten Form Innovation verhindert und einer Bunkermentalität entspricht. Nicht nur Windows XP gehört dazu, auf das viele Anwender immernoch schwören, aus Angst bei einem Umstieg auf alternative Betriebssysteme nicht mehr gegen Viren geschützt zu sein, undgerade jetzt ein Umstieg ohnehin nicht in Frage kommt, weil man keinerlei Risiken eingehen kann, sondern auch im Linux-Lager selber hat sich eine hartnäckige krustenartige Struktur gebildet aus LaTeX Fetischisten. Diese tummeln sich überwiegend im Usenet unter der URL „de.comp.text.tex“ und verhandeln dort ihre Einstellung zu der als feindlich erlebten Außenwelt und wie man sich davor schützen kann. Nicht ganz zufällig sind Threads wie „LaTeX vs. Word“ hoch frequentiert weil es im Kern darum geht, alsnützlich erlebte Traditionen gegen alles neumodische zu verteidigen. Man kann sagen, das gesamte LaTeX Universum mit seiner eingefrorenen TeX-Implementierung und dem Widerstand gegen alles moderne ist eine Brutstätte für paranoide Vorstellungen wonach angeblich Diplomarbeiten oder wissenschaftlichen Arbeiten mit jedem anderen Tool außer LaTeX zum scheitern verurteilt sind, weil dort Bilder unkontrolliert verrücken oder Schriftarten nicht gefunden werden. Tatsächlich geht es der LaTeX Community schon lange nicht mehr um Typographie, sondern es geht um eine besondere Form von Typographie und zwar eine, die Ende der 1970'er einmal aktuell war als LaTeX gegenüber der Schreibmaschine einen massiven Vorteil brachte. Und in dieser Welt leben dieUntergebenen von Donald E. Knuth heute immernoch, was praktisch dazu führt, dass sie stundenlang am LaTeX Sourcecode herumschrauben, um über Workarounds fehlende Funktionalität nachzurüsten, gleichzeitig jedoch behaupten, man könnte Zeit sparen, wenn man LaTeX gegenüber Word vorzieht.

Rein objektiv betrachtet ist jedoch Word bzw. LibreOffice Writer die beste Methode eine Diplomarbeit zu erstellen. Denn dort muss man nichts weiter tun, als seinen Text hineinzutippen, und on-the-fly Formatvorlagen zuzuweisen. Also Word zu sagen: „das da ist eine Überschrift der Ebene 1, das da ist Sourcecode und das da ist ein Bild“. Und wenn man jetzt wirklich noch das Standformat verändern muss, wird nach einem Mausklick das komplette Dokument neu und einheitlich formatiert was nicht nur schnell geht sondern auch noch allen Anforderungen gerecht wird. Dennoch bleiben viele LaTeX Jünger in ihrer Welt und würden in100 Jahren nicht umsteigen, aus Angst sich in der Welt von Word nicht mehr zurechtzufinden. Denn außerhalb des Bunkers befindet sich definitionsgemäß ja Feindesland und wer sich dort hinauswagt wird den Rückhalt verlieren.

2.6 Wissenschaftliche RechercheWissenschaftliches Arbeiten bedeutet zuallererst zu recherchieren. Der wichtigste Unterschied zwischen einem Prosatext und

einem wissenschaftlichen Text ist, dass bei letzterem eine Bibliothek benutzt wurde. Keineswegs sollte der Fehler gemacht werden,wissenschaftliches Arbeiten allein über formelle Gesichtspunkte zu verstehen, also die Frage ob in der fertigen Arbeit ein Literaturverzeichnis vorhanden ist und wenn ja, wie es formatiert wurde. Genausogut kann man das Literaturverzeichnis weglassen. Wichtig ist vor allem wie man auf die Gedanken gekommen ist, die man dann äußert. Aber wie geht Recherche? Zunächst einmal benötigt man einen Webbrowser oder etwas vergleichbares um damit Google Scholar zu befragen. Zweitens benötigt man ein Mindmapping-Tool um die Querverbindungen zu ordnen und neue Fachbegriffe in Beziehung zu setzen. Egal zu welchem Thema man arbeitet wird man im Laufe der Literaturrecherche sehr viele Fremdwörtern begegnen, welche das Themengebiet nicht nur klar umschreiben, sondern auch als Einstiegspunkt für weitere Nachforschung dienen. Im Grunde heißt Recherche vor allem, dass man die Fachsprache des Themas lernt, für das man sich gerade interessiert. Neben einem

11

Page 12: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

Webbrowser und einem Mindmap Tool benötigt man noch eine Literaturdatenbank wie z.B. Bibtex um gute Fundstellen zu ordnen. Alernativ reicht auch eine Bookmark-Liste im Webbrowser aus, wenn man sie dann nach Kategorien unterteilt. Damit hat man bereits das wichtigste Handwerkszeug beisammen.

Bei der eigentlichen Recherche benutzt man Mindmapping-Tool und Literaturdatenbank dazu um neues Wissen übersichtlich abzulegen. Im Grunde funktionieren diese Werkzeuge ähnlich wie Spickzettel aus der Schule: auf minimalem Platz und mit möglichst wenig Aufwand soll alles wichtige untergebracht werden. Und idealerweise kann man nach dem Notieren des Spickzettels diesen dann auch wieder vernichten weil man es schon durch das Notieren sich das meiste davon gemerkt hat. Und so sollte man es auch beim wissenschaftlichen Arbeiten halten, dass nämlich Mindmaps und Literaturverzeichnis keineswegs für jemand anderes erstellt werden, sondern nur für einen selber. Und man kann sie in der fertigen Arbeit ebenfalls gefahrlos weglassen, ohne dass dadurch die Arbeit an Wert verlieren würde. Denn wissenschaftlich gearbeitet hat man ja trotzdem, selbst wenn das in der Selbstverpflichtungserklärung gar nicht drinsteht.

Natürlich ist das in veröffentlichten wissenschaftlichen Arbeiten eher die Ausnahme. Meist protzen die Autoren regelrecht damit, wie intensiv sie zu einem Thema recherchiert haben und führen Unmassen an Literatur an. Und zumindest immer dann, wenn der Text inhaltlich interessant ist, darf man davon ausgehen, dass der Autor die Werke tatsächlich alle gelesen hat und sie eben nicht nur zum Spaß aufgeführt sind. Vielleicht klingt das Oberflächlich so, als ob sich die Autoren besonders viel Mühe gegegeben haben, tatsächlich war es jedoch genau umgekehrt. Je mehr man recherchiert, desto weniger muss man selber denken. Und obwohl alle danach streben etwas neues zu sagen, ist es häufig schon eine Hilfe wenn jemand den aktuellen Forschungsstand gut zusammenfasst. Das ist keineswegs eine triviale Aufgabe, sondern kann bereits dem Anspruch einer Dissertation oder eines Physik-Nobelpreises gerecht werden.

3 BEAM RoboticsIm Jahr 1995 hat Mark W. Tilden einen Aufsatz veröffentlicht mit dem Titel „Living machines“ der auf 37 Seiten ein Konzept

darstellt, was allem wiederspricht was man zuvor unter der Bezeichnung „Künstliche Intelligenz“ gekannt hat. Der Hauptunterschied dürfte wohl darin bestehen, dass es keineswegs ein neuer Roboter oder eine Programmiersprache ist, die Tilden da beschreibt, sondern im Grunde ist „Living Machines“ ähnlich wie „Linux from Scratch“ als eine Bauanleitung zu verstehen wie man selbst zu den beschriebenen Robotern gelangen kann. Im wesentlichen geht es darum, dass man die Elektromotoren aus alten Kassettenspielern ausbauen soll, Solarzellen in einem Internet-Shop für 5 US$ das Stück bestellt und dann mit etwas Begeisterung daraus dann einen Light-seeker Walker selbst zusammenbaut. Ebenfalls in dem Aufsatz ist ein kurzer Abschnitt über „Soft Machines“:

„A soft machine is a biologically based concept in which the machine forms its behavior through interactions with a complex and a priori unknown environment.“

Kritiker von Tilden behaupten, er wäre gar kein Erfinder weil die selbstgebauten Roboter weder innovativ sind, noch eine eigenständige Leistung darstellen. Im wesentlichen ist BEAM Robotics so ähnlich wie normale Robotik, nur eben dass Dinge wie Microcontroller oder eine Steuerungssoftware fehlen. Dennoch hat dieses Konzept bis heute viele Nachahmer gefunden und ist keineswegs kompletter Blödsinn, wie man vielleicht glauben mag.

Wollte man das Konzept von Tilden jedoch als Pseudowissenschaft beschreiben, würde man das wesentliche nicht erfassen. Sondern was Tilden in Wirklichkeit erfunden hat ist ein Entwicklungsmodell das Fehler zulässt. Was ist damit gemeint? Damit ist gemeint, dass die ursprünglichen BEAM Walker rein technisch betrachtet nichts anderes waren als Pseudozufallsgeneratoren. Die intern verbauten Steuerungsgeneratoren erzeugen mathematisch gesehen ein weißes Rauschen. Dennoch hat Tilden den Mut derartige Systeme als lebendig zu präsentieren. Tilden sagt, das muss so sein und untersucht wie sich eine derartige Minimal-Maschine in einer Umwelt verhält. Natürlich auf unvorhersehbare Art und Weise, es ist so ähnlich als wenn man ein Zufallsexperiment durchführt. Was jedoch viel spannender ist als der Ausgang des Experiments selbst ist die Tatsache dass er zunächst einmal durchgeführt wird.

Die eigentliche Leistung von Tilden bestand darin, sich nur um eine Basis-Funktionalität von Roboter gekümmert zu haben. Mark W. Tilden hat eine Antwort auf die Frage gegeben, wie man mechanisch einen sehr simplen Roboter baut. Natürlich ist absehbar, dass damit das Gesamtproblem noch nicht gelöst wird, aber immerhin hat Tilden ein Detailproblem zufriedenstellend gelöst. Und dieses Prinzip ist typisch für die Bottom Up Robotic: anstatt sich mit dem großen Problem der Künstlchen Intelligenz zu beschäftigen und dan einzugestehen, dass man gescheitert ist, pickt man sich einfach ein Detailproblem heraus und löst dieses vollständig. Soll doch jemand anderes die noch fehlenden Dinge erfinden.

3.1 Zehn Jahre danachSeit der Vorstellung des ursprünglichen BEAM Robotic Konzeptes sind schon einige Jahre vorübergezogen. Es ist Zeit für einen

kurzen Rückblick. Zunächst einmal fällt auf, dass das Thema auch heute noch sehr aktuell wirkt. Und das, obwohl es inzwischen längst andere low-cost-Roboter gibt wie z.B. von Wowwee oder von Lego. Das faszinierende an BEAM ist vermutlich, dass einerseits die Elektronik konkurrenzlos preiswert ist und zum Zweiten die erstellten Roboter sich organisch in ihre Umgebung einfügen. Aber der eigentliche Nutzen ist vermutlich, dass man mit ein bisschen Phantasie eine Vorstellung davon erhält, wie die Zukunft einmal aussehen könnte. Heutige BEAM Roboter verfügen über keine CPU und können sich in ihrer Umwelt nicht wirklich zurechtfinden. Anders als die Beschreibung vermuten lässt, sind sie keineswegs in der Lage sich über Hindernisse zu bewegen oder selbstständig ihren Akku aufzuladen. Sondern im Grunde besitzen sie keinerlei Intelligenz und mit mit BEAM Roboter

12

Page 13: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

entstandene Videos sind komplett inszeniert. Das heißt man nimmt mherere Einstellungen auf, und wenn auf einer zufällig der Lauforoboter über ein Hinderniss steigt ohne dabei umzufallen, dann stellt man das ins Internet. Aber, und das macht die eigentliche Faszination aus, können BEAM Roboter als Prototyp für höherentwickelte Roboter wie z.b. „Littledog“ oder „Spot“ verstanden werden. Beide Systeme verfügen über leistungsfähige Onboard-CPUs und wurden explizitit programmiert. Die Idee ist nun ungefähr, dass man einfach ein sehr leistungsfähiges Programm entwickelt, das auf einen Low-Cost, EPROM draufbrennt und damit den BEAM Roboter steuert. Wenn man die Software einmal erstellt hat kann man dann für weniger als 1 US$ pro BEAM Roboter tatsächlich eine Roboterkolonie aufbauen.

Kurz gesagt, BEAM Robotic spielt mit der Möglichkeit wie eine Welt aussähe, in der so eine Software bereits vorhanden wäre. Also Sourcecode der in der Lage ist, aus primitiven Motoren und einer primitiven Kamera genug Informationen herauszuholen um damit den BEAM Roboter so zu steuern, als wäre es eine Robot-Heuschrecke, also ein digitales Insekt was über Fähigkeiten verfügt wie sie normalerweise nur bei den Borg aus Startrek anzutreffen sind.

Wie müsste so eine Software aussehen? Im Grunde wäre es eine Art von Weak AI, welche den Beam-Roboter-Schwarm so ansteuert wie bei Starcraft AI verlangt nur eben mit mehr Intelligenz. Dadurch würden die Aktionen der Roboter nicht mehr rein zufällig als weißes Rauschen entstehen, sondern plötzlich wäre eine echte Intelligenz dahinter.

4 Computervision

4.1 Nur Stress mit SLIC SuperpixelLaut Google ist es möglich mithilfe der Fiji-ImageJ-Distribution sogenannte SLIC Superpixel berechnen zu lassen um damit

State-fo-the-art Bildsegmentierung durchzuführen. Eigentlich ist Fiji eine Software für die Life-Sciences, aber nichts spricht dagegen es auch für die Auswertung von Computerspiele-Grafiken zu verwenden. Also dann frisch ans Werk und fiji heruntergeladen. Nach gut 170 MB Download kann man das Java-Programm ganz einfach über „./ImageJ-linux64“ auf der Kommandozeile starten. Dort wird als erstes über „Help – Update“ ein Komplettupdate ausgeführt, und anschließend über „Help – Updates – Manage update sites“ die Seite „CMP-BIA“ ausgewählt wo es das begehrte „SLIC Superpixel Plugin“ gibt. Nach einem Neustart von Fiji kann man über das Menü „Plugin – Segmentation – jSLIC Superpixel“ besagtes Tool auswählen.

Was zeigt das Screenshot? Zunächst einmal natürlich das Computerspiel OpenRA und von diesem wurde eine Superpixel-Berechnung durchgeführt. Als Einstellung wurde dabei „Color Segmentierung“ ausgewählt. Leider überzeugt das Ergebnis nicht ganz, zwar wurden schöne Superpixel erzeugt, allerdings nicht so wie es semantisch korrekt wäre. Eigentlich müsste die freie Rasenfläche als ein großer Superpixel erscheinen und die Gebäude jeweils kleinere. Offenbar hat das „jSLIC“ Plugin einfach über einen simplen Color-Parameter versucht, das Bild in Segmente zu zerlegen. Leider lässt sich dieser Parameter weder anzeigen noch ändern. So dass man das Tool allenfalls als Einstieg in die Thematik verstehen kann, um darauf aufbauend eigene Berechnungen anzustellen.

Update: Wenn man sich mit der Funktionsweise von SLIC Superpixel etwas näher beschäftigt wird man erkennen, dass die gewählte Aufteilung in Cluster bereits optimal ist. Es ist zwar richtig, dass SLIC nicht in der Lage ist, den „Fog of War“ links im Bild als einheitliches Segment und damit Superpixel zu identifizieren aber das ist auch nicht die Aufgabe. Viel wichtiger ist stattdessen (und das sieht man nach einer Vergrößerung des Übergangsbereiches zwischen „Fog of War“ und „Rasen“ als Kante erkannt wurde, und die Form der Superpixel sich daran anpasst. Was man im nächsten Schritt tun müsste (und das ist nicht mehr Aufgabe von SLIC Superpixel) wäre es zu bestimmen, welche der Superpixel zu einem Objekt gehören und welche nicht. Würde man beispielsweise alle Superpixel filtern die eher schwarz sind und zusätzlich alle Superpixel die dunkelgrün sind, dann hätte man bereits die Hauptbereiche „Fog of War“ und „Gras“ als Bereiche segmentiert und zwar bis auf die Kante genau.

13

Abbildung 5: Fiji SLIC Superpixel

Page 14: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

4.2 Bug: Stitching geht bei ImageJ/Fiji nichtEigentlich ist laut dem Handbuch die Grafiksoftware ImageJ/Fiji mit einem leistungsfähigen Stitching-Plugin ausgerüstet mit

dem man vollautomatisch Bilder zu einem Panorame zusammensetzen kann. Das ist nützlich wenn man überlappende Aufnahmen von einem Mikroskop auswerten möchte, oder auch wenn man bei OpenRA ein Gesamtkarte erzeugen möchte. Leider funktioniert dieses Plugin in der Praxis nicht. Stattdessen muss man die Einzelbilder per Hand zusammenschieben.

Vielleicht etwas konkreter: von OpenRA werden im Schritt 1 vier Einzelscreenshots aus unterschiedlichen Bildschirmbereichen als PNG Files auf der Festplatte gespeichert:

Im Schritt 2 werden diese dann mit dem Stitching-Plugin als Gesamtbild gerendert:

Das Resultat sieht zwar ordentlich aus, allerdings hat nicht das Plugin die Anordnung übernommen, sondern das musste man manuell machen. Damit man eine solche Funktion in einem Aimbot einbauen kann, reicht jedoch eine halbautomatische Lösung nicht aus. Sondern die Anforderung lautet, dass man im Laufe von 1 Minute durch hektisches Herumscrollen auf der Map rund 20 Einzelscreenshots hat, und diese dann vollautomatisch zu einer großen Map zusammengesesetzt werden. Und obwohl ImageJ/Fiji einen diesbezügliches Plugin besitzt, wird man es in der Praxis wohl nicht nützen können, sondern die Funktionalität nochmal neu in Java programmierne müssen. Dafür benötigt man zwei Funktionen: einmal eine Funktion, um Bilder zusammenzusetzen, dass man also nur die Koordiaten angibt um ein großes Bild zu erhalten, und zum Zweiten eine Funktion, um die Koordinaten zu erkennen, also an welche Stelle die Bilder gehören.

4.2.1 Superresolution wozu?Natürlich stellt sich die berechtigte Frage wozu man Stitching überhaupt benötigt und ob man nicht einfach darauf verzichten

könnte? Und richtig, eine Künstliche Intelligenz könnte auch Entscheidungen treffen, ohne das Gesamtbild zu kennen sondern nur einen kleinen Ausschnitt. So funktionniert beispielsweise der Wettbewerb Robocup Soccer, wo jeder Spieler auch nur das sieht,

14

Abbildung 6: Stitching Einzelbilder

Abbildung 7: Stitching Gesambild

Page 15: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

was seine eigene Kamera gerade anzeigt. Auf diese Weise spart man sich eine Menge an Programmieraufwand. Beispielsweise müsste man für ein Komplett-Mosaic des gesammten OpenRA Spielfeldes schätzungsweise eine Auflösung von 10000x10000 Pixel einplanen, was massiv Speicher im RAM belegt. Auf der anderen Seite wäre es geradezu eine Verschwendung von Chancen wenn man Screenshots (obwohl sie von unterschiedlichen Stellen der Karte geschossen werden) nicht zu einem Gesamtbild mergen würde. Stattdessen ist zu erwarten: je besser die Ausgangskarte, desto besser werden auch darauf aufbauende Algorithmen funktionieren, die bespielsweise konkrete Taktiken planen sollen. Es kann also nichts schaden, wenn der Aimbot (welcher bisher nur auf dem Papier existiert) eine Art von Superresolution verwendet, also vor dem inneren Auge das Gesamtbild sehen kann.

4.3 Einführung in das HelioS FrameworkUnter dem Namen „HelioS Framework, ArtificialAiming“ gibt es auf Youtube zahlreiche Beispielvideos welche die

Funktionsweise eines Aimbot demonstrieren. Recherchiert man zu diesem Programm etwas näher, stößt man auf ein Internet-Forum was dem Computerundergrund zuzuordnen ist, wo man gegen Geld diese Cheating-Software bestellen kann. Laut Ausage der Hersteller kann man damit First-Person-Shooter wie GTAV, Battlefield oder Americas Army teilautomatisieren. Und diese universelle Einsatzbarkeit dürfte dann auch den Erfolg dieser Software ausmachen. Wie das Programm intern funktioniert ist leider nicht dokumentiert, auch der Quelltext ist kein OpenSource. Anhand von wissenschaftlichen Texten wie z.B. „GameScripter - A Vision Based Tool for Playing Games“ kann man jedoch ungefähr schlussfolgern wie das HelioS Framework intern aufgebaut ist. Vermutlich kommt eine Bilderkennungsroutine zum Einsatz um die Pixel auf dem Bildschirm auszuwerten und mit einem Rechteck zu markieren. Dann gibt es noch einige Anpassungen an die unterschiedlichen Spiele und fertig ist das Rundum-Sorglos-Paket für alle Freunde der gepflegten Erwachsenen Unterhaltung.

Warum das HelioS-Framework dem Computerunderground zugerechnet wird ist simpel: es greift in den Spielablauf von kommerziellen Spieletiteln ein. Und vermutlich geht es den Erfindern weniger um wissenschaftliches Prestige als eher um die schnelle Mark. Nichts desto trotz ist das Konzept interessant und man kann es ausdehnen auf eine wissenschaftliche Grundlage. Nimmt man als Ausgangsbasis ein OpenSource Spiel wie z.B. Sauerbraten und entwickelt dafür einen Aimbot der ebenfalls quellenoffen ist, dann ist es plötzlich kein Underground-Thema mehr sondern darf getrost als richtiges Forschungsprojekt verstanden werden.

Im aktuellen Diskurs über HelioS wird das Framework meist unter moralischen Aspekten diskutiert. Ob der Einsatz dieser Software mit den Spieleherstellern abgestimmt ist oder ob man sich dadurch einen Vorteil gegenüber anderen Mitspieler verschafft.Tatsächlich handelt es sich dabei um einen Scheindiskurs. Denn im Grunde geht es um etwas anderes, und zwar die Frage wie man eine Software entwickelt, die in der Lage ist beliebige Spiele automatisiert zu spielen. Das oben zitierte Paper „GameScripter“ versucht diese Frage zu beantworten aber auch im Umfeld von „Starcraft AI“ wird das Problem unter wissenschaftlichen Aspekten bereits diskutiert. Das erstaunliche darin ist, dass die Antwort lautet dass es prinzipiell möglich ist, allerdings sehr zeitaufwendig in der Realisierung. Um einen Aimbot zu entwickeln, der nur ein bisschen herumläuft und Punkte sammelt muss man bereits viele verschiedene Themengebiete aus der Künstlichen Intelligenz und Computervision erfolgreich in ein Softwareprogramm integriert haben. Einen Standard-Algorithmus dafür gibt es nicht, sondern das ganze ist ein komplexer Software-Entwicklungs-Zyklus.

Das Problem mit dem HelioS Framework ist jedoch, dass es zu stark auf die konvetionelle Spielevermarktungsindustrie zugeschnitten ist. D.h. es wurde programmiert um damit kommerzielle Spiele zu automatisieren und so wird es dann auch vermarktet. Die Herausforderung besteht darin, dieses Konzept auf die nächste Ebene zu bringen, also gar keine kommerzielle Spiele zu unterstützen sondern ausschließlich OpenSource Egoshooter. Wo also der Sourcecode ohnehin frei ist und man sich stärker auf die wissenschaftlichen Aspekte konzentriert. Obwohl das HelioS-Framework zumindest nach den zahlreichen Youtube-Videos perfekt funktioniert ist es mehr oder weniger eine Sackgasse weil man die dort gezeigten Features nicht reproduzieren kann. Man kann also nicht das HelioS Framework als API verwenden um darauf aufbauend leistungsfähigere Systeme zu konstruieren. Sondern das ganze ist eine Sackgasse.

5 Framenet

5.1 RelationsNatural Language Processing (NLP) dürfte wohl eines der missverständlichsten Untergebiete der Künstlichen Intelligenz sein.

Ist doch Sprache etwas, was schon für Menschen schwer verständlich ist und noch komplizierter ist da die Aufgabe, damit einen Computer zu beauftragen. Dementsprechend langsam sind die Forschritte von NLP. Aber einige Projekte gibt es immerhin, wovon Framenet eines der bekannteren ist. Zunächst einmal geht es bei Framenet ähnlich wie beim Stanford Parser darum, die innere Satzstruktur zu parsen, also Subjekt, Verb und Objekt zu identifizieren. Das wirkliche Sprachverständnis erreicht man jedoch erst wenn man Frame-to-Frame Relations verwendet. Was ist damit gemeint? Angenommen, in einem Textadventure schreibt jemand folgenden Satz:

„Ich gehe in den Supermarkt“

Wie bringt man einem Computer bei, diesen Satz zu verstehen? Die Antwort lautet: gar nicht. Der Satz enthält viel zu wenige Informationen um da irgendwas zu begreifen, man kann jedoch versuchen ihn in einen größeren Kontext einzuordnen. Dies gelingt beispielsweise mit Hilfe von Behaviortrees (welche bei Framenet als „Relations“ bezeichnet werden):

15

Page 16: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

Der Behaviortree „Einkaufen“ beschreibt beispielsweise die einzelnen Schritte in die diese Handlung unterteilt wird. Und jetzt kann man den zuerst genannt Satz („Ich gehe in den Supermarkt“) mit Hilfe der Framenet-Relation in einen größeren Kontext einordnen. Zuerst wird der Satz geparst, man extrahiert das Wort „Supermarkt“ und „gehe“ und erhält über eine Suche im Synonymwörterbuch den Schluss dass damit die Handlung „Supermarkt betreten“ gemeint sein könnte. Das bedeutet, der Satz beschreibt Schritt 1 im Behaviortree „Einkaufen“. Jetzt könnte die Software als Antwort auf diese Benutzereingabe die Frage stellen:

„Was möchten sie einkaufen?“

… um damit den Schritt 2 des Behaviortrees zu antizipieren. In der Tat dürfte dies für den Anwender halbwegs sinnvoll erscheinen. Aber derartige Mensch-Maschine-Interaktion kann man nur anbieten, wenn man besagte Framenet-Relations definiert hat. Also Kontextinformationen besitzt, in die man natürlichsprachliche Eingaben einordnen kann.

5.2 Was muss Computerlinguistik leisten?Leider wird Computerlinguistik zu abstrakt betrachtet. Da wird Sprache immernoch gleichgesetzt mit deren Unterteilung in

Subjekt, Verb und Objekt woran der Sprachkünstler Chomsky sicherlich nicht ganz unbeteiligt war. Das hat zu dem Glauben geführt, dass im Prinzip Computerlinguistik bereits gelöst wäre und es nicht mehr viel zu tun gäbe. Auf welch niedrigem Stand sich jedoch die Forschung befindet erkennt man dann, wenn man das Themengebiet einengt auf „situated Ontology“, also jene Szenerien bei denen konkrete Probleme wie in Software modelliert werden. Aber auch mit der Reduzierung auf ein Themengebiet ist noch nicht geklärt, was genau eine KI leisten können muss. Muss eine KI Sprache übersetzen können, muss sie in Dialog mit einem Menschen treten oder muss sich verbale Kommandos ausführen?

Bevor man eine KI zur Sprachverarbeitung entwickeln kann, muss man sich zunächst einen Test überlegen um die Leistung dieser KI bewerten zu können. Und hier sind allgemeine Bewertungen wie z.B. dass ein Mensch entscheidet, ob der Computer allesverstanden hat, notorisch unzuverlässig. Stattdessen müsste der Test so ähnlich ablaufen, wie Mario AI, d.h. wenn die KI das Levelabsolviert hat und das schneller als Menschen es vermögen, dann hat die KI gewonnen.

Ein solcher Test ist gegeben durch sogenannte Textadventures. Bei denen muss ein Spieler Aktionen als Text eingeben und kommt so ins nächste Level. Besonders spannend sind hierbei Multi-User-Textadventures, bei denen merere Spieler gleichzeitig agieren und bei denen sowohl KI-Bots als auch Menschen teilnehmen. In solchen MUD-Systemen können Menschen auch die Rolle eines Non-Player-Charakters übernehmen, also einem Bot falsche oder irreführende Hinweise geben und ihn so in die Irre locken. Und damit hat man einen ersten Ansatzpunkt wie die Rollenverteilung zwischen Mensch und Maschine geregelt ist: die Maschine muss als Subjekt ein Textadeventure erfolgreich absolvieren. Der Mensch wiederum beobachtet oder nimmt als Non-Player-Charakter teil und zwar ebenfalls über ein textuelles Interface.

Die Programmierung einer leistungsfähigen KI-Engine hängt entscheidend davon ab, wie das Textadventure aufgebaut ist. Wenn die Spielregeln beispielsweise vorsehen, dass man Dialoge über fertige Textbausteine durchführt, also lediglich vorbestimmte Antwortmöglichkeiten besitzt, dann muss die KI-Engine anders programmiert sein, als wenn das Spiel auch freie Satzeingaben akzeptiert. Im wesentlichen geht es also darum, im Schritt 1 ein passendes Textadventure zu identifieren um es dannim Schritt 2 automatisiert zu spielen. Wenn man so will ist die benötige KI-Engine also ein Test-Automatisierungs-Tool für die Softwarekategorie Textadeventure. Sie kann im wesentlichen Fehler aufspüren und den verwendeten Parser überprüfen.

Die Herausforderung bei der Programmierung einer solchen KI-Engine ist immer dann gegeben, wenn der Suchraum zu groß istum über Brute-Force zu arbeiten. Das also der Bot scheitert, wenn er lediglich alle Antwortmöglichkeiten der Reihe nach durchprobiert, oder zumindest sehr lange benötigt. Auf diese Weise zwingt man den Botentwickler dazu, bessere Software zu schreiben, weil er nur so Erfolg haben wird.

Zugegeben, das ganze klingt noch sehr theoretisch. Was daran liegt, dass erstens die Auswahl an guten Textadventures minimal ist, und bisher keinerlei Wettbewerbe durchgeführt wurden bei denen Bots einen Walkthrough ausführen mussten.

5.2.1 Objektorientierte ProgrammierungViele Textadventures, wie z.B. solche die thematisch an Sherlock Holmes angelehnt sind, bestehen darin dass man Prädikat-

Objekt Befehle eingibt, wie z.B. „go north“, „open door“, „read paper“ usw. Nach dem obligatorischen Enter erscheint dann auf dem Bildschirm eine Textnachricht, was die Aktion bewirkt bewirkt hat. Im Grunde handelt es sich hierbei um eine Art von Kommandozeile, und zwar agiert man Objekten des Textadventures. „Door“ ist beispielsweise im Spiel ein Objekt was bestimmte Aktionen bereitstellt (open, close) und nach Aufruf dieser Methode ändert sich der Zustand des Objektes und es gibt eine Statusinformation. Wenn der Spieler unterschiedliche Kommandos der Reihe nach eingibt, navigiert er wie ein Programm durch den Objektraum. Er tut das, was normalerweise in einem Hauptprogramm gemacht wird, wo man ebenfalls Methoden von Objektender Reihe nach aufruft. Das Interagieren mit dem Textadventures ist in Wahrheit nichts anders als Programmieren. Es geht darum

16

Abbildung 8: Behavior Tree "Einkaufen"

Page 17: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

eine bestimmte Abfolge von Objektkommandos zu finden um so einen Sollzustand herbeizuführen.Das Problem kann man wie folgt abstrahieren: das Programmieren eines Textadventures bedeutet, Objekte mitsamt ihren

Methoden zu definieren welche ein spannendes Szenario ermöglichen. Und das Spielen bedeutet dann, mit dieser API etwas sinnvolles anzufangen, also die definierten Objektmethoden auszuführen.

Unter diesem Aspekt kann man Textadventures auf abstrakter Ebene definieren. Das Spiel besteht aus unterschiedlichen Objekten (Methoden + Attributen) welche als Computercode formalisiert sind. Aufgabe des Spielers ist es, von einem Ist-Zustand inder Objektwelt zu einem Zielstandzustand zu gelangen und zwar indem er mit den Objekten kommuniziert.

6 „Classified Research“ und Strong AIRückblickend auf 50 Jahre Forschung im Bereich Künstlicher Intelligenz muss man nüchtern festhalten, dass nahezu alles was

von 1950-2000 im Bereich Künstlicher Intelligenz an Universitäten erforscht wurde, dem „classified research“ zuzurechnen ist. Diesdürfte hauptsächlich dem Anspruch der beteiligten Wissenschaftler geschuldet sein, eine „Strong AI“ zu entwickeln, also ein Computerprogramm, dass in Tradition von SHRDLU (AI-Software) und Shakey (ein Roboter) in der Lage ist ein eigenes Bewusstsein zu entwickeln. Anders gesagt, es ist vollkommen unmöglich ein Strong AI Projekt zu entwickeln, dass nicht der absoluten Geheimhaltung unterliegt, genausowenig wie es nicht möglich ist, Geheimforschung zu betreiben, die nicht an irgendeiner Stelle etwas mit Künstlicher Intelligenz zu tun hat.

Die Wende bzw. die Abspaltung innerhalb der Künstlichen Intelligenz hin zu „Bottom up AI“ ab den 1990 war nicht nur mit einer neuen technischen Herangehensweise verbunden sondern gleichzeitig gab es auch eine Neuausrichtung in der wissenschaftlichen Praxis. Damit ist gemeint: weg von Geheimforschung hin zu OpenAccess. Auf diese Weise hat man nicht nur konkrete Probleme gelöst (wie z.B. Starcraft AI) sondern darüberhinaus hat sich auch die Berichterstattung über diese Projekte verändert. Sie ist transparenter geworden.

Leider nicht für alle Forscher gleichermaßen. Unter dem Schlagwort „Artificial General Intelligence“ wird nach wie vor am älterenKonzept der Strong AI festgehalten und damit einhergehend auch an der Vorstellung, man müsste wissenschaftliche Paper zensieren, weil man sonst das Monopol auf die Zukunft verlieren könnte.

Die Unterscheidung zwischen „Strong AI“ und „Weak AI“ ist eine interne Bezeichnung wie man Probleme aus der Künstlichen Intelligenz angeht. Die Unterteilung zwischen „classified research“ und „OpenAccess“ hingegen ist eine Unterscheidung wie eine Wissenschaft kommuniziert wird. Es entstehen dadurch folgende Möglichkeiten:

1. Strong AI + classified research2. Weak AI + classified research3. Strong AI + OpenAccess4. Weak AI + OpenAccess

Wirklich zukunftsfähig ist davon nur die letzte Variante: also die Kombination aus einer bottom up Künstlichen Intelligenz in Verbindung mit öffentlicher Transparanz. Wenn man beispielsweise ein driverless Car an die breite Masse verkaufen möchte, dann reicht es nicht aus, einfach nur eine perfekte Software zu entwickeln, sondern darüberhinaus muss man das Produkt auch als OpenSource kommunzieren, sonst wird es keine Käufer finden.

Man darf nicht den Fehler machen, generell jedes „classified research“ Projekt als Parawissenschaft zu verstehen. So nach dem Motto, dass echte Wissenschaft automatisch frei zugänglich wäre. Echte Wissenschaft (die beweisbar funktioniert) kann sehr wohl Restriktionen unterliegen wie z.B. Patente, Exportverbote oder ähnliches. Das Problem ist dennoch darin zu sehen, dass patentgeschützte Produkte für den Konsumenten weniger attraktiv sind wie z.B. Produkte ohne Patentansprüche, und zwar selbst dann, wenn diese qualitativ leicht schlechter sind.

6.1 „Classified art“Rückblickend wird die Epoche der Künstlichen Intelligenz von 1950-2000 meist unter wissenschaftlichen Aspekten gewürdigt.

Allerdings sollte man sich bewusst machen, dass diese Einordnung von den beteiligten Personen selber stammt. Leute wie Joseph Weizenbaum, Norbert Wiener, Marvin Minsky oder Allen Newell bezeichnen sich selbst als Informatiker, Mathematiker oder Kognitivionswissenschaftler und sie alle haben auch und vor allem an „classified research“ mitgearbeitet. Aber waren sie wirklich primär Naturwissenschaftler? Oder war es nicht eher so, dass die gesamte Epoche der Künstlichen Intelligenz als Happening oder ganz allgemein als „art“ bezeichnet werden muss? Der Unterschied zwischen art und Wissenschaft dürfte wohl sein, dass Art als etwas wertvolleres gilt, weil dort nicht nur der Kopf angesprochen wird, sondern das Herz ebenso. Die große Gefahr ist jedoch, dass man am Ende ein reines Kunstprojekt erhält, was nur noch aus Semiotik besteht, nicht jedoch aus konkreten Antworten. Erinnern wir uns, was Kunst sein möchte. Kunst will Fragen stellen, Kunst will inspirieren und Kunst will zum Nachdenken anregen. Dies trifft auf alle großen AI-Projekte der letzten Jahrzehnte zu, ohne Zweifel. Nur leider versagt Kunst immer dann, wenn es darum geht Klarheit zu liefern und Fragen zu beantworten.

Auch heute noch erzählen einige der Forscher, die seit ihrer Jugend an Computern verbracht haben, wie inspirierend Computer auf sie gewirkt haben und wie viel mehr man mit ihnen anstellen könnte, als einfach nur Zahlen zu addieren. Diese Haltung ist jedoch keine Ausnahme sondern die Regel. Und man muss sich zurecht fragen, ob einer der vielen Forscher, die sich mit Computern beschäftigt haben, dies ausnahmsweise auch einmal unter Nicht-künstlerischen Aspekten getan hat. Also Computer nicht als Medium und nicht als gesellschaftsveränderndes Element betrachtet, sondern den Mut hat, sie in einen wissenschaftlichenKontext zu stellen.

Viele empfinden Kunst als Befreiung, weil es ihnen die Möglichkeit eröffnet, Dinge außerhalb der Norm zu benutzen,

17

Page 18: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

beispielsweise mit einem Nadeldrucker einen Song zu komponieren. Aber wenn die eigentliche Norm darin besteht, dass alle einenkreativen Umgang mit Technik pflegen ist dann der eigentliche Ausbruch nicht der ursprüngliche Sinn? Erinnern wir uns doch der ursprünglichen Bedeutung, Nadeldrucker wurden erfunden um damit etwas zu drucken, so wie Computer dazu gedacht um mit ihnen zu rechnen.

Die Gleichsetzung der Künstlichen Intelligenz von 1950-2000 mit „art“ stellt eine Wertung da und zwar keine besonders schmeichelhafte. Wird doch unter „art“ normalerweise etwas weniger wertvolles, ja mitunter etwas unbedeutendes verstanden. Kunst, das ist etwas, was jemand als Gemälde malt und dann für viele Jahre in einem Museum verschwindet wo es niemanden mehr stört. Kunst das ist etwas, was die Menschen seit mindestens 3000 Jahren schon machen und wirklich innovativ war es nie. Und so stellt sich die Frage, wiso es noch mehr Kunst bedarf, wenn es schon so viele bereits gibt? Man könnte jetzt natürlich versuchen, die Kunstszene damit zu retten, dass man ihr eine universelle Bedeutung andichtet. Aber wirklich überzeugend ist soetwas nicht. Stattdessen sollte man sich fragen, was möglicherweise mehr Bedeutung besitzt als Kunst. Und das ist – vielleicht etwas überraschend – die Besiedelung des Weltraums. Im Grunde muss sich menschlicher Erfindergeist und menschliche Inspiration daran messen lassen, ob sie dieser Aufgabe gerecht wird oder zumindest einen Beitrag dazu leistet. Und wenn jemand einen Computer baut, der Musik spielen kann dann hat das leider nichts mit der Eroberung des Weltraums zu tun.

Aber zumindest hat man hier eine Meßlatte dafür, inwieweit Künstliche Intelligenz mehr war als sinnlose Kunst. Hat Künstliche Intelligenz von 1950-2000 dazu beigetragen, den Weltraum zu besiedeln? Die Antwort ist nein, das hat sie nicht. Von dem was die Kybernetik und die Artifical Intelligence hervorgebracht hat, flog nur ein sehr geringer Bruchteil in den Weltraum. Der weitaus größteTeil verblieb hier auf der Erde und hat dort als Popkultur und als Internet die Leute unterhalten. Und weil die KI-Forschung von 1950-2000 sowenig beigetragen hat, zum wichtigsten Projekt der Menschheit muss man sie zwangsläufig als „art“ abqualfizieren. Damit soll ausgedrückt werden, dass ihr der wissenschaftlichen Nutzen fehlt.

6.2 Softwarekrise als ParanoiaEine Softwarekrise ist Folge von Ressourcenknappheit. Die Ressource Software ist dabei das eigentliche Gut was im Fokus

steht. Software macht den Unterschied aus, zwischen einem funktionierenden Roboter und einem kaputten System. Insofern ist es vorteilhaft, wenn man Software besitzt und zwar mehr als aktuell benötigt wird. Um Ressourcenknappheit zu verwalten gibt es unterschiedliche Möglichkeiten. Sie haben allesamt bürokratischen Charakter. Wenn man diese Verteilung des Mangels institutionalisiert entsteht eine gesteigerte Form von Bürokratie und zwar eine paranoide Organisation mit zentralen Machtstrukturen. Damit hat man ein Umfeld geschaffen, indem auf individueller Ebene Paranoia gedeiht und die Leute sich gegenseitig misstrauen. Die einzige Möglichkeit diesen Kreislauf zu durchbrechen besteht darin das ursprüngliche Problem zu lösen, also die Softwarekrise zu überwinden. Dadurch entfällt das Knappheitsproblem und es entfällt die Notwendigkeit diesen Mangel mit bürokratischen Methoden zu verwalten. Nur wie überwindet man die Softwarekrise? Eine Methode wäre es, neue/bessere Software zu entwickeln. Also mit modernen Programmiersprachen wie Java, mit modernen Entwicklungsumgebungen wie Eclipse und mit modernen Wissensdatenbanken wie Stackoverflow sich daran machen die fehlende Software in hoher Qualität zu erstellen um damit dann Roboter und ganz allgemein jede Form von Künstlicher Intelligenz zu erstellen. Eine zweite Möglichkeit besteht darin, die bürokratischen Strukturen zu hinterfragen, also beispielsweise die Abschaffungvon Softwarepatenten zu fordern weil auf diese Weise Software für alle verfügbar wäre. Dazu vielleicht ein konkretes Beispiel:

Derzeit gibt es sehr hochentwickelte Text-to-Speech Software wie beispielsweise das Produkt Ivona. Im Bereich OpenSource gibt es nichts vergleichbares, die Software „espeak“ erreicht nicht annähernd die selbe Qualität. Daraus kann man ableiten, dass es unnötig ist, neue Text-to-Speech-Software zu entwickeln, sondern die Softwarekrise kann man in diesem Fall dadurch überwinden indem man einfach das Copyright auf Ivona abschafft und schon könnte jeder diese Software einsetzen.

Ob das jedoch auch auf anderen Bereichen funktioniert ist fraglich. Beispielsweise gibt es zur Steuerung von Robotern derzeit überhaupt keine Software. Weder als OpenSource noch als kommerzielle Software. Insofern würde es nichts bringen, dass man die Copyrights abschafft, weil schlichtweg keine Software da ist, die man verteilen kann. Sondern ein Roboterbetriebssystem muss erst von Null an neu programmiert werden.

Aber was auch die konkreten Ursachen für eine Softwarekrise sind, Fakt ist sie ist da. Man kann jetzt natürlich den Blick in die Vergangenheit werfen um zu ergründen seit wie lange denn schon ein Mangel an Software für Künstliche Intelligenz besteht. Ob dieser Mangel auch schon im Jahr 1970 existent war oder doch erst seit dem Jahr 2000 aufgetreten ist. Fakt ist zumindest, dass mit der Massenverfügbarkeit des Internets und der Computer dieser Mangel immer deutlicher wurde. Je mehr sich die Leute an dasInternet, an grafische Oberflächen und an Suchmaschinen gewöhnen desto mehr wird ihnen bewusst, was aktuelle Software alles nicht kann. Und wie schön es doch wäre, wenn man diesen Mangel überwinden könnte. Fakt ist auch, dass diese Erkenntnis zugleich Gemeinschaften bildet und sei es auch nur die Zugehörigkeit zu jener Gruppe die unter dem selben Problem leidet.

6.2.1 OpenSource?Am Beispiel Ivona Text-to-Speech wurde erläutert wie man die Softwarekrise erfolgreich meistern könnte. Die Annahme lautet,

dass Softwarepetente und Urheberrechte auf Sourcecode Ursache des Problems sind. Aber auch eine gegenteilige Meinung ist zulässig. Und zwar wäre es durchaus denkbar, dass ohne Urheberrecht niemals die Ivona Software entstanden wäre, weil ohne finanziellen Anreiz sich wohl kein Programmierteam auf ein derartiges Unterfangen hätte eingelassen. Demzufolge dient das Beibehalten von Softwarepatenten explizit dazu, die Softwarekrise zu entschärfen.

18

Page 19: TROLLHEAVEN MAGAZIN · TROLLHEAVEN MAGAZIN JUNI 2015 Dies ist die erste Ausgabe des Formates, „Trollheaven Magazin“. Im Grunde handelte es sich dabei um eine Art von Weblog, nur

7 Java

7.1 Bug: Java ist ungeeignet für BildverarbeitungDer Grundsatz der Programmierer dürfte darin bestehen, möglichst viel innerhalb eines Java Programms zu erledigen weil man

so unabhängig bleibt von externen Bibliotheken. Und tatsächlich gibt es bei Stackoverflow zahlreiche Tipps und Kniffe wie man Bilder skalieren kann (sogar inkl. Smoothing) und wie man Bilder negativ umwandeln kann. Leider ist der Implementierungsaufwand dafür sehr hoch. Um ein Bild smooth nach oben zu skalieren benötigt man rund 50 Zeilen Java-Code, und beim Erzeugen von negativen Bildern wird tatsächlich eine verschachtelte For-Schleife empfohlen mit der man jeden Pixel einzel verändert, http://stackoverflow.com/questions/8662349/convert-negative-image-to-positive

Es geht aber auch einfacher, und zwar indem man eine als quick&dirty bekannte Programmiertechnik anwendet und sich zunächst im Java-Programm eine Schnittstelle für die Shell bastelt um darüber dann in Zukunft externe Programme wie tesseract, imagemagick und noch einige mehr aufzurufen. Fortan reicht dann ein simpler Befehl aus wie:

shellCommand("convert ocr.png -resize x100 -negate 1.png");Und was zunächst wie extrem schlechter Programmierstil klingt (ist Imagemagick auch schnell genug?, ist es erlaubt über die

Kommandozeile externe Programme aufzurufen?) entpuppt sich bei näherer Betrachtung als perfekte Lösung. Denn so bleibt der eigene Quellcode leicht verständlich und wenn später jemand auf die Idee kommt die Shell-Kommandos durch etwas besseres zu ersetzen, dann ist das immernoch möglich. Richtig ist, dass anschließend die Software damit sie lauffähig ist, tesseract und Imagemagick zwingend voraussetzt, aber sowas kann man über den Package-Manager als Bedingung festlegen. Und überhaupt, ein Java Programm hat ohnehin zahlreiche Anforderungen an das Betriebssystem, so dass es keinen Unterschied macht.

19