Frohe Weihnachten 🎄
Startseite » Blog » Frohe Weihnachten mit künstlicher Intelligenz
| | | | |

Frohe Weihnachten mit künstlicher Intelligenz

Lesedauer: 9 MinutenIch wünsche allen meinen Lesern Frohe Weihnachten. Habt Spass mit meiner Programmierung eines Weihnachtsbaumes mit Hilfe von KI.

Endlich bin ich ein wenig in Weihnachtsstimmung gekommen. Es war ein anstrengendes aber sehr schönes Jahr 2024, das mit meiner Hochzeit im September seinen Höhepunkt hatte. Meinen Blog Digitales Leben habe ich ein wenig vernachlässigt, aber dafür hatte ich viel Spass mit unserer Hochzeitswebsite, die ich für unsere Freunde, Familie und Gäste erstellt und gepflegt habe. Zum Jahresabschluss habe ich mich gefragt, was ein schöner Weihnachtsbeitrag für das Jahr 2024 werden könnte. Ich kombiniere einfach ein paar der wichtigsten Motive meines Blogs zu einem kleinen Thema. Diese Motive sind Retrocomputing, KI (künstliche Intelligenz) und BASIC-Programmierung. Lasst euch überraschen, was dabei rauskommt. Meinen Lesern möchte ich auf diesem Weg Frohe Weihnachten wünschen.

Retrocomputing, KI und BASIC-Programmierung

So richtig weihnachtlich hört sich das nun wirklich nicht an. Aber als ich für einen weiteren Artikel meines Blogs recherchiert habe, kam ich auf die Idee, dass ein kleines BASIC-Programm zum 60. Geburtstag der Programmiersprache BASIC mit einem speziellen Weihnachtsgruß schon eine schöne Wirkung ergeben kann. Ich suchte in Archive.org in einer meiner Lieblingszeitschriften der 80er-Jahre – Your Computer – nach einem Weihnachtsprogramm für meinen ZX Spectrum. Aber ich konnte nur eines für den Commodore 64 finden: Bill da Snowman.

Aber kein Problem. Wofür gibt es heute schließlich KI? Deshalb habe ich vier unterschiedliche künstliche Intelligenzen mit folgender Aufgabenstellung herausgefordert:

„Schreibe mir ein Programm in ZX Spectrum Basic, das einen leuchtenden Weihnachtsbaum zeigt“

Folgendermaßen haben diese vier Kontrahenten geantwortet.

Claude.ai von Anthropic

Claude bietet folgende Lösung für meinen Weihnachtswunsch an
Claudes Lösung für die Aufgabenstellung (Quelle: claude.ai)

Copilot von Microsoft

Copilot von Microsoft liefert folgende Lösung für meinen Weihnachtswunsch
Dies liefert Copilot von Microsoft als Lösung für meinen Weihnachtswunsch (Quelle: copilot.microsoft.com)

Gemini von Google

ChatGPT von OpenAI

BASIC-Programmierung auf einem Retrocomputer

Um die von den vier künstlichen Intelligenzen gelieferten Programme eines leuchtenden Weihnachtsbaumes in ZX Spectrum BASIC zu programmieren habe ich mir meinen nagelneuen ZX Spectrum Next aus meinem Computermuseum ausgewählt. Diesen Computer habe ich erst kurz vor Weihnachten 2023 erhalten, nachdem die Kickstarter-Initiative durch die Pandemie und Lieferkettenprobleme sehr verspätet war. Im Mai 2024 habe ich mir vorgenommen, dass ich diesen Computer und seine Möglichkeiten genauer kennenlernen möchte.

Für diesen Weihnachtsgruß habe ich mich aber doch auf das klassische ZX Spectrum BASIC und nicht auf das erweiterte NextBASIC verlassen. Dazu wechsle ich nach dem Start des ZX Spectrum Next in den 48K Spectrum Modus. Da entstehen gleich nostalgische Gefühle, da ich mir sehr genau die Tastatur anschauen muss, um die dort verteilten Keywords, Funktionen und Zeichen wiederzufinden. Aber nach einiger Zeit kommt das Muscle Memory wieder zurück und die Suche nach den richtigen Tasten verkürzt sich immer mehr, je häufiger ich die Befehlszeilen aus den Listings eintippe.

Ja, tippen ist hier noch gefragt. Kein Import der Listings über Copy und Paste oder Laden vom Datenträger. Und beim Tippen erkenne ich schon, dass alle vier Programme mit Sicherheit nicht das machen, was sie machen sollen. Oberflächlich sieht das alles ganz gut aus, aber tatsächlich ist keines der vier Listings brauchbar.

Herausforderungen mit der Tastatur des ZX Spectrum Next

Außerdem merke ich, dass die Arbeit mit der Tastatur des ZX Spectrum Next sehr anstrengend ist, da die Tasten nicht in der richtigen Position sind, wie wir es von modernen Tastaturen kennen. Die untere Tastenreihe beginnend mit „Z“ und „X“ ist ein paar Millimeter zu weit rechts positioniert. Ein blindes Schreiben ist damit nicht möglich. Man landet immer mit den Fingern auf zwei Tasten gleichzeitig, wenn man eine Taste dieser Reihe drücken will. Natürlich ist die Benutzung der unterschiedlichen Shift-Tasten wieder sehr gewöhnungsbedürftig. Und ich lande viel zu häufig auf der „EDIT“ Taste anstelle der Taste „1“. In diesem Moment ist die neu getippte Zeile gelöscht und stattdessen wird eine markierte Zeile zum editieren eingeblendet.

Oberflächlich gute, aber gewöhnungsbedürftige Tastatur des ZX Spectrum Next
Oberflächlich gute, aber gewöhnungsbedürftige Tastatur des ZX Spectrum Next

Nach kurzer Zeit sind die Listings eingegeben und ausprobiert. Das sind die Ergebnisse.

Claude.ai von Anthropic

Nach wenigen Minuten habe ich das Listing von Claude.ai eingegeben. Die Zeile 40 sieht sehr merkwürdig aus. Daraus entsteht nie ein dreieckiger Weihnachtsbaum. Und was soll diese merkwürdige Abfrage der Variable y? Und nachdem der „Weihnachtsbaum“ gezeichnet ist, wird ab Zeile 90 der Bildschirm mehrfach gelöscht. Völliger Quatsch. Es soll doch der Weihnachtsbaum angezeigt werden mit unterschiedlichen Hintergrundfarben.

So löst Claude.ai die Aufgabenstellung
So löst Claude.ai die Aufgabenstellung

Im folgenden Video zeige ich, was dieses Programm letztendlich bewirkt. Man sieht, dass dieses Programm in ZX Spectrum BASIC nicht das macht, was es eigentlich produzieren sollte.

Start des Programms, was Claude.ai vorgeschlagen hat

Ich habe mich dann kurz hingesetzt und auf Basis dieses Programmes eine Anpassung durchgeführt, die wirklich einen Weihnachtsbaum mit blinkenden Kerzen darstellen soll. So sieht dann mein Programm in ZX Spectrum BASIC aus. Wichtig sind dabei die Zeilen 40-43 im Programmlisting.

Das durch mich angepasste Programm erzeugt einen bunten Weihnachtsbaum
Das durch mich angepasste Programm erzeugt einen bunten Weihnachtsbaum

Und so sieht dann die Ausführung des Programms aus. Wenigstens erkennt man jetzt einen Weihnachtsbaum.

Frohe Weihnachten 😀

Copilot von Microsoft

Nachdem Claude.ai von Antrophic so verloren hat, war meine Hoffnung groß, dass Copilot von Microsoft es besser machen würde. Die Zeilen 10 bis 140 machten Hoffnung, dass mit diesen Anweisungen wirklich eine Tannenbaumform auf den Bildschirm gemalt wird.

Weihnachtsbaumprogramm von Copilot
Weihnachtsbaumprogramm von Copilot

Von blinkenden Lichtern war aber nichts zu sehen. Man kann erkennen, dass die Positionierung der „Lichter“ unter den Baum gemalt wurde und nicht in den Baum selbst. Das Programm von Copilot hat nicht erkannt, dass die Positionierung der Lichter in Zeile 180 völlig falsch ist.

Wenigstens ist ein Tannenbaum entstanden.

Copilot liefert wenigstens einen Tannenbaum. Aber wo sind die Lichter?

Auch hier habe ich mich daran gemacht, das Programm zu verbessern, so dass „Kerzen“ im Tannenbaum positioniert werden.

Meine Anpassungen des Copilot-Programms
Meine Anpassungen des Copilot-Programms

Wesentlich sind dann die Zeilen 180 und 181 mit der richtigen Positionierung der Kerzen im Baum.

Ergebnis meiner Anpassungen am Copilot-Programm

Damit erhält man dann einen Weihnachtsbaum mit bunten Kerzen 😉 Auch hier wünsche ich Frohe Weihnachten.

Gemini von Google

Bereits zwei künstliche Intelligenzen sind an der meiner Meinung nach leichten Aufgabe gescheitert. Schauen wir uns doch mal an, was Gemini von Google vorschlägt. Es ist ein sehr einfaches Programm. Sie schlagen auch ein Alternativprogramm mit einem farbigen Baum vor. Ich habe gleich dieses „erweiterte“ Programm in den ZX Spectrum Next eingetippt.

Ich war schon ein wenig überrascht, als ich die x- und die y-Koordinaten des Baums sah. Irgendwas stimmte nicht. Konnte es sein, dass Gemini nicht die richtige Ausrichtung des Baums in ZX Spectrum BASIC kannte?

Originalprogramm von Gemini vorgeschlagen
Originalprogramm von Gemini vorgeschlagen

Dann viel mir noch auf, dass der Wertebereich für das Keyword INK in diesem Programm bis 10 ging. Das muss doch eine Fehlermeldung provozieren, oder?

Weihnachtsbaum nach einem Vorschlag von Gemini

Und tatsächlich. Der Baum lag auf der Seite und eine Fehlermeldung für falsche Parameter für das Keyword INK wurde angezeigt.

Dieses Miniprogramm produziert nicht mal einen stehenden Weihnachtsbaum. Was für eine Enttäuschung. Alle künstlichen Intelligenzen haben zwar einen Vorschlag in ZX Spectrum BASIC gemacht, aber bisher waren alle nicht wirklich nutzbar.

Also habe ich auch hier ein paar winzige Anpassungen gemacht. Erstens habe ich die x- und y-Koordinaten umgetauscht und damit einen stehenden Baum erhalten. Und ich habe jedem Teil des Weihnachtsbaums eine andere leuchtende Farbe verpasst. So geht das 😉

Meine kleinen Anpassungen am Gemini-Programm
Meine kleinen Anpassungen am Gemini-Programm

Und auch hier sage ich euch Frohe Weihnachten mit diesem Weihnachtsbaum. Bunter geht es nicht mehr 😉

Ein sehr bunter Weihnachtsbaum nach meinen Anpassungen des Gemini-Vorschlags

ChatGPT von OpenAI

Nach all diesen schlechten Erfahrungen lag jetzt meine ganze Hoffnung auf dem Branchenprimus ChatGPT von OpenAI. Wie toll fand ich das Ende letzten Jahres als ich sah wie ChatGPT Programmiervorschläge für komplizierteste Aufgabenstellungen gemacht hatte. Deshalb wird ChatGPT mit Sicherheit auch ein tolles und fehlerfreies Programm eines Weihnachtsbaumes in ZX Spectrum BASIC hinbekommen, oder?

Also habe ich das Programm schnell eingetippt und geprüft. Auffällig fand ich, dass bei der Silhouette des Tannenbaums Leerzeichen vorgesehen waren (Zeilen 40 bis 80). Und bei der Überlagerung durch die bunte Weihnachtsbaumstruktur (Zeilen 140 bis 180) fehlten diese Leerzeichen.

Der Tannenbaum-Vorschlag von ChatGPT
Der Tannenbaum-Vorschlag von ChatGPT

Alles deutete darauf hin, dass auch dieser Vorschlag von ChatGPT nicht fehlerfrei sein würde. Und tatsächlich war die ursprüngliche Silhouette des Weihnachtsbaums sehr nach rechts geneigt.

Auch Fehler beim ChatGPT-Weihnachtsbaum

Wie entstehen solche einfachen Fehler? Die künstliche Intelligenz muss doch sehen, dass die Druckpositionen der beiden Silhouetten dieselbe sind und deshalb muss doch auch der Inhalt des gedruckten Textes gleich sein? Warum also die zusätzlichen Leerzeichen?

Die Änderungen waren aber hier ganz einfach. Leerzeichen weg. Den Fuss des Baums ein wenig nach links positioniert.

Meine Verbesserungen des ChatGPT-Vorschlags
Meine Verbesserungen des ChatGPT-Vorschlags

Und so entsteht eine saubere Überlagerung mehrerer bunter Weihnachtsbäume. So soll es sein. Und deshalb in diesem Sinne: Frohe Weihnachten.

Auch das ChatGPT-Programm musste verbessert werden

Fazit und Frohe Weihnachten

Zum Friedensfest am Ende des Jahres mag ich eigentlich nicht nachtragend sein. Eigentlich müßte ich ja froh sein, dass mir die vier künstlichen Intelligenzen Vorschläge auf meine Aufgabenstellung gemacht haben. Am Anfang war ich dann auch begeistert von der Vielfalt der Ergebnisse. Ich bin davon ausgegangen, dass ChatGPT und Copilot dieselben Vorschläge produzieren würden, da beide auf derselben Technologie von OpenAI aufsetzen. Aber alle vier künstlichen Intelligenzen sind unterschiedlich mit der Aufgabenstellung umgegangen. Am besten gefallen hat mir der Ansatz von Copilot, weil ein aufrecht stehender Weihnachtsbaum dabei rauskam. Aber die Darstellung der blinkenden Lichter war wieder mangelhaft umgesetzt.

In allen vier Beispielen musste ich eingreifen, um ein halbwegs passables Ergebnis zu produzieren. Es hat mir Spaß gemacht, läßt bei mir aber einen schalen Beigeschmack zurück bezüglich der Leistungsfähigkeit der künstlichen Intelligenzen.

Aber als Ergebnis habe ich vier unterschiedliche Weihnachtsbäume bekommen und wünsche allen meinen Lesern auf diesem Weg:

Frohe Weihnachten 🎄
Frohe Weihnachten mit künstlicher Intelligenz 🎄

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.