Vorstellung einer Forschungsarbeit zur Beziehung zwischen Paint Splatters und der Programmiersprache Perl
- Eine Arbeit, die zur SIGBOVIK 2019 angenommen wurde und das "Unwitting Participation Ribbon" erhielt
- Wenn Farbe an eine Wand gespritzt wird, entsteht mit einer Wahrscheinlichkeit von 93 % ein gültiges Perl-Programm
- Es wird ein empirischer Ansatz unter Verwendung von OCR-Software (optische Zeichenerkennung) eingesetzt
- Analysiert die Eigenschaften von durch Paint Splatter erzeugten Perl-Programmen und zeigt sieben Beispiele von Paint Splatters, die keine gültigen Perl-Programme sind
Vorstellung des Begleitmaterials zur Arbeit
- Zeigt auf einer einzelnen Seite alle Paint Splatters und den jeweils dazugehörigen gültigen Perl-Quellcode
- Bilder, die nicht als gültige Perl-Programme geparst wurden, sind rot mit "ungültig" markiert
- Wenn mit unterschiedlichen OCR-Einstellungen mehrere gültige Perl-Programme erkannt wurden, wurde nach dem ästhetischen Empfinden des Autors das "interessanteste" ausgewählt
- Bietet ein tarball mit 100 Paint-Splatter-Bildern, die als Hauptdatensatz der Arbeit verwendet wurden
Beispiele interessanter Paint-Splatter-Perl-Programme, die nach Ablauf der Einreichungsfrist entdeckt wurden
- Ein Splatter, das als Zeichenkette
lerzfijglpFiji-j erkannt wird und in Perl als Zahl 0 ausgewertet wird
- Ein Bild, das als Zeichenkette
*?- erkannt wird und in Perl als Zahl 0 ausgewertet wird
- Ein Bild, das als Zeichenkette
;i;c;;#\\\\?z{;?;;fn':.; erkannt wird und in Perl als Zeichenkette "c" ausgewertet wird
- Ein Bild, das als Zeichenkette
;E,'_', erkannt wird und in Perl als Zeichenkette "E_" ausgewertet wird
Meinung von GN⁺
- Wirkt wie eine Arbeit, die mit einer einzigartigen und unterhaltsamen Idee die Eigenschaften einer Programmiersprache untersucht. Sie scheint ein gutes Beispiel zu sein, das paradoxerweise die syntaktische Flexibilität von Perl zeigt.
- Gleichzeitig fragt man sich, ob die Ergebnisse dieser Arbeit nicht auf Probleme im Sprachdesign von Perl hindeuten. Dass sogar zufällige Zeichenketten zu 93 % geparst werden, könnte die Mehrdeutigkeit der Sprache offenlegen.
- Es wäre interessant zu sehen, welche Ergebnisse herauskämen, wenn man ein ähnliches Experiment auf andere Programmiersprachen anwenden würde. Ein Vergleich der Resultate zwischen Sprachen könnte Unterschiede in der Philosophie des Sprachdesigns erkennen lassen.
- Auch die Visualisierung von Grammatik einer Programmiersprache auf diese Weise scheint ein interessanter Ansatz zu sein. Sie könnte helfen, Komplexität oder Regelmäßigkeit der Grammatik visuell zu erfassen.
1 Kommentare
Hacker-News-Kommentare
Dass OCR-Software selbst bei Bildern, die kein Text sind, weiterhin Textergebnisse erzeugt, ist ein Fehler. Ich erinnere mich noch daran, vor 10 Jahren alte Bücher per OCR eingescannt zu haben, und daran, wie lästig es war, den ganzen Mülltext zu bereinigen, der aus kleinen Zeichnungen, Flecken, Staub usw. entstanden ist. In diesem Bereich scheint es seitdem keine großen Fortschritte gegeben zu haben.
Konkatenative Sprachen haben die Eigenschaft, dass jede Token-Sequenz ein gültiges Programm ist.
Es gibt eine interessante Fußnote:
Illegal division by zero at /tmp/quine.pl line 1.gibtIllegal division by zero at /tmp/quine.pl line 1.aus, wenn man es an der richtigen Stelle speichert. Warum das so funktioniert, bleibt als Übung für die Leser überlassen.Verwandte Beiträge:
In diesem Beitrag geht es darum, dass ein bestimmtes "optisches Zeichenerkennungs"-Programm Farbspritzer als Zeichen erkennt. Dieses Programm scheint dazu zu neigen, fast immer irgendeine Kombination von Zeichen zu erkennen.
Unter den vielen Möglichkeiten, so etwas umzusetzen, ist diese hier absolut willkommen und trifft den Geist der Sache. Sie vermittelt aber auch einen ersten Eindruck von anderen möglichen Ansätzen, etwa Farb- und Leerraumflächen als 0 und 1 zu interpretieren und das Ganze als Programm zu betrachten. In solchen Fällen wäre das meiste bedeutungsloses Rauschen.
Es gibt zwei Extreme: das Extrem, in dem fast alles Rauschen ist, und das Extrem, in dem fast alles Bedeutung hat. Das Spiel im Spiel besteht hier darin, eine Interpretationsweise zu finden, die den Farbspritzern möglichst viel Bedeutung verleiht. Dabei muss die Bedeutung wirklich aus der Struktur hervorgehen und darf nicht nur daher kommen, dass die Regeln besonders eifrig überall Bedeutung hineinlesen.
Eine clevere Variante des alten Witzes "nicht von Leitungsrauschen zu unterscheiden".
Mit generativer KI lassen sich neue und innovative Farbspritzer, die als funktionierende Software bewertet werden, schneller erzeugen. Generative KI ermöglicht es einer neuen Klasse von Kreativen, Text-zu-Bild-Workflows zu nutzen und auszuschöpfen, und liefert Unternehmen jeder Größe einen Mehrwert. Neue KI-Modelle können funktionierende Software und maschinenlesbaren Code in verschiedenste hochauflösende Inhalte einbetten, so Zuschauer fesseln und Kreativen neue und spannende Möglichkeiten zur Reichweitensteigerung bieten.
Wurde am 1. April veröffentlicht. Das deutet auf etwas hin.
Als Perl-Programmierer denke ich, dass die 7 %, die nicht funktionieren, ein Bug sind.