Commodore VC 20 (SFT 9)

Unglaublich wichtige Feststellung. Vielen Dank dafür.

2 „Gefällt mir“

Ich glaube immer noch, dass man mit Freundlichkeit auch nirgendwo hinkommt. Welche Firma mit netten CEO hat es schon mal an Platz 1 geschafft?

Es gibt allerdings einen großen Unterschied zwischen Freundlichkeit und Naivität :smiley:
Man muss nicht tyrannisch auftreten, um erfolgreich zu sein.

Vielen Dank für die interessante Folge!

Abseits des VC-20 finde ich die Historie des MOS 6502 super spannend. Entwickelt in der Mitte der 70er war er ja über die gesamte 8-Bit Ära prägend und wurde in abgewandelter Form bis in die 90er, frühen 2000er in Gameboy, Tamagotchi & co. in der Consumer Elektronik eingesetzt - eine beeindruckend lange Lebensdauer für einen Prozessor der als abgespeckte/billig-Variante des 6800ers entwickelt wurde.

1 „Gefällt mir“

Bei Apple, Microsoft und zumindest für die 80er auch Commodore sieht man aber auch fairerweise nur die Helden-/Gewinnerstories des damaligen Führungsstils - es wird auch zu Hauf tyrannische Chefs geben, die mit ihren Unternehmen vor die Wand fahren bzw. gefahren sind.

Wie so oft zählt auch am Ende des Tages dort Maß und Mitte.

3 „Gefällt mir“

Mein SNES hing aus Gründen auch 1995 noch an einem Schwarzweiß-Universum-Fernseher.

Wenn ihr die Frage nach der Computational complexity von Schach stellt dann stellt ihr die Frage vermutlich falsch ofer ungenau.

Das n in der „Big O“ notation steht für die Frage wie sich Laufzeit oder Speicherverbrauch ändern wenn n größer wird. Welches n wird denn bei Schach größer, man spielt ja immer mit der selben Anzahl an Figuren auf der selben Anzahl Felder.

Eine Angabe einer O(n) Notation für Schach ergibt nur Sinn, wenn man im Falle von Schach die Zahl der Felder auf dem Spielbrett verändert. (z.B. von 64 auf 128). Das sog. „Generalized Chess“ für beliebige n x n Kombinationen von Feldern ist entweder PSPACE hart wenn man eine Variante der 50 Züge Regel beibehalten will oder ist sogar EXPTIME vollständig wenn man keine solche Regel vorsehen will, aber spielt für unsere Frage keine Rolle.

Schach hat technisch gesehen eine Laufzeit von O(1) (für eine sehr hohe Zeitkonstante). Das Spiel hat eine definierte maximale Anzahl Züge (durch die 50 Zug-Regel) und damit einen endlich langen Entscheidungsbaum, der auch immer gleich groß ist und gleich viele Elemente enthält.

Das heißt ich könnte mir theoretisch einmalig eine Lookup-Tabelle bauen, in der ich dann in O(1) Zeit suchen kann. Für astronomische Zeitkonstanten und vermutlich nur mit Hilfe von einer Menge an Speicher die die Anzahl der Atome unseres Universums übersteigt aber das ist für die Einstufung in die Komplexitätsklasse unerheblich. Schach ist O(1) weil es kein n gibt das wachsen kann. Für die Frage innerhalb der theoretischen Informatik ist die technische Umsetzbarkeit kein Kriterium und damit dann die Frage erledigt. Die maximale Anzahl an möglichen Zügen liegt übrigens im Bereich 10^45 bis 10^123 (^ = „hoch“) je nachdem welcher wissenschaftlichen Arbeit man folgt.

In der Realität liegt das Problem aber nun mal in der Tatsache begründet, dass wir weder unendlich lange Zeit haben (oder beliebig schnell rechnen können) noch unendlich viel Speicher zur Verfügung steht.

Deshalb bedient sich eigentlich jedes Schachprogramm Heuristiken also Approximationen die nur einen Teil des gesamten Entscheidungsbaums durchsuchen und mit unvollständigen Informationen arbeiten.

Zusätzlich kann ich bei fast allen Algorithmen dieser Art Speicherplatz gegen Zeit tauschen oder umgekehrt. Hab ich viel Speicher und kann mehr meiner Spielzustände Zwischenspeichern braucht die Berechnung weniger lang (ich muss z.B. Zwischenergebnisse die ich schon habe weniger oft neu berechnen). Ist mein Speicher stark beschränkt dauert jede einzelne Berechnung länger (weil ich z.B. ständig Zwischenergebnisse neu berechnen muss die ich eigentlich schon an anderer Stelle erzeugt hatte)

Ohne jetzt noch weiter ins Detail gehen zu wollen als eh schon: Entscheidungsbäume im Schach gehen von einer Startposition aus und bestimmen von dieser Startposition aus alle möglichen Züge, dann von jeder dieser neuen Zugpositionen die möglichen Gegenzüge, dann von jeder dieser neuen Positionen aus wieder alle Möglichen Züge und so weiter. Im zweiten Schritt kann dann der gesamte so gebildete „Zugbaum“ nach dem optimalen Zug durchsucht werden.

Die gängigen Algorithmen enden vereinfacht entweder dann wenn der Algorithmus eine bestimmte „Tiefe“ im „Zugbaum“ erreicht hat (also eine bestimmte Zahl von Zug/Gegenzug Serien) und dieser vollständig nach dem optimalen Zug durchsucht wurde oder nach einer bestimmten Maximalen Zeit (oft identisch mit der maximalen Zugzeit die der Computer zur Verfügung hat)

In der Zeit kann der Rechner natürlich nicht alle 10^123 mögliche Kombinationen durchsuchen, er arbeitet also mit unvollständigen Informationen.

Jetzt ist der Zugbaum ja rein kombinatorisch zusammengebaut worden und enthält jede Menge Unfug, den kein Schachspieler jemals spielen würde oder der auch einfach keinen Sinn ergeben würde, deshalb ordnet man bestimmten Zugfolgen dann „Gewinnwahrsxheinlichkeiten“ zu und deshalb enthalten moderne Schachprogramme zusätzliches Domänenwissen und z.B. sehr große Zugdatenbanken aus früheren Schachpartien damit es unsinnige oder wenig Erfolg versprechende Teil des Baums frühzeitig erkennen und entfernen kann und somit schneller zu einem besseren Ergebnis kommt.

Bei den Suchverfahren (also wie man in dem unvollständigen Entscheidungsbaum die optimale Zugfolge findet) da spielen dann Komplexitätsklassen eine Rolle und die Algorithmen skalieren mit der maximalen „Tiefe“ bis zu der man den Entscheidungsbaum erstellt hat.

Beim zur Zeit des VC 20 und Atari VCS 2690 gängigen Algorithmus für solche kleinen Schachcomputer (Minmax Suche mit Alpha/Beta Pruning) liegt die worst case Komplexität bei O(b^d) und die best case performance bei O(WURZEL(b^d))

b = branching factor = die durchschnittliche Anzahl an möglichen Abzweigungen/möglichen Zügen
d = depth, die maximale „Suchtiefe“ im Baum.

…und das ist eine exponentielle Steigerung mit der Suchtiefe als n

Der branching factor bei Schach ist ca. 35 also gibt es in der Regel von jeder Spielbrettkonfiguration aus im Schnitt 35 mögliche Züge

Bei einer Suchtiefe von 1 hat man also 35 Züge zu durchsuchen, bei 2 sind es schon 1.225, bei Suchtiefe 3 dann 42.875, bei 4 dann 1.500.625 und so weiter.

Der Grund warum Schach auf dem VC 20 besser und schneller läuft liegt einerseits daran, das der VC 20 mehr Speicher hat (5 KiB integriert und bis zu 32 KiB über Module und Erweiterungen) als das Atari VCS (128 Byte integriert und bis zu 5 KiB über Module) aber viel wichtiger ist es dass „Sargon 2“ für den VC 20 einfach ein um Klassen besseres Computerschach ist als Video Chess für das Atari 2600.

Sargon 2 hat ein offizielles ELO Rating von 1500 und bei Computerschach-Wettbewerben teilweise Programme geschlagen die auf Millionen Dollar teuren Mainframes lief

6 „Gefällt mir“

Wow, danke für die ausführliche Erläuterung. Für die Wahl des n hatte ich mir nicht die Größe des Brettes sondern einen Parameter des Algorithmus vorgestellt, zum Beispiel die Anzahl der Züge die ein Minmax-Algorithmus vorhersieht bevor er abbricht. Da ich von Schach-Algorithmen (oder Spielalgorithmen allgemein) aber wie gesagt keine Ahnung hab, war das eher eine vage Vorstellung.

Ich habe die Folge schon vier- oder fünfmal heruntergeladen, weil ich immer wieder neues entdecke (hoffe, das versaut Euch nicht die Statistik :sweat_smile: (@Christian :kissing_heart:).
Wenn ich mich richtig erinnere, gab es bei Quelle die Marke „Privileg“ tatsächlich eher für die weiße Ware, wie Kühlschränke und sowas. Bei Unterhaltungselektronik hieß die doch „Universum“ - oder irre ich mich?
Sowas von retro :rofl:

2 „Gefällt mir“

So habe ich es auch in Erinnerung - vielleicht gab’s ja mal eine Neuausrichtung der Marke? Denn auch Gunnar hat Recht: Wie eBay bestätigt, gab’s durchaus auch HiFi-Equipment von Privileg wie dieses Exemplar im herrlichen Siebziger-Design (der Markenname steht vorne links an der Front, hier nur schwer zu sehen):

2 „Gefällt mir“

Ich bin mir außerdem ziemlich sicher, dass wir damals einen Privileg VCR hatten… Andererseits ist das mehr als 20 Jahre her und ich war nicht volljährig, kann also auch gut sein, dass ich das nicht korrekt erinnere. :sweat_smile:

Hammer - danke für den erneuten Retroflash … und natürlich die Richtigstellung. War mir nicht mehr so in Erinnerung.

Habe ich riesig über diese Folge gefreut, da der VC-20 auch mein erster Heimcomputer war (899 DM + 225 DM für die Datasette). Und dann später mit meinem Dad öfters mal zu Data Becker (in Düsseldorf) gefahren. Die hatten immer so Zettel mit Tipps und Tricks rumliegen, die immer spannend waren.

1 „Gefällt mir“

Dass Commodore am Zubehör Geld verdienen wollte, kann man vielleicht ganz gut am Kassettenlaufwerk erkennen. Es wäre doch sehr praktisch gewesen, wenn man einen beliebigen Kassettenrekorder hätte anschließen können.

In diesem Video sieht man eine Bastelanleitung wie man sich einen Adapter dafür bauen kann:

Weiter in diesem Video wird noch eine Werbeanzeige zum VC20 mit Fokus auf Lernsoftware, ein Kommentar zur Vermarktung des VC20 als Spieleplattform und eine Übersicht zu Erweiterungen besprochen.

1 „Gefällt mir“

Ich denke bei 1:31:57 hat sich ein kleiner Fehler eingeschlichen: dort wird erwähnt, der ZX80 hätte eine Gummitatstatur. Meines Wissens hatte der ZX80 genau so eine Folientastatur wie der ZX81. Die Gummitastatur wurde mit dem ZX Spectrum eingeführt.

Also falls irgendwann einmal echt keiner eine Idee hat, was wir bei SFS spielen sollen, würde ich eine Schachpartie zwischen VC20 und Atari2600 vorschlagen. Aber die arme Seele, die das dann in den Podcast Folgen ansprechend kommentieren soll. :smiley:

Wäre doch was für „Stay Forever Spielt“?

Stimmt! Danke für den Hinweis.

So, jetzt habe ich die Folge auch endlich mal gehört und ich muss sagen: Ganz Großartig!

Schön fand ich auch, wie ihr auf das toll Handbuch eingegangen seid. Das war auch mein erster Berührungspunkt mit Computercode. Und am Ende ist tatsächlich ein Informatiker aus mir geworden. Der VC 20 hat tatsächlich meine Laufbahn nachhaltig geprägt.

Ich mit mal auf die nächste Folge gespannt und wie die Geschichte Apple vs. Commodore ausgeht :smiley:

1 „Gefällt mir“

Na lass dich da mal nicht spoilern. Ohne zu viel zu verraten zu wollen: Eine der beiden Firmen wird leider auf der Strecke bleiben!

2 „Gefällt mir“

Es ist interessant, dass Commodore damals Ihre CPUs selber produziert haben, ganz ähnlich wie Apple das heutzutage mit Apple Silicon auch macht. Das scheint schon einen ziemlichen Vorteil zu bringen.

1 „Gefällt mir“