Beide Aufgaben beziehen sich auf die Implementierung des Arthur Modells, das in den Video Lectures entwickelt wurde. Ihr könnt entweder eure eigene, oder die von mir vorbereitete Implementierung als Ausgangspunkt verwenden.

In den Hausaufgaben geht es vor allem darum, die Implementierung nachzuvollziehen. Dann sollt ihr die folgenden beiden Erweiterungen implementieren und die Effekte entsprechend visualisieren.

Dazu könnt ihr entweder neue subplots zu der vorgeschlagenen Visualisierung hinzufügen, eine neue Form der Visualisierung erstellen, oder einen der alten Fälle in der alten Visualisierung ersetzen.

Erweiterung des Arthur Modells I

Erstellt eine dritte Art der Nachbarschaft: hier sollen für jeden Agenten vier andere Agenten zufällig als Nachbard ausgewählt werden.

Hinweis 1: die Auswahl der Agenten kann durch die numpy.random.choice Funktion implementiert werden. Allerdings müsst ihr sicherstellen, dass kein Agent zweimal gezogen wird, und dass kein Agent in seiner eigenen Nachbarschaft ist.

Hinweis 2: In dieser Implementierung soll für einen Agent $i$, der Nachbar von Agent $j$ ist, nicht automatisch gelten, dass Nachbar $j$ ein Nachbar von Agent $i$ ist. Der Nachbarschaftsbegriff ist hier also weit: es kann auch bedeuten, dass sich Agent $i$ an Agent $j$ orientiert, aber nicht umgekehrt (z.B. weil $j$ ein Star, und $i$ ein follower ist).

Erweiterung des Arthur Modells II

Verändert das Modell dahingehend, dass 50% der Agenten eine strikte Präferenz für Technologie 0 und 50% eine strikte Präferenz für Technologie 1 haben.

Hinweis: Eine Strikte Präferenz zeigt sich durch einen von Anfang an fixierten Wert für agent.pref_tech_0: für die Hälfte der Agenten soll dieser Wert $0.25$ sein, für die andere Hälfte $0.75$.