{"id":738,"date":"2022-09-04T12:16:21","date_gmt":"2022-09-04T10:16:21","guid":{"rendered":"https:\/\/followthescore.org\/schueler-labor\/?p=738"},"modified":"2022-09-05T22:53:11","modified_gmt":"2022-09-05T20:53:11","slug":"ab-in-die-freiheit","status":"publish","type":"post","link":"https:\/\/followthescore.org\/schueler-labor\/ab-in-die-freiheit\/","title":{"rendered":"Ab in die Freiheit!"},"content":{"rendered":"\n<p>Unter dem Titel &#8222;100 Gefangene&#8220; ist eine R\u00e4tselaufgabe bekannt, die eine verbl\u00fcffende L\u00f6sung hat.<\/p>\n\n\n\n<p>Es geht darum, dass eine Gruppe von 100 Gefangenen freikommen kann, wenn es jedem einzelnen von ihnen gelingt, ein R\u00e4tsel zu l\u00f6sen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/0\/05\/100_prisoners_problem_qtl1.svg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Die Gefangenen tragen auf ihrer M\u00fctze eine Zahl von 1 bis 100.<\/p>\n\n\n\n<p>Getrennt voneinander werden sie in einen Raum gef\u00fchrt, in dem sich ein Schrank mit 100 Schubladen befindet. In jeder Schublade befindet sich ein Zettel, auf dem eine Zahl zwischen 1 und 100 steht. Jede Zahl kommt genau einmal vor. Es gibt keine Information dar\u00fcber, wie die Zettel verteilt sind.<\/p>\n\n\n\n<p>Jeder Gefangene darf maximal 50 Schubladen \u00f6ffnen. Findet er dabei den Zettel mit der Nummer, die auf seiner eigenen M\u00fctze steht, hat er das R\u00e4tsel gel\u00f6st.<\/p>\n\n\n\n<p>Die Gefangenen d\u00fcrfen sich dar\u00fcber absprechen, wie sie beim \u00d6ffnen der Schubladen vorgehen wollen, aber in dem Raum mit dem Schrank befindet sich immer nur ein einzelner Gefangener. Hat er das R\u00e4tsel gel\u00f6st, wird er in einen anderen Raum gef\u00fchrt, er kann also nicht mit den Gefangenen sprechen, die noch nicht an der Reihe waren.<\/p>\n\n\n\n<p>Auch alle anderen Methoden des Informationsaustauschs (z.B. bestimmte Schubladen einen Spalt offen stehen lassen) sind nicht erlaubt.<\/p>\n\n\n\n<p>Findet irgendein Gefangener den Zettel mit seiner eigenen Nummer <em>nicht<\/em>, so m\u00fcssen alle zur\u00fcck in ihre Zellen.<\/p>\n\n\n\n<p><strong>Welche Absprache k\u00f6nnen die Gefangenen treffen, damit ihre Chance auf die Freiheit m\u00f6glichst gro\u00df ist?<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>In dem Wikipedia-Artikel (und an vielen anderen Stellen im Web) wird erkl\u00e4rt, dass bei zuf\u00e4lliger Anordnung der Zettel die Gefangenen ihre Chance auf \u00fcber 30% heben k\u00f6nnen, wenn sie nicht zuf\u00e4llig Schubladen \u00f6ffnen, sondern folgendes Verfahren anwenden:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Nummeriere die Schubladen gedanklich durch. \nLinks oben ist die erste, rechts unten die hundertste Schublade.\n\u00d6ffne als erstes die Schublade, deren Nummer deiner eigenen M\u00fctze\nentspricht. Lies die Zahl auf dem Zettel und \u00f6ffne von nun an immer\nals n\u00e4chstes die Schublade, die der Zahl auf dem Zettel entspricht.<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Wie an anderer Stelle erkl\u00e4rt wird, sind die Gefangenen immer dann erfolgreich, wenn es bei den Ketten, die durch die Verweise der Zettel festgelegt sind, keine Sequenz gibt, die l\u00e4nger als 50 ist.<\/p>\n\n\n\n<p>Die Wahrscheinlichkeit daf\u00fcr kann mathematisch berechnet werden, sie kann aber auch mit einem einfachen Programm ermittelt werden, indem man die Situation oft genug simuliert. Ein typisches Programm (Python) dieser Art sieht etwa so aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import random\n\ndef pr\u00fcfe ( schubladen, \u00f6ffnungen ) :\n    random.shuffle ( schubladen )\n    for gefangener in range ( len (schubladen) ) :\n        schublade = gefangener\n        for _ in range ( \u00f6ffnungen ):\n            schublade = schubladen&#91;schublade]\n            if schublade == gefangener: break\n        if schublade != gefangener: return 0 \n    return 1\n\ngefangene   = 100\nversuche    = 50\nexperimente = 10000\n\nschrank     = list ( range (gefangene) )\n\nerfolge     = sum( &#91; pr\u00fcfe(schrank,versuche) \n              for _ in range (experimente) ] )\n\nprint ( f'Gewinnh\u00e4ufigkeit = { erfolge \/ experimente}')\n<\/code><\/pre>\n\n\n\n<p>Das Programm liefert als Ergebnis einen Wert von ca 0,31.   FERTIG!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Na ja, man k\u00f6nnte auch die Frage stellen, ob es noch andere Strategien gibt. Oder man \u00fcberlegt, ob das Gef\u00e4ngnis einen einfachen Weg hat, diese Strategie der H\u00e4ftlinge zu durchkreuzen, wenn es Wind davon bekommt. Und dann kann man wiederum fragen, ob die Gefangenen eine Chance haben, eine hinterlistige Gef\u00e4ngnisleitung zu durchschauen &#8230;<br>Man k\u00f6nnte auch graphische Darstellungen der Zettelverkettung zeigen; man k\u00f6nnte die Verteilungsfunktion der Erfolgswahrscheinlichkeit bei unterschiedlichen Zahlen f\u00fcr Gefangene und zul\u00e4ssige Schubladen-\u00d6ffnungen erstellen&#8230;<\/p>\n\n\n\n<p>Wenn man zu allen solchen Fragen ein Programm schreiben will, droht ganz schnell die Gefahr, dass der Code sehr un\u00fcbersichtlich wird. Man <strong>darf nicht<\/strong> damit beginnen, auf den Algorithmus zu schauen, also auf <strong>das WIE<\/strong> der L\u00f6sung, sondern man <strong>muss erst einmal<\/strong> die Welt der Beteiligten (<strong>das WER<\/strong>) abbilden und diese dann &#8211; wie in einem Theaterst\u00fcck &#8211; miteinander in Szene setzen. <br><br><em>Das klingt komisch, unn\u00f6tig, befremdlich?<\/em><\/p>\n\n\n\n<p>Mag sein, aber es ist erwiesenerma\u00dfen der einzige Weg, ein gr\u00f6\u00dferes Programm zu schreiben, das &#8222;\u00fcberlebensf\u00e4hig&#8220; ist, auch wenn jemand anders als der Autor eine Erweiterung vornehmen will. Bei 100 Zeilen merkt man den Effekt noch nicht, bei 1000 Zeilen ist es schon recht n\u00fctzlich, bei 10.000 Zeilen geht es kaum noch anders. Und wenn man es nicht macht, wird der n\u00e4chste Autor erkl\u00e4ren, dass man das komplette Progranmm wegwerfen und neu schreiben muss, weil er sich nicht zurechtfindet. \u00dcber 10.000.000 Lines of Code (solche Systeme gibt es durchaus in der Praxis) wollen wir erst mal gar nicht reden.<\/p>\n\n\n\n<p>Informatiker benutzen das Wort <strong>Objektorientierung<\/strong> f\u00fcr diese Art der Softwarestrukturierung. &#8222;<strong>Theatermodus<\/strong>&#8220; kling aber besser und ist n\u00e4her dran an dem, was man erreichen will. Es geht n\u00e4mlich darum, handelnden <strong>Subjekten<\/strong> in der Software Gestalt zu geben, die eigene F\u00e4higkeiten, spezifisches Wissen und ein Ged\u00e4chtnis haben, die Ziele verfolgen und dabei andere f\u00fcr ihre Zwecke einspannen, indem sie ihnen Auftr\u00e4ge erteilen und deren Ergebnisse weiter verwenden. <\/p>\n\n\n\n<p>Unter <strong>Objekt<\/strong> stellt man sich Dinge vor, die ein handelnder Mensch (der den vollen \u00dcberblick hat) f\u00fcr seine Zwecke benutzt. Ohne ihn liegen die Objekt einfach nur herum. Diese Denkweise f\u00fchrt in die Irre, weil sie &#8222;kopflastige&#8220; Software schafft, in der eine allwissende Hauptfunktion (manchmal sp\u00f6ttisch Gott-Funktion genannt) alle anderen Elemente manipuliert. So funktioniert kein Regierungs-kabinett, kein Unternehmen und erst recht kein ordentliches Computerprogramm.<\/p>\n\n\n\n<p>&#8222;<strong>Versammle souver\u00e4ne schlaue Subjekte um dich, mach sie miteinander bekannt und dann sorge daf\u00fcr, dass sie miteinander kooperieren und dabei deinen Zielvorgaben folgen!<\/strong>&#8220; m\u00f6chte man so manchem Staatschef oder Konzernboss zurufen. In der Softwareentwicklung ist es nicht anders! Nur, dass man sich dort seine Mitarbeiter (&#8222;Module&#8220;, &#8222;Komponenten&#8220; oder &#8222;Klassen&#8220; genannt) selber backen kann &#8211; anders als in der Realit\u00e4t. Au\u00dferdem sind sie unendlich gehorsam und flei\u00dfig, solange man sie mit elektrischer Energie ern\u00e4hrt. Was will man mehr?<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Auf unser Beispiel angewandt, erkennen wir sofort den <strong>einzelnen Gefangenen<\/strong> als Subjekt, aber auch die <strong>Gruppe der Gefangenen<\/strong> und die <strong>Gef\u00e4ngnisleitung<\/strong>. Auch der <strong>Schrank<\/strong> mit den Schubladen ist ein guter Kandidat. Denn profane Dinge haben in der Welt der Informatik eine Seele (sind also Klassen), insbesondere wenn sie eine innere Struktur besitzen und wenn sie irgendeine Funktion haben (Der<strong> Schrank<\/strong> besteht aus Schubladen, die beweglich sind). Sogar die einzelne <strong>Schublade<\/strong> kommt als Kandidat f\u00fcr ein Subjekt unserer Inszenierung in Frage, denn sie kann sich \u00f6ffnen und schlie\u00dfen und wechselt dabei ihren Zustand. <br>Eine etwas andere Art von Subjekten sind &#8222;Prozesse&#8220;, also Schrittfolgen (Rezepte), die in einer bestimmten Reihenfolge oder in bestimmten Intervallen Aktionen ansto\u00dfen. In unserem Fall ist das die <strong>Simulation<\/strong>, die aus einer Reihe von <strong>Experimenten<\/strong> besteht. Jedes Experiment entspricht einem Durchgang, in dem die Gefangenen mit einem bestimmten Schrank um ihre Freiheit ringen. Apropos Freiheit. Wir brauchen noch ein initiales Subjekt (&#8222;Hauptprogramm&#8220;), das alles in Szene setzt; was eignet sich besser dazu als der Wunsch nach <strong>Freiheit<\/strong>?<\/p>\n\n\n\n<p>Damit diese Figuren unseres Theaterst\u00fccks Leben bekommen, schreiben wir auf, was sie k\u00f6nnen (Liste der <em>F\u00e4higkeiten<\/em>), was sie wissen (<em>Ged\u00e4chtnis<\/em>) und eventuell auch, welche unterschiedlichen <em>Zust\u00e4nde<\/em> sie im Laufe ihres Daseins annehmen k\u00f6nnen.<\/p>\n\n\n\n<ul><li>Die <strong>Gef\u00e4ngnisleitung<\/strong> bietet der Gruppe der Gefangenen die Chance auf die Freiheit an. Sie verteilt die Zettel auf die Schubladen des Schranks und f\u00fchrt mit der Gruppe der Gefangenen das Freiheitsexperiment durch. Sie notiert am Ende den Erfolg oder Misserfolg des Experiments.<\/li><li>Das <strong>Experiment<\/strong> f\u00fchrt die Gruppe der Gefangenen der Reihe nach in das Zimmer mit dem Schrank. Es \u00fcberwacht, ob ein  Gefangener das R\u00e4tsel l\u00f6sen konnte. Es beendet den Vorgang wenn ein Gefangener erfolglos bleibt oder nachdem alle Gefangenen erfolgreich waren. Es teilt am Ende sein Resultat (&#8222;Freiheit erlangt = JA oder NEIN) mit.<\/li><li><span style=\"font-family: var(--list--font-family); background-color: var(--global--color-background); color: var(--global--color-primary); font-size: var(--global--font-size-base);\">Die <strong>Gruppe der Gefangenen<\/strong> legt eine Strategie fest. Sie stellt dabei Vermutungen dar\u00fcber an, wie die Gef\u00e4ngnisleitung die Zettel verteilt haben k\u00f6nnte.<\/span><\/li><li>Der einzelne <strong>Gefangene<\/strong> merkt sich die vereinbarte Strategie und f\u00fchrt sie aus, indem er den<em> Schrank <\/em>nach dem Zettel fragt, der sich in einer bestimmten Schublade befindet. Er liest den Zettel und kann diese Information nutzen. Er erkennt dabei auch, ob er das R\u00e4tsel gel\u00f6st hat.<\/li><li>Der <strong>Schrank<\/strong> wei\u00df, wie seine Schubladen angeordnet sind, etwa so, wie ein Kellner in einem Restaurant einen Plan der Tischnummern hat. Er kann seine <em>Schubladen<\/em> auffordern, sich zu \u00f6ffnen und zu schlie\u00dfen. Er versteht (im Gegensatz zur einzelnen Schublade), dass der Gegenstand, den sie enth\u00e4lt, ein Zettel mit einer Zahl ist; er teilt diese Zahl mit, wenn er aufgefordert wird, eine bestimmte Schublade zu \u00f6ffnen. Er sorgt daf\u00fcr, dass die entsprechende Schublade sofort nach dem \u00d6ffnen wieder geschlossen wird.<\/li><li>Die <strong>Schublade<\/strong> kann sich \u00f6ffnen und schlie\u00dfen. Sie kann einen Gegenstand aufnehmen und wieder hergeben. Sie wei\u00df nicht, dass es au\u00dfer ihr noch andere Schubladen gibt. Sie hat m\u00f6glicherweise eine Vorstellung davon, wie gro\u00df und wie schwer ein Gegenstand sein darf, den sie beherbergt, sie hat aber keine Ahnung von dessen sonstigen Eigenschaften.<\/li><li>Die <strong>Freiheit<\/strong> ist der Veranstalter und Moderator des Theaterst\u00fccks. Sie erschafft die <em>Gef\u00e4ngnisleitung<\/em> und die <em>Gefangenen<\/em>. Die Gef\u00e4ngnisleitung baut sich ihren Schrank, wobei dieser wiederum seine Schubladen erzeugt. Die Gef\u00e4ngnisleitung f\u00fchrt die gew\u00fcnschte Anzahl von Experimenten (mit jeweils neuer Zettelverteilung) durch. Die Freiheit legt zu Beginn jeder Serie von Experimenten fest, welche Strategie die Gefangenen benutzen sollen. Damit sie dies tun kann, zeigt ihr die Gruppe der Gefangenen bei Bedarf eine Liste der m\u00f6glichen Strategien. Ebenso legt die Freiheit fest, nach welcher Strategie die Gef\u00e4ngnisleitung den Schrank bei der betreffenden Serie von Experimenten konfigurieren soll. Damit sie dies tun kann, liefert die Gef\u00e4ngnisleitung bei Bedarf eine Liste der Strategien, die sie sich ausgedacht hat. Die Freiheit bietet dem menschlichen Benutzer des Systems (irgendwo kommt der Mensch schlie\u00dflich doch noch ins Spiel) die M\u00f6glichkeit, alle Strategien paarweise zu vergleichen oder auch nur ein ganz bestimmtes Paar gegeneinander antreten zu lassen. Der Mensch kann w\u00e4hlen, wie viele Experimente bei jedem Paarvergleich durchgef\u00fchrt werden sollen.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Ein paar Formulierungen in der obigen Darstellung klingen ziemlich schr\u00e4g, oder? Zum Beispiel das Verh\u00e4ltnis zwischen dem Schrank und seinen Schubladen (A). Wir haben hier schlie\u00dflich kein Hochregallager, in dem Reifen, Motorbl\u00f6cke oder Lenkr\u00e4der eingelagert werden. Und wenn es schon so kompliziert sein muss, warum wird der Schrank dann nicht aus seinen Schubladen zusammengesetzt? Warum soll er sie erzeugen? Da str\u00e4ubt sich die Intuition. <br>(B) Warum muss das Experiment ein eigenes Subjekt sein? Die Gef\u00e4ngnisleitung hat sich den ganzen Prozess doch ausgedacht, sie k\u00f6nnte doch auch den Ablauf durchf\u00fchren!<br>(C) Und \u00fcberhaupt: Warum muss denn so penibel erkl\u00e4rt werden, wie die Freiheit die Subjekte ins Leben ruft, bzw. wie diese dann ihre Kinder und Kindeskinder erzeugen? Warum sind die Figuren nicht einfach von Anfang an da? Warum kann es denn nicht so herrlich einfach sein wie bei dem Python-Progr\u00e4mmchen mit seinen 20 Zeilen?<\/p>\n\n\n\n<p><strong>Gut, gehen wir die Fragen der Reihe nach durch:<\/strong><\/p>\n\n\n\n<p>(A) Wenn Schubladen wirlich nichts anderes k\u00f6nnen sollen als Zahlen beherbergen, dann m\u00fcssen sie keine &#8222;First-Class-Citizens&#8220; in unserem Theaterst\u00fcck sein. Wir h\u00e4ngen gedanklich vor den Schrank einen Vorhang mit einem einzigen kleinen Loch &#8211; etwa so wie am Ende einer Theatervorstellung, wenn die Schauspieler einzeln heraustreten d\u00fcrfen &#8211; oder wie bei der Werkzeugausgabe beim Materiallager. Ob der Schrank lauter identische Schubladen hat und wie diese funktionieren, das kann sowohl dem einzelnen Gefangenen als auch der Gef\u00e4ngnisleitung egal sein. Wir verbergen hinter dem Interface des Schranks die Liste der Schubladen &#8211; oder der Tiefgaragenpl\u00e4tze, falls wir sp\u00e4ter einmal Autos ablegen wollen anstelle von Zetteln. Und weil Software teuer ist, implementieren wir zun\u00e4chst die Schubladen als einfachen Array von Objekten, die nur aus einer Ganzzahl bestehen. Das Sch\u00f6ne ist, dass die Implementierung sp\u00e4ter wachsen kann, ohne dass das Interface sich \u00e4ndert. Wir ben\u00f6tigen nur drei F\u00e4higkeiten (1) &#8222;Ding auf Platz x legen&#8220;, (2) &#8222;Ding auf Platz x zeigen&#8220; und (3) &#8222;Ding von Platz x entfernen&#8220;. (1) und (3) sind reserviert f\u00fcr Gef\u00e4ngnisleitung, (2) ist verf\u00fcgbar f\u00fcr einen Gefangenen, der vor dem Schrank steht. Wir haben also genau genommen zwei Interfaces! Dass der Schrank seinen Lagerraum selbst verwaltet, ist also klar. Und genau deshalb muss er ihn auch selber erzeugen! Wenn er dazu einen Schreiner braucht oder eine Architekten, soll er sich selbst darum k\u00fcmmern. Wir werden ihm nicht irgendwelche Schubladen andienen, von denen er uns dann sagt, dass er diese komischen Dinger nicht gebrauchen kann&#8230;<\/p>\n\n\n\n<p>(B) Einen Ablauf zu einem eigenen Subjekt zu erheben, kann sinnvoll sein, muss es aber nicht. Wenn der Ablauf zwischendurch unterbrochen werden kann, wenn er mehrfach parallel ausgef\u00fchrt werden kann, wenn es diverse Varianten davon gibt &#8211; dann sind das gute Anhaltspunkte daf\u00fcr, ihm eine eigen Klasse zu widmen. In unserem Fall ist es jedoch recht einfach: Die Gefangenen kommen immer der Reihe nach dran, ohne Unterbrechung, ohne Parallelit\u00e4t. Also geben wir uns damit zufrieden, diesen Ablauf als F\u00e4higkeit (=Funktion, Methode) demjenigen Subjekt zuzuordnen, das &#8222;die nat\u00fcrliche Verf\u00fcgungsgewalt&#8220; dar\u00fcber hat, und das ist in unserem Fall die Gef\u00e4ngnisleitung.<\/p>\n\n\n\n<p>(C) Es gibt Programme, die sich ihren Gesamtzustand so merken, dass er erhalten bleibt, wenn das Programm zuende ist. Der Rechner bietet daf\u00fcr dauerhaften Speicher an, etwa in Form von klassichen Dateien oder Datenbanken. W\u00e4re unser Programm so beschaffen, dann m\u00fcssten wir \u00fcber die Erstbef\u00fcllung von Datenbanktabellen nachdenken. Ist es aber nicht. Also fangen wir beim Urknall an. Und deswegen m\u00fcssen wir die ganze Entstehungsgeschichte unserer Figuren festlegen. Wichtig ist dabei oft, wer zuerst da ist; denn neu hinzukommende Subjekte k\u00f6nnen bei ihrer Entstehung gleich direkt mit der vorhandenen Welt bekannt gemacht werden. Wenn jedoch einer der Anwesenden mit einem neuen Mitglied der Schauspieltruppe Freundschaft schlie\u00dfen soll, muss man ihm den Neuling extra zeigen, nachdem dieser geboren wurde. Eine bew\u00e4hrte Vorgehensweise ist es daher, die einfacheren Charaktere zuerst zu erzeugen und die h\u00f6heren Koordinatoren erst sp\u00e4ter.<br>In unserem Fall muss sich die Gef\u00e4ngnisleitung an ihre Gefangenen wenden k\u00f6nnen. Als Informatiker finden wir es daher &#8222;nat\u00fcrlich&#8220;, zuerst die Gefangenen zu erzeugen und danach das Gef\u00e4ngnis &#8211; welch seltsame Welt &#8230;. Oder wir bitten das Gef\u00e4ngnis, sich seine Gefangenen selbst zu erzeugen. Wenn wir allerdings eine Prise Idealismus dem Prinzip der Gewaltenteilung spendieren wollen, dann sollte doch der Gef\u00e4ngnisdirektor Diener der Justiz sein, die entscheidet, wer hinein muss. Also besser doch nicht so herum. Der Schrank geh\u00f6rt allerdings ganz klar dem Gef\u00e4ngnis, er kann von diesem also selbst erschaffen werden. Die Freiheit setzt das Ganze in Gang, kommt somit als erstes dran. Damit sie jedoch ihren Dienst tun kann, muss sie im Rahmen ihrer Entstehung zun\u00e4chst die Gefangenen und dann das Gef\u00e4ngnis erzeugen. <br>Ja, das klingt umst\u00e4ndlich und langatmig. Aber Evolution ist kompliziert. Und der Rechner ben\u00f6tigt nur ein paar Mikrosekunden daf\u00fcr.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unter dem Titel &#8222;100 Gefangene&#8220; ist eine R\u00e4tselaufgabe bekannt, die eine verbl\u00fcffende L\u00f6sung hat. Es geht darum, dass eine Gruppe von 100 Gefangenen freikommen kann, wenn es jedem einzelnen von ihnen gelingt, ein R\u00e4tsel zu l\u00f6sen. Die Gefangenen tragen auf ihrer M\u00fctze eine Zahl von 1 bis 100. Getrennt voneinander werden sie in einen Raum&hellip; <a class=\"more-link\" href=\"https:\/\/followthescore.org\/schueler-labor\/ab-in-die-freiheit\/\"><span class=\"screen-reader-text\">Ab in die Freiheit!<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/738"}],"collection":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/comments?post=738"}],"version-history":[{"count":7,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/738\/revisions"}],"predecessor-version":[{"id":748,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/738\/revisions\/748"}],"wp:attachment":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/media?parent=738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/categories?post=738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/tags?post=738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}