Modellierung psychischer Prozesse Dietrich Dörner Ute Schmid Inhaltsverzeichnis 1 Was ist Simulation und wozu dient sie? 2 Wie baut man Simulationsmodelle? 3 Ein Beispiel: Angst 1 Was ist Simulation und wozu dient sie? Simulieren heißt "gleich machen"! Der Begriff bedeutet im Alltag auch oft "scheinbar gleich machen", wenn man z.B. eine Krankheit "simuliert", um einer Matheklausur zu entgehen. Wir gebrauchen den Begriff im direkten Wortsinn. Ein System simuliert ein anderes, wenn es unter gleichen Umständen das gleiche tut, wie das andere. Ein System simuliert einen menschlichen Schachspieler, wenn es unter gleichen Umständen die gleichen Züge, die gleichen Fehler macht wie der Mensch, gegen die gleichen Gegner in der gleichen Weise verliert und gewinnt, die gleichen Lernfortschritte macht, unter den gleichen Umständen "aus Wut" das Schachbrett umstößt … Ein Computer simuliert menschliches Schachspiel keineswegs, wenn er nur Schachspielen kann. Das System, das simuliert, ist das "Modell"; das simulierte System ist das "Urbild". Das Modell stellt man her; das Urbild ist gewöhnlich ein natürliches System, z.B. die psychische Organisation eines Menschen beim Schachspiel. Für Modell und Urbild gilt die gleiche Theorie; das zumindest ist das Ziel der Modellkonstruktion. Das heißt, dass man beide Systeme mit der gleichen Theorie beschreiben kann; in beiden Systemen kommen die gleichen Prozesse vor, ausgelöst durch die gleichen Bedingungen. Allerdings können die "gleichen" Prozesse in beiden Systemen sehr ungleich aussehen. Dazu ein Beispiel. Abb. 1 zeigt links ein "echtes" Neuron, eine Nervenzelle mit ihrem Zellkörper, den Dendriten, und den im Dendritengeflecht endenden Axonen anderer Neuronen mit ihren synaptischen Endknöpfchen. Nun wollen wir wissen, wie ein Neuron bezüglich seiner Eigenschaften der Informationsübertragung, also der Weiterleitung von Aktivierungen, aussehen kann. Dazu konstruieren wir ein Modellneuron, dass man rechts auf der Abb. 1 sieht. 0.5 INPUT 0.3 GEWICHT 0.3 0.2 0.7 -0.2 0.4 0.1 -0.3 0.4 0.3 0.3 Abb. 1: Natürliche und künstliche Neuronen Zu einem bestimmten Zeitpunkt bekommt ein Neuron Inputs über die synaptischen Endigungen, die an seinem Dendritengeflecht und dem Zellkörper anliegen. Es gibt erregende und hemmende Inputs. Wir wollen annehmen, dass jeder Input zwischen 0 (= keine Erregung) und 1 (= maximale Erregung) variiert. Zu einem bestimmten Zeitpunkt hat also jeder Input einen Wert zwischen 0 und 1. Die Erregung wird nun einmal nach Maßgabe der Inputgröße und zum anderen nach Maßgabe des synaptischen Übergangsgewichts auf das Zielneuron übertragen. Wir wollen annehmen, dass die synaptischen Übergangsgewichte gleichfalls zwischen 0 und 1 variieren. Und wir nehmen an, dass der übertragene Erregungsimpuls gleich dem Produkt aus Erregung und synaptischem Übergangsgewicht ist. Ist also die Erregung einer synaptischen Endigung = 0.8 und ist das synaptische Übergangsgewicht = 0.5, so wird ein Impuls der Größe 0.4 übertragen. Die hemmenden Inputs haben ein negatives Gewicht. Für die gesamte Erregung des Neuron nehmen wir an, dass die einzelnen Inputprodukte aufaddiert werden. So ergibt sich die Erregung des Neuron, die dieses wiederum über sein Axon weiterleitet. Die maximale Erregungsfrequenz pro Zeiteinheit setzen wir = 1, die minimale = 0. – Das Modellneuron hat vier positive und zwei negative Inputs. Man sieht die Inputstärken in Zahlen und auch die Größe der synaptischen Übergangsgewichte. Das Neuron würde aufgrund dieser Inputs eine Erregungsfrequenz von 0.39 (39% des Maximums) erzeugen. Aus dem ursprünglichen Eiweißklümpchen ist nun eine Menge von Programmanweisungen geworden, die folgendermaßen aussieht: a := Summe (inp i × g i ); if a>1 then a:=1; if a<0 then a:=0; Das Neuron besteht aus einzelnen Variablen (a, inp i , g i ) und aus Funktionen, die diese Variablen miteinander verbinden. Nun haben wir also ein echtes Neuron und ein Modellneuron. Wir haben bestimmte Merkmale des "echten" Neurons präzisiert. Auch das echte Neuron bekommt Inputs, diese bestehen aus Impulsfrequenzen, die über die Axone in die synaptischen Endigungen treffen. In den synaptischen Endigungen befinden sich Depots von Transmittersubstanzen. Sowohl die Impulsfrequenzen als auch die Größe der Depots lassen sich in Zahlenwerten angeben. Beim echten Neuron wird aufgrund des Inputs die Membran hyperpolarisiert oder depolarisiert. Das Ausmaß der Polarisation aufgrund der verschiedenen Inputs errechnet sich aufgrund der Inputprodukte. Die Summenformel steht also für den Prozess der De- oder Hyper-Polarisation der Membran. Wenn wir das Neuron in einem Computer realisieren, dann gibt es im Computer natürlich keine Membranen und keine Depots von Transmittersubstanzen und auch keine Impulsfrequenzen in den Axonen. All das wird im Computer anders realisiert, nämlich dadurch, dass bestimmte Speicherzellen bestimmte Werte annehmen. Das Modellneuron ist im Computer materiell anders realisiert als das Urbild. Dabei aber wird angenommen, dass beide materielle Realisierungen analog funktionieren. Und diese Analogie ist die "Gleichheit" der Prozesse; obwohl die Prozesse einmal (im Urbild) biochemisch realisiert sind, im anderen Fall als Berechnungen in der CPU (central processing unit) eines Computers stattfinden. Es kommt also bei den verschiedenen Berechnungsprozessen das Gleiche heraus; die Berechnungsprozesse sind "Verhaltensmodelle" voneinander (oder sollen das sein): gleicher Input erzeugt gleichen Output, aber auf unterschiedliche Weise. Das künstliche Neuron ist seinerseits ein "Strukturmodell" des natürlichen; es besteht aus den gleichen Teilen und Zuständen (Synapsen, Aktivitäten) wie das "echte" Neuron. Das Modellneuron ist also ein Replikat des "Urbildes" in einem anderen Medium. Gewöhnlich sind Modelle keine vollständigen Replikate. In unserem Beispiel haben wir bestimmte Teile, die bei dem "echten" Neuron vorhanden sind, weggelassen, zum Beispiel den Zellkern. Wir haben Vereinfachungen vorgenommen; das ist normal beim Modellieren (obwohl nicht unbedingt notwendig). Dadurch wird das Modell gewöhnlich gröber als sein Urbild. Die Vergröberung ist eine mögliche Fehlerquelle. Wozu baut man Modelle? Um klare Begriffe zu bekommen. Die Psychologie hat wenig klare Begriffe. Obwohl es eine wissenschaftliche Erforschung der Intelligenz seit mehr als 100 Jahren gibt, weiß niemand heute eigentlich genau, was Intelligenz ist. Noch schlimmer steht es mit den Gefühlen. Ein Wörterbuch der Psychologie (Dorsch, Häcker & Stapf, 1998, S. 307) bezeichnet Gefühle als undefinierbar!. In der Psychologie kann man leider das meiste, was interessiert, nicht sehen, riechen, anfassen (wie das in anderen Wissenschaften der Fall ist). Man kann "Reize" sehen (vielleicht!) und "Reaktionen", aber alles was dazwischen ist, bleibt "unfassbar". Ein Modell ist eine White Box, die man an die Stelle eines "schwarzen Kastens" (Black Box) setzt. Und dadurch versucht man, den schwarzen Kasten zu durchschauen. Man versucht also zum Beispiel, solche künstlichen Neuronen, wie wir sie gerade dargestellt haben, so zusammenzufügen, dass die Neuronennetze Erinnerungs-, Planungs-, Wahrnehmungsprozesse und auch Motivationsprozesse durchführen. Es liegt auf der Hand, dass die Modellbildung große Vorteile hat. Man kann auf diese Weise Tausende von Neuronen zugleich in einem Computer "simulieren" und studieren, welches Verhalten Neuronenverbände zeigen, ob sie die entsprechenden Prozesse bei Menschen nachbilden. Die Simulation treibt die Theorienbildung voran, weil sie bestimmte Zwänge setzt: Die Simulation zwingt zu Genauigkeit; statt nur davon zu reden, dass Neuronen andere Neuronen aktivieren, muss man die genaue Funktion angeben, nach der diese Aktivierung vonstatten geht. Ein theoretisches "irgendwie" verbietet sich. Die Simulation zwingt zur Vollständigkeit: man muss alles explizieren, was man braucht, um zum Beispiel einen Erinnerungsprozess in einem neuronalen Netz nachzuahmen.. Die Simulation zwingt zur Konsistenz, zur Widerspruchsfreiheit. Widersprüchliche Formulierungen funktionieren nicht. Damit ist die Modellbildung, zusammen mit der Überprüfung der Gültigkeit der Modelle durch Simulation, ein unschätzbares Werkzeug zur Theoriebildung in der Psychologie. Schließlich kann die oft als "unwissenschaftlich" gescholtene Selbstbeobachtung für die Modellbildung nützlich sein. Wenn man bei sich selbst beobachtet, was zum Beispiel unter Stress und Ärger anders funktioniert als im normalen Zustand, so kann man aus solchen Beobachtungen Hypothesen entwickeln, die in die Modellentwicklung eingehen. Und diese Modelle kann man dann objektiv testen! Auf diese Weise wird die Selbstbeobachtung also objektivierbar. 2 Wie baut man Simulationsmodelle? Everything is vague to a degree you do not realize till you have tried to make it precise . . . Bertrand Russell Für die Simulation psychischer Prozesse müssen die angenommenen Wissensstrukturen und Verarbeitungsprozesse in einem formalen Modell abgebildet werden. Dies geschieht oft mithilfe von Methoden der Informatik, insbesondere der Künstlichen Intelligenz (Russell & Norvig, 2002). Eine klassische Herangehensweise zur kognitiven Modellierung ist die Verwendung von Produktionssystemen (Newell & Simon, 1972). Ein Produktionssystem besteht aus (1) einem Arbeitsspeicher, der das aktuelle Wissen enthält, (2) einem Produktionsspeicher, der die Regeln zur Verarbeitung von Wissen vorhält, und (3) einem Interpreter, der das Kontrollwissen des Systems enthält (siehe Abbildung 2). Im Wesentlichen realisiert ein Produktionssystem die Ersetzung von Daten im Arbeitsspeicher durch Anwendung von Regeln aus dem Produktionsspeicher. Dies geschieht in Form von match-select-apply-Zyklen. Wir veranschaulichen die Arbeitsweise eines Produktionssystems am Beispiel der algebraischen Umformung eines mathematischen Ausdrucks so dass nur noch einfache Additionen vorhanden sind (siehe Tabelle 1). Zu Beginn steht der gegebene Ausdruck im Arbeitsspeicher. Der Interpreter vergleicht die linken Seiten aller Regeln mit dem Ausdruck (match). Er verwendet eine einfache Strategie zur Regelauswahl (select), indem er immer die erste anwendbare Regel wählt. Die Regelanwendung (apply) führt zu einer Änderung des Ausdrucks im Arbeitsspeicher. Der nächste match-select-apply-Zyklus beginnt. Nach vier Regelanwendungen ist ein Ausdruck entstanden, der nur noch Additionen enthält. Auf diesen Ausdruck ist keine Regel mehr anwendbar und das Produktionssystem beendet seine Arbeit. Tabelle 1: Veranschaulichung der Arbeitsweise eines Produktionssystems Regeln: 1×x R1 x × (y + z) R2 R3 2×x R4 x×y (0) Arbeitsspeicher: 2 × (1 + 1 × 2) Match: Anwendbare Regeln R 1 auf 1 × 2 R 2 auf Gesamtausdruck R 3 auf Gesamtausdruck R 4 auf 1 × 2 R 4 auf Gesamtausdruck Select: Auswahl von R 1 → → → → x x×y+x×z x+x y×x (2) Arbeitsspeicher: 2 × 1 + 2 × 2 Match: Anwendbare Regeln R 3 auf linken Summand R 3 auf rechten Summand R 4 auf linken Summand R 4 auf rechten Summand Select: Auswahl von R3 Apply: Anwendung führt zu Apply: Anwendung führt zu (1) Arbeitsspeicher: 2 × (1 + 2) Match: Anwendbare Regeln R 2 auf Gesamtausdruck R 3 auf Gesamtausdruck R 4 auf Gesamtausdruck Select: Auswahl von R2 Apply: Anwendung führt zu (3) Arbeitsspeicher: 1 + 1 + 2 × 2 Match: Anwendbare Regeln R 3 auf rechten Summand R 4 auf rechten Summand Select: Auswahl von R3 Apply: Anwendung führt zu (4) Arbeitsspeicher: 1 + 1 + 2 + 2 Produktionsregeln werden als WENN-DANN Regeln formuliert. Regel R 1 in Tabelle 1 liest man: „WENN im Arbeitsspeicher ein Ausdruck steht, in dem die Kostante 1 mit einem beliebigen Term x multipliziert wird, DANN lösche die Multiplikation mit 1 und behalte nur x“. Das heißt, im WENN-Teil der Regel wird eine Bedingung für die Daten formuliert und im DANN-Teil eine Aktion auf den Daten. Bei der kognitiven Modellierung auf der Basis von Produktionssystemen, werden statt der in unserem Beispiel verwendeten einfachen „Vorwärts-Ersetzungs“-Regeln meist zielgesteuerte Produktionssysteme verwendet. Im Arbeitsspeicher stehen dann sowohl ein aktueller Gedächtnisinhalt als auch ein aktuelles Ziel (und möglicherweise noch weitere offene Ziele). Die Produktionsregeln enthalten dann im WENN-Teil offene Ziele, im DANN-Teil können Unterziele gesetzt werden, die erfüllt sein müssen, um das Ziel zu erreichen. Ein Alltagsbeispiel für eine solche Regel wäre „WENN das Ziel ist, Kaffee zu kochen, DANN setze als Unterziele, dass Kaffeepulver und Wasser in der Kaffeemaschine sind“. Bei zielgesteuerten Produktionssystemen wird typischerweise jeweils diejenige Regel ausgewählt, von der angenommen wird, dass das Ergebnis ihrer Anwendung, dem gewünschten Ziel näher ist. Das wird unter anderem mit der sogenannten Mittel-Ziel-Analyse realisiert (Newell & Simon, 1972). Neben einer auf Mittel-Ziel-Analyse basierenden Kontrollstrategie kann die Regelauswahl auch über Stärkewerte realisiert werden. In diesem Fall wird jede Produktionsregel mit einem Stärkewert assoziiert. Dieser Wert sinkt, wenn die Regel nicht gebraucht wird und er steigt bei erfolgreicher Anwendung (Anderson, 1983). Bei vielen Problemen ist nicht unmittelbar ersichtlich, ob ein Zustand näher am gewünschten Ziel ist oder nicht. Entsprechend werden sogenannte Heuristiken eingesetzt, mit denen Zustände bewertet werden. Heuristiken sind Faustregeln, die einen Problemlöser in vielen Fällen in die gewünschte Richtung leiten – aber eben nicht immer. Bei dem Problem in Tabelle 1 ist es nützlich, immer eine Regel auszuwählen, die eine Multiplikation entfernt. Bei der Konstruktion eines Modells für psychische Prozess versucht man, solche Heuristiken einzusetzen, die denjenigen, die menschliche Problemlöser zeigen, möglichst ähnlich sind. Produktionssysteme geben uns die Möglichkeit, Annahmen über Denkprozesse präzise nachzuvollziehen. Denkprozesse werden hier als Folge von Transformationen von Inhalten des Arbeitsspeichers aufgefasst und modelliert. Information kann von außen, durch "Wahrnehmung" in den Arbeitsspeicher gelangen. Beispielsweise kann dies eine Aufgabenstellung sein, die das kognitive System lösen soll. Der Inhalt des Arbeitsspeichers kann aber auch durch mentale Operationen verändert werden. Würden wir die Umformung aus Tabelle 1 im Kopf ausführen, würden wir vermutlich ähnliche Zwischenzustände im Arbeitsspeicher erzeugen, wie es das Produktionssystem getan hat. Inhalte des Arbeitsspeichers können aus dem System ausgegeben werden. Im einfachsten Fall kann dies einfach als Zeichenfolge auf dem Computer-Monitor realisiert werden. Es ist aber auch möglich, das System mit Aktorik-Komponenten – zum Beispiel einem Roboterarm – zu koppeln. Alle Transformationen sowie auch Anforderungen zur Informationsaufnahme oder Aktionsausführung werden durch Produktionsregeln gesteuert. Diese modellieren das prozedurale Wissen des kognitiven Systems. Die Heuristik, also die Kontrollstrategie des Interpreters, gibt vor, welche Produktionsregel in einem bestimmten Zustand zur Anwendung kommt. Die Produktionsregeln legen also fest, was getan werden kann; die Kontrollstrategie beeinflusst, wie effizient eine Aufgabenstellung gelöst wird. Würde im Beispiel in Tabelle 1 etwa das Wissen darüber fehlen, dass die Multiplikation einer Zahl mit zwei der Addition der Zahl mit sich selbst entspricht (R 3 ), wäre es nicht möglich gewesen, die Aufgabe zu lösen. Hätte die Kontrollstrategie in Schritt (2) die Regel bevorzugt, die Argumente einer Multiplikation zu vertauschen (R 4 ) wäre danach Regel R 1 anwendbar geworden. Das Ergebnis hätte dann die Form 2 + 2 + 2 und das Produktionssystem hätte einen Schritt mehr benötigt, um ein Ergebnis zu erzielen. Eine Kontrollstrategie, die immer Regel R 4 bevorzugt, bei der ja keine Multiplikation entfernt wird, würde dazu führen, dass das Produktionssystem keine Lösung findet. Es besteht weitgehend Einigkeit darüber, dass verschiedene kognitive Prozesse auf Basis identischer Elementarmechanismen realisiert werden (Newell, 1990). Entsprechend wurden sogenannte kognitive Architekturen entwickelt , die ein Grundgerüst für die Modellierung kognitiver Prozesse liefern. Insbesondere legt eine kognitive Architektur fest, in welcher Weise Wissen und Produktionsregeln repräsentiert werden, wie die Interaktion mit der Umgebung realisiert wird und welche Kontrollstrategie verwendet wird. Rein praktisch hat die Verwendung einer kognitiven Architektur den Vorteil, dass man sich ganz auf die Entwicklung des kognitiven Modells selbst konzentrieren kann, das heißt, auf die Formalisierung des Wissens, das Menschen verwenden, wenn sie eine bestimmte kognitive Aufgabe erledigen. Gleichzeitig liefert eine kognitive Architektur theoretisch begründete Einschränkungen für die Formalisierung und ermöglicht eine bessere Vergleichbarkeit von Modellen desselben Gegenstandsbereichs. Die in der Psychologie am bekanntesten und am meisten verwendete kognitive Architektur ist ACTR (Anderson, 1993). Diese Architektur baut auf der vorher entwickelten Architektur ACT (Adaptive Control of Thought) auf (Anderson, 1983). ACT-R basiert auf einer Produktionssystem-Architektur und hat die Besonderheit, dass neben einem Produktionsspeicher auch ein Wissensspeicher zur Verfügung steht. Dadurch wird das Langzeitgedächtnis durch zwei Komponenten beschrieben: Im Wissensspeicher ist deklaratives Wissen abgelegt, im Produktionsspeicher prozedurales Wissen. Deklaratives Wissen bezeichnet insbesondere semantisches Wissen, das in strukturierter Form abgelegt ist und das sprachlich formuliert werden kann (know that). Semantisches Wissen meint interindividuell vergleichbares Wissen über Kategorien (ein Hund ist ein Säugetier, ein Hund kann bellen) und grundlegende Fakten (Paris ist die Hauptstadt von Frankreich, 7 mal 8 ist 56) (vgl. Kapitel „Gedächtnis“). Prozedurales Wissen bezeichnet Wissen, das in tatsächliche oder mentale Handlungen umgesetzt wird (know how). Dieses Wissen ist häufig nicht dem Bewusstsein zugänglich und kann nicht verbalisiert werden. Erstellt man ein kognitives Modell in ACT-R kann also berücksichtigt werden, wie deklarative Wissenselemente bei der Lösung von Aufgaben benutzt werden können. Deklaratives Wissen wird als Aktivationsausbreitungsnetz modelliert. Das heißt, wird ein bestimmter Wissensinhalt aktiviert, wird die Aktivierung zu mit diesem Inhalt verbundenen Wissenselementen weitergeleitet. Wird beispielsweise das Konzept Hund aktiviert, steht damit auch bereits das Wissen, dass ein Hund ein Säugetier ist und bellen kann, zur Verfügung. Dass Wissensorganisation in Form eines solchen Aktivationsausbreitungsnetzes kognitiv plausibel ist, wurde in zahlreichen Experimenten nachgewiesen (Anderson, 1983). Eine kognitive Architektur mit ähnlichem Anspruch ist Soar (State Operator And Result) (Newell, 1990). Soar ist eine Weiterentwicklung der ersten kognitiven Architektur überhaupt – dem General Problem Solver (Newell & Simon, 1963). Die Kontrollstrategie von Soar basiert auf der Mittel-ZielAnalyse. Während ACT und ACT-R von Psychologen entwickelt wurden, ist Soar eine in der Künstlichen Intelligenz entwickelte Architektur. Das im Rahmen des General Problem Solvers entwickelte Konzept von Problemlösen als Suche im Problemraum lieferte auch die Grundlage für zustandsbasierte Planungssysteme, wie sie in der Künstlichen Intelligenz bis heute entwickelt werden (Russell & Norvig, 2002). ACT-R und Soar sind symbolische Architekturen. Das heißt, diesen Architekturen liegt die Annahme zugrunde, dass psychische Prozesse als Verarbeitung von Symbolen beschreibbar sind. Die „mentale Sprache“ ist aus einer Menge von primitiven Symbolen aufgebaut. Symbole sind die kleinsten bedeutungstragenden Einheiten. Komplexere Symbolstrukturen werden nach festen Regeln aus den primitiven Symbolen aufgebaut und die Bedeutung komplexerer Strukturen ergibt sich kompositional, also aus der Beudeutung der einzelnen Symbole zusammen mit der Bedeutung ihrer Verknüpfungen (Fodor & Pylyshyn, 1988). Alternativ existieren auf konnektionistischen Prinzipien aufgebaute Ansätze. Diese Ansätze sind von der Idee neuronaler Netze inspiriert. Hier wird Wissen in Form von Erregungsmustern repräsentiert. Konnektionistische Ansätze eigenen sich besonders gut dazu, Lernprozesse zu modellieren. Ein Beispiel für eine solche Architektur ist CLARION (Connectionist Learning with Adaptive Rule Induction ON-line) (Sun & Zhang, 2006). Lernen in symbolischen Ansätzen wird häufig nur als Kombination von Regeln zu größeren Einheiten realisiert. Problemlösestrategien sind üblicherweise durch die fest vorgegebene Interpreter-Strategie zur Regelauswahl starr gegeben. Das heißt, Strategieänderungen basieren lediglich auf einer über die Stärkewerte der Regeln veränderten Präferenz bei der Regelauswahl. Kreatives Problemlösen sowie das Lernen neuer Problemlösestrategien aus beispielhafter Erfahrung sind nur unzureichend mit Produktionssystemen modellierbar. In konnektionistischen Architekturen steht dagegen Lernen aus Erfahrung im Fokus: Lernen wird als Generalisierung über Beispiele, also als induktiver Prozess, modelliert. Einen Vorschlag zur Regelinduktion in symbolischen Systemen ist in Schmid, Hofmann, und Kitzelmann (2009) dargestellt. Die "urtümlichere" Form Modellkonstruktion besteht darin, dass man die Kausalbeziehungen, die man annimmt, in einer geeigneten Programmiersprache formuliert und das Verhalten des kausalen Netzwerks überprüft. Solche Ansätze finden sich häufig in der frühen Kybernetik, die auch "Systemtheorie" genannt wird. Man ist hier nicht auf das "Korsett" eines Produktionssystems festgelegt. Wir werden im nächsten Kapitel ein Beispiel für eine solche Simulation schildern. Die genannten kognitiven Architekturen basieren auf der Grundannahme, dass es möglich ist, psychische Prozesse isoliert von der Einbettung eines Systems in die Umwelt und isoliert von emotionalen und motivationalen Einflüssen beschreiben und erklären zu können. Diese Auffassung wird von verschiedenen Wissenschaftlern bezweifelt (Norman, 1993). Drei aktuelle Architekturen, die psychische Prozesse von in die Umwelt eingebeteten Agenten modellieren sind Icarus (Langley & Choi, 2006), Novamente (Looks, Goertzel, & Pennachin, 2004) und Psi (siehe unten). Während Produktionssysteme typischerweise eine hohe Flexibilität bei der Regelanwendung ermöglichen, sind gerade bei der Berücksichtigung von Emotionen häufig einfachere Modelle angemessener, bei denen in einem gegebenen Kontext eine fest vorgegebene Regel feuert. Ein Beispiel wird im folgenden Unterkapitel gegeben, in dem ein Modell für Angst vorgestellt wird. Um selbst kognitive Modelle zu entwickeln, benötigt man Grundkenntnisse in der Informatik, insbesondere von Methoden der Künstlichen Intelligenz. Ein generelles Verständnis davon, wie vage, verbal beschriebene Annahmen präzisiert werden können erhält man durch die Beschäftigung mit Logik sowie Algorithmenentwicklung. Die in der Künstlichen Intelligenz entwickelten Ansätze zur Wissensrepräsentation, zum Problemlösen und Planen (Russell & Norvig, 2002; Schmid, 2007) liefern das Fundament für die Entwicklung kognitiver Architekturen. 3 Ein Beispiel: Angst What I cannot create, I do not understand. Richard B. Feynman Der Ausgangspunkt für die Konstruktion eines Modells ist natürlich Unwissen. Man hat keine Theorie; man kann sich etwas nicht erklären. Was ist Angst? Angst ist ein Gefühl, verführt zu irrationalem Handeln. Irgendwie ist Angst auch unangenehm! Aber es gibt auch Leute, die sprechen von Angstlust, z.B. beim Achterbahnfahren. Angst hat etwas mit einer Bedrohung zu tun, aber es gibt auch Angst "einfach so", Angst nicht vor etwas bestimmtem, sondern vor dem "Dunkel". Wie hängt das alles zusammen? Das ist unklar! Also versuchen wir einmal, ein Simulationsmodell für "Angst" zu bauen. Das hat zudem den Vorteil, dass Angst ein Gefühl ist und Gefühle nach weit verbreiteter Meinung "nicht berechenbar" sind. Wenn man aber ein Simulationsmodell für Angst" konstruieren möchte, so muss man – natürlich! – Angst als Berechnung darstellen können. Wie soll das gehen? Schauen wir mal! Man beginnt am besten mit einer ganz unsystematischen Sammlung von Daten über Angst. Was ist Angst? Angst bedeutet Fluchttendenzen, aber auch Aggression! Angst kann dazu führen, dass Feindschaften (Hass) entstehen, aber auch Freundschaften (Hilfe!). In Angst kann man nicht mehr klar denken und neigt zu abrupten Reaktionen (Flucht oder Angriff). Der Ängstliche neigt dazu, Krisen- und Gefahrensymptome zu übersehen. Angst bedeutet Selbstunsicherheit; man ist "allem" nicht gewachsen. Es zeigt sich in dieser Sammlung, dass man dieses "Gefühl" schlecht abtrennen kann von anderen psychischen Prozessen; Angst scheint bestimmte Formen des Denkens und des Wahrnehmens zu enthalten, außerdem enthält Angst Bedürfnisse. – Es scheint, dass Angst etwas Übergreifendes ist, nicht eigentlich ein Prozess eigener Art, sondern eine Art von Rahmen für verschiedene Prozesse. Wie simuliert man Angst? Man braucht dafür Annahmen über das Motivsystem des Menschen. Abbildung zwei zeigt ein solches Hypothesengerüst bildhaft. Man sieht Tanks. Diese Tanks sind Messanlagen für bestimmte kritische Variable. Wir haben hier nur vier dargestellt, nämlich Tanks für Hunger, Affiliation (Gruppeneinbindung), Bestimmtheit und Kompetenz. Andere (Durst, Schlaf, Sexualität,. …) haben wir hier weggelassen. Hilfeaktionen Suche nach L-Signalen Suche nach Kompetenzsignalen Exploration, Analyse "Güte" Allgemeines, unbestimmtes Sympathikussyndrom Auflösungsgrad (= 1 - Inhibition) Soll Soll BI Ist Soll BI IL-Signale, mobbing BI BI Ist Ist Hunger Soll Affiliation Ist Bestimmtheit Unerwartetes Ereignis Arousal Inhibition Kompetenz Mißerfolg Antizipation von Erfolg oder Mißerfolg; Antizipation von Gelingen oder Versagen (je stär ker BI, desto geringer die Kompetenz, desto geringer die Erfolgswahrscheinlichkeit). Abb. 2: Ein Bedürfnissystem. In den Tanks befindet sich eine "Flüssigkeit", die einen bestimmten Pegelstand hat. Es gibt für diesen Pegelstand einen Sollwert, (zum Beispiel die vollständige Füllung des Tanks); Sollwert und Istwert können voneinander abweichen; dann wird – je nach Stärke der Abweichung – das Element Bedarfsindikator (BI) aktiv; eine Sollwertabweichung bedeutet, dass ein Bedürfnis einer bestimmten Stärke vorhanden. Die Sollwertabweichung wird dadurch zum Bedürfnis, dass ein aktiver Bedarfsindikator eine Aufforderung für das Gesamtsystem darstellt; er "sagt": "Tu was!", "Beseitige die Ist - Sollwertdifferenz!" Das System, dessen Bestandteile diese Tanks sind, soll bei einer Sollwertabweichung nach Möglichkeiten suchen, den Tank wieder aufzufüllen. Solche Aktivitäten werden als "Verhaltenstendenzen" durch den BI "vorgeschlagen". Über den BI sieht man in Abb. 2 solche Verhaltenstendenzen, z.B. prosoziale Aktivitäten ("Hilfeleistung"), "etwas Gutes tun" für den "Affiliationstank", Exploration und Analyse für den Bestimmtheitstank. Jeder Tank hat einen Zulauf und einen Ablauf. Der Zulauf wird durch bestimmte Ereignisse geöffnet, der Ablauf desgleichen. Diese Ereignisse sind für die verschiedenen Tanks verschieden. Die Zulaufereignisse für den Affiliationstank sind zum Beispiel ein Lächeln, ein Umarmung, Körperkontakte; alle diese Signale sind "Legitimitätssignale" (L-Signale, Boulding, 1974); sie indizieren, dass man den "Gesetzen der Gruppe entspricht" (daher "Legitimität"), dass die Gruppe einen mag. L-Signale sind die Bedürfnisbefriedigungen für den Affiliationstank; sie füllen ihn und vermindern dadurch die Ist-Sollwertdifferenz. "Ablaufereignisse" für den Affiliationstank sind: das böse Gesicht eines Kollegen, sein Wutausbruch, ein Tadel. Diese Illegitimtätssignale entleeren den Affiliationstank, erhöhen also das Bedürfnis nach L-Signalen. Die L- und IL-Signale sind zum Teil angeboren (Lächeln, Gesichtsausdruck), zum anderen werden sie gelernt. Gleichartige Signale gibt es für den Bestimmtheitstank. Ein Zulaufsignal ist ein Ereignis, welches "wie erwartet" eintritt. Ein solches Ereignis "sagt": "du kannst die Welt voraussagen!" Dies Signal befriedigt das Bedürfnis nach Bestimmtheit. Ein "Bestimmtheits-Ablaufsignal" ist z.B. ein unerwartetes Ereignis, Überraschung z.B. Ein solches Ereignis erhöht das Bedürfnis nach Bestimmtheit. Für den Kompetenztank sind "Zulaufereignisse", also Bedürfnisbefriedigungen, zum Beispiel Erfolgsereignisse, Ereignisse also, die darin bestehen, dass etwas klappt. Ablaufereignisse sind dementsprechend Misserfolge und - besonders! - andauernde (also offenbar nicht zu bewältigende) Sollwertabweichungen in anderen Tanks, zum Beispiel andauernder Hunger, andauernder Schmerz! Der Pegelstand im Kompetenztank hat für die gesamte Verhaltensregulation des Systems eine besondere Bedeutung. Der Pegel misst die allgemeine Kompetenz und das ist nichts anderes, als die antizipierte allgemeine Erfolgswahrscheinlichkeit von Aktionen. Das heißt konkret: das System berechnet den Erfolg einer Aktion unter anderem aufgrund der allgemeinen Kompetenz. Ist nun der Pegelstand niedrig, so bedeutet das generell die Antizipation von Mißerfolg! Die Zukunft sieht düster aus; man wird nicht das erreichen, was man erreichen möchte. (Tatsächlich gehen in die Berechnung der Erfolgswahrscheinlichkeit einer Aktion noch andere Größen ein, vor allem die "epistemische Kompetenz", das Wissen um die Wirksamkeit einer Aktion. Bei Routineoperationen ist dies Wissen um den Erfolg sehr sicher und die allgemeine Kompetenz spielt kaum eine Rolle. Dass eine Tür sich öffnet, wenn man auf die Klinke drückt, wird auch bei niedriger Kompetenz noch mit großer Sicherheit antizipiert. Anders ist es aber zum Beispiel mit der Schätzung der Erfolgswahrscheinlichkeit, eine Prüfung zu bestehen. Hier spielt die allgemeine Kompetenz eine große Rolle.) Das ist ein einfaches Modell; in Wirklichkeit nehmen wir natürlich nicht an, dass sich im Nervensystem eines Lebewesen "Tanks" befinden. Diese Tanks sind aber ganz praktisch, weil sie sehr anschaulich sind. Hyland (1981) fordert aus diesem Grunde für Simulationsmodelle ein interpretatorisches "Surplus", eine (eigentlich überflüssige) mechanische oder neuronale Interpretation des Models. Mit solchen Gebilden wie Tanks kann unsere Fantasie besser umgehen als mit der abstrakten mathematischen Formulierung, die eigentlich dahinter steht (und das Wichtige ist). – Die Tanks in Abb. 2 sind Beispiele für akkumulierende beziehungsweise deakkumulierende Speicher. Tatsächlich kann man ja die fortlaufende Berechnung der Pegelzustände in den Tanks durch zwei einfache Anweisungen in einem Computerprogramm realisieren, nämlich durch folgende: Pegel := Pegel + Zulauf - Ablauf; BI := Sollwert - Pegel; An den Tanks, genauer gesagt an deren BI - Elementen, an den Bedarfsindikatoren also, hängen noch andere Variable. Zum Beispiel aktiviert das BI des Kompetenztanks eine Variable "Arousal". Diese wiederum soll den Muskeltonus und die Wahrnehmungsbereitschaft der Sinnesorgane erhöhen, insgesamt für eine erhöhte Handlungsbereitschaft sorgen. Zugleich sollte sie den Auflösungsgrad der kognitiven Prozesse herabsetzen, so dass Wahrnehmungs-, Erinnerungs- und Planungsprozesse zwar grob, aber damit auch schnell ablaufen. (Ein System mit niedriger Kompetenz, also einer niedrigen Erfolgserwartung, sollte die niedrige Kompetenz durch hohe Bereitschaft zum schnellen Handeln kompensieren, das ist die These, die hinter dieser Annahme steht.) Eine Sollwertabweichung im Bestimmtheitstank sollte Explorationstendenzen auslösen; wenn die Bestimmtheit gering ist, ist nicht genügend Wissen über die Welt vorhanden; man sollte versuchen, sich dieses Wissen zu verschaffen. Exploration aber ist gefährlich; daher sollte eine geringe Kompetenz (große Sollwertabweichung im Kompetenztank) zu einer Minderung der Explorationstendenz führen. Einer Erhöhung des Pegels im Bestimmtheitstank führt natürlich auch zu einer Erhöhung des Pegels im Kompetenztank; damit läßt der "Stress" (arousal) nach. Eine Erhöhung des Pegels im Affiliationstank, also eine Sollwertabweichung im Hinblick auf die Affiliation, die "Gruppeneinbindung", führt zu einer Suche nach "L-Signalen", also zur Suche nach einem Lächeln, einem Gespräch. Eine Senkung des Pegels im Bestimmtheitstank, also eine Sollwertabweichung im Hinblick auf die Bestimmtheit, führt zu Maßnahmen, die Bestimmtheit zu erhöhen, im wesentlichen zu Explorationstendenzen. Im einfachsten Fall sind Explorationstendenzen Tendenzen zum Verhalten nach dem Prinzip Versuch-und-Irrtum, also zum "Herumspielen" mit der Umwelt. Auf diese Weise wird die Kenntnis der Umwelt erhöht; man kann bessere Voraussagen machen und lernt neue Verhaltensweisen kennen, um die Umgebung zu manipulieren. Das alles erhöht die Bestimmtheit und zugleich auch die Kompetenz. Wir haben jetzt ein Wirkungsgefüge entworfen, welches im wesentlichen die Regulation von drei Bedürfnissen betrifft. Wenn wir dieses System nun in ein künstliches Lebewesen einbauen, so wird dessen Verhalten zum Teil durch das System, welches wir in Abb. 5 geschildert haben, gesteuert. Es realisiert das, was in der Kognitionswissenschaft gern als "embodiment" bezeichnet wird, die Beziehung der kognitiven Prozesse zu einem lebendigen Körper. Und was hat das mit Angst zu tun? Sie kommt in dem Wirkungsgefüge der Abb. 2 ja gar nicht vor. Nirgendwo steht "Angst" als Bezeichnung für eine Variable. Die Angst wird ersetzt durch ein System von Regulationen. Am ehesten könnte man noch sagen: Angst ist niedrige Kompetenz und niedrige Bestimmtheit und alles, was dadurch ausgelöst wird, z.B. ein hohes arousal und ein niedriger Auflösungsgrad. Daraus ergeben sich ungenaue Wahrnehmungs- und Planungsprozesse. Wie kann man eine solche Theorie (denn die steckt natürlich hinter dem Modell) prüfen? Wir haben künstliche Lebewesen ("Mäuse"), die durch ein Bedürfnissystem der Art des in Abb. 2 dargestellten, gesteuert werden, tatsächlich konstruiert und können ihr Verhalten im Computer beobachten. Abb. 3 zeigt ein Screenshot aus dem Leben der "Mäuse". F W G 3 F G W Abb. 3: Die Mäuse in ihrer Welt. Sie leben auf einer "Insel" wo sie Futter und Wasser finden. (Die entsprechenden Plätze auf der Abb. sind mit F und W gekennzeichnet.) Die Mäuse müssen allerdings wissen, wo solche Plätze sind; zu diesem Zwecke müssen sie die "Insel" erkunden. Außerdem gibt es Plätze mit Heilpflanzen (H), die die Mäuse benutzen können, um Verletzungen zu heilen. Diese können sie sich in Gefährlichen Bereichen zuziehen (z.B. durch Steinschlag) oder durch Streit mit Feinden. Die Mäuse befreunden sich mit anderen Mäusen (d.h. sie werden einander zuverlässige Lieferanten von L-Signalen), entwickeln aber auch Feindschaften zum Beispiel bei dem Kampf um Ressourcen. Die Mäuse können sich vermehren und erziehen ihre Jungen. Das (erworbene) Gedächtnis der Mäuse besteht zum großen Teil aus einem Wegegedächtnis; die Mäuse lernen, wie sie, sich von Landmarke zu Landmarke bewegend, z.B. einen Futterplatz erreichen können. Abb. 6 zeigt einen solchen Weg beispielhaft auf die Landkarte projiziert. Auf die Dauer wird es auf der Insel zu einer Überbevölkerung kommen. Dann entstehen Verhältnisse, die man in der Psychologie als Crowding kennt. Bei Menschen erzeugt crowding Angst. Bei Mäusen auch, wie man der Abb. 4 entnehmen kann. Man sieht, dass sich unter crowding - Bedingungen das Verhalten der Mäuse deutlich verändert. Die sechs Diagramme der Abb. 4 zeigen auf Abszisse die Zeit in "100-Takt" – Einheiten. Auf der Ordinate werden relative Häufigkeiten angezeigt ("pro Maus und Zeittakt"). Ein Zeittakt entspricht ca 5 "echte" Stunden. Im ersten Diagramm allerdings wird die absolute Populationsgröße angezeigt, in dem linken Diagramm der 2. Reihe das durchschnittliche subjektive "Gefühl der Bedrohtheit" pro Maus auf einer Skala zwischen 0 und 1. Folgendes ergibt sich. Mit der Populationsgröße wächst der Streß (Arousal) und es sinkt der Auflösungsgrad der kognitiven Prozesse (Inhibition). Die Mäuse nehmen ungenauer wahr, erinnern sich ungenauer, handeln dadurch schneller, aber auch fehlerhafter. Es steigt die Anzahl der Freunde (pro Maus), aber auch die der Feinde. Die Tendenzen zu aggressivem Verhalten nimmt zu, zugleich die "sozialen" Bemühungen. Die relative Häufigkeit der Fluchtreaktionen nimmt leicht zu, dann aber wieder ab (aufgrund der steigenden Anzahl von Freunden). Die Nachhaltigkeit des Verhaltens nimmt ab, sichtbar in der Zunahme der Motivwechsel (weil sich die Motivstärken verändern, bzw. wegen dem Versuch die laufende Absicht wegen sich bietender Gelegenheiten abzubrechen). Das Mäuseverhalten wird mehr "ad hoc" und verliert dadurch an Nachhaltigkeit. Die Mäuse sind mit steigender Populationsdichte zunehmend desorientiert, übersehen Freunde und Feinde und Landmarken. Man sieht auch, dass die Population ab dem Zeittakt 100,000 stagniert sogar wieder abnimmt! Das sind direkte Effekte der Angst! Arousal 200 0.6 9 Population Freunde Inhibition Feinde 0 0 0 500 1000 1500 2000 0 2500 500 1000 1500 2000 2500 0.05 0.35 Übersehen von Mäusen Bedrohtheit Landmarken 0 0 0 500 1000 1500 2000 0 2500 500 1000 1500 2000 2500 0.07 0.06 Motivwechsel wegen Kontaktsuche Motivstärke Aggression "Gelegenheit" Flucht 0 0 0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500 Abb. 4: Crowding und Angst. Wir haben nun gezeigt, dass es durchaus gelingen kann, einen komplexes psychisches Geschehen, ein Gefühl, als ein Gefüge von berechenbaren Prozessen darzustellen. Genau das ist der Vorteil, den man durch "Simulation" gewinnt. Indem man etwas schafft, versteht man es! Angst ist jetzt nicht mehr nur einfach Angst, sondern ein organisiertes Gefüge anderer Prozesse, eine bestimmte Form von Wahrnehmungsprozessen, die verstärkte Entwicklung sozialer Beziehungen, "unscharfe" kognitive Prozessse, "fahriges" Verhalten. (Dies "Gefühlsmodell" ist ein Teil des PsiModells, s. Dörner et al., 2003 und Bach, 2009.) Zusammenfassung Die Simulation psychischer Prozesse durch Computermodelle ist das wesentliche Werkzeug der theoretischen Psychologie. Simulation zwingt dazu, theoretische Annahmen genau, vollständig und widerspruchsfrei in einem Modell umzusetzen. Eine wichtige Grundlage für die Entwicklung von Computermodellen psychischer Prozesse sind Produktionssysteme. Produktionssysteme können als Basis sogenannter kognitiver Architekturen verwendet werden. Eine kognitive Architektur bietet einen allgemeinen Rahmen zur Entwicklung von Computermodellen über verschiedene Aufgaben und Inhaltsbereiche hinweg. Eine bekannte kognitive Architektur ist ACTR. Hier wird Wissen in deklarativer sowie prozeduraler Form repräsentiert. Klassische Architekturen fokussieren auf die Modellierung höherer kognitiver Prozesse von Einzelindividuen. Ein Ansatz, der Kognition, Emotion und Motivation für mehrere Agenten, die in eine Umwelt eingebettet agieren, ist das Psi-Modell. Im Rahmen des Psi-Modells werden Grundbedürfnisse über Pegelstände in Tanks modelliert. Bestimmte Konstellationen der Ist-Soll-Wert-Abweichungen korrespondieren mit Gefühlen. Beispielsweise korrespondiert das Wirkungsgefüge aus niedriger Kompetenz und niedriger Bestimmtheit mit dem Gefühl der Angst. Denkanstöße 1. Gibt es wesentliche Unterschiede zwischen der Simulaton psychischer Prozesse auf dem Computer und den psychischen Prozessen beim Menschen? Macht es einen Unterschied, wenn ein Mensch sagt, ich habe Schmerzen und wenn ein Computerprogramm ausgibt, dass Schmerz vorliegt? 2. Kann ein auf Symbolverarbeitung basierendes Computermodell, das völlig von der neuronalen Realisierung psychischer Prozesse im Gehirn abstrahiert, tatsächlich als Modell psychischer Prozesse gelten? 3. Kann eine Computersimulation, die auf die Einbettung eines psychischen Systems in eine Umwelt und auf „Körperlichkeit” verzichtet, brauchbare theoretische Erkenntnisse über die Funktionsweise des menschlichen Geistes liefern? Empfehlungen zum Weiterlesen Dörner, D., Bartl, C. & Detje, F. (2002). Die Mechanik des Seelenwagens. Eine neuronale Theorie der Handlungsregulation. Bern: Hans Huber Verlag. Dörner, D. (2001). Bauplan für eine Seele. Reinbek: Rowohlt. Görz, G. & Nebel, B. (2003). Künstliche Intelligenz. Frankfurt: Fischer. Schmid, U. & Kindsmüller, M. (1996). Kognitive Modellierung. Einführung in die logischen und algorithmischen Grundlagen. Heidelberg: Spektrum Akademischer Verlag. Strube, G., Becker, B. & Freksa, C. (Hrsg.) (1996). Wörterbuch der Kognitionswissenschaft. Stuttgart: Klett-Cotta. Thagard, P. (1999). Kognitionswissenschaft. Stuttgart: Klett-Cotta. Literatur Anderson, J. R. (1993). Rules of the mind. Hillsdale, NJ: Lawrence Erlbaum. Anderson, J. R. (1983). The architecture of cognition. Cambridge, MA: Havard University Press. Bach, J. (2009). Principles of synthetic intelligence. Psi, an architecture of motivated cognition. New York: Oxford University Press. Fodor, J. A., & Pylyshyn, Z. W. (1988). Connectionism and cognitive architecture: A critical analysis. Cognition, 28, 3-71. Gray, W. D. (Ed.). (2007). Integrated models of cognitive systems. Oxford University Press. Häcker H.O. & Stapf K.-H. (1998). Dorsch Psychologisches Wörterbuch. Bern: Verlag Hans Huber. Hyland, M. (1981): Introduction to Theoretical Psychology. Macmillan: London. Langley, P., & Choi, D. (2006). A unified cognitive architecture for physical agents. In Proceedings of the Twenty-First National Conference on Artificial Intelligence. Boston: AAAI Press. Looks, M., Goertzel, B., & Pennachin, C. (2004). Novamente: An integrative architecture for general intelligence. In AAAI Symposium: Achieving Human-Level Intelligence via Integrated Systems and Research. Washington, DC. Newell, A. (1990). Unified theories of cognition. Cambridge, MA: Harvard University Press. Newell, A., & Simon, H. (1963). GPS, A program that simulates human thought. In E. Feigenbaum & J. Feldman (Eds.), Computers and thought (p. 279-293). New York: McGraw-Hill. Newell, A., & Simon, H. A. (1972). Human problem solving. Englewood Cliffs, NJ: Prentice Hall. Norman, D. (1993). Cognition in the head and in the world: An introduction to the special issue on situated action. Cognitive Science, 17, 1-6. Russell, S. J., & Norvig, P. (2002). Artificial intelligence. A modern approach (2nd edition). Englewood Cliffs, NJ: Prentice-Hall. Schmid, U. (2007). Computermodelle des Problemlösens. In J. Müsseler (Ed.), Allgemeine Psychologie (2. Auflage) (pp. 601–630). Heidelberg: Spektrum Verlag. Schmid, U., Hofmann, M., & Kitzelmann, E. (2009). Analytical inductive programming as a cognitive rule acquisition devise. In B. Goerzel, P. Hitzler, & M. Hutter (Eds.), Proceedings of the Second Conference on Artificial General Intelligence (AGI-09, Arlington, Virginia, March 6-9 2009) (pp. 162–167). Amsterdam: Atlantis Press. Sun, R., & Zhang, X. (2006). Accounting for a variety of reasoning data within a cognitive architecture. Journal of Experimental and Theoretical Artificial Intelligence, 18, 169-191. Weller, S., & Schmid, U. (2006). Analogy by abstraction. In F. D. Missier & A. Stocco (Eds.), Proceedings of the 7th International Conference on Cognitive Modeling (ICCM) (p. 334-339). Edizioni Goliardiche.