Abschnittsübersicht

    • In den vorherigen Jahrgangsstufen konnten wir mithilfe blockbasierter Programmiersysteme Spiele entwickeln und autonome Systeme (wie etwa den Calliope) zum Messen und Steuern programmieren. Die Blöcke stellten Elemente eine formale Sprache dar, die zur Lösung eines Problems korrekt aneinander gereiht und verschachtelt werden mussten.

      Im dieser kurzen Sequenz wollen wir gruppenweise mithilfe einer alternativen Programmiersprache versuchen, dem Computer

      1. das korrekten Bilden von deutschen Sätzen beizubringen, damit dieser - als Vorstufe zu Alexa und Co. - Sätze prüfen oder generieren kann.
      2. das Lösen von logischen Rätseln beizubringen, damit wir es nicht lösen müssen - als Vorstufe von künstlicher Intelligenz.

    • Lösen logischer Rätsel - deklaratives Problemlösen

      ChatGPT schafft es ganz leicht, Logikrätsel zu lösen. Dazu muss es natürlich den Inhalt der Frage "verstehen" und eine logisch korrekte Antwort erzeugen. Schauen wir uns das mal mit der deklarativen Programmiersprache PROLOG an. Diese Sprache, die ursprünglich für KI entwickelt wurde, beschreibt Wissen durch Fakten und Regeln zu beschreiben. Über eine Anfrage an das System kann dieses dann das Rätsel lösen. Dies stellt eine völlig andere Art der Problemlösung durch Programmieren dar, als beim bisherigen imperativen Ansatz mithilfe eines Algorithmus.

    • Beispiel: 

      Die Jungen Fritz, Hans und Karl rudern mit ihren Booten auf einem See. Die Boote haben die Farben rot, grün und blau.
      Hans sitzt nicht im grünen Boot. Der Junge im roten Boot ist der Bruder von Fritz, der Junge im grünen Boot hat Streit mit Fritz.
      Wir suchen jeweils den Namen des Jungen im roten, grünen bzw. blauen Boot.

      Das Problem lässt sich nur schwer algorithmisch beschreiben/lösen. Versuchen wir es logisch.

      • Person: Hans, Fritz, Karl
      • Farben: rot, grün, blau
      • Boote bestehen aus einem Jungen und einer Farbe.
      • Lösungsmatrix: Hans nicht im grünen Boot ist schon eingetragen. Ergänze den Rest.

      F H K
      R
      G -
      B
    • Zusammenfassung