
nkscape
Ein Open-Source-Projekt von Alexander Schnabl
- Python
- NumPy
- NK model
- Agent-based modeling
nkscape ist eine Python-Bibliothek für Kauffmans NK-Fitnesslandschaften und darauf aufbauende agentenbasierte Modelle von Organisationen, in der Tradition von Levinthal (1997), Rivkin und Siggelkow (2003) und Wall (2016). Eine Organisation steht vor N binären Entscheidungen mit je K Abhängigkeiten, ihre Leistung kommt aus zufälligen Beitragstabellen, und Agenten durchsuchen die Landschaft mit Regeln, die man selbst schreibt.
Ein Modell besteht aus einer Landschaft, Agenten und Populationsregeln. Die Bibliothek lässt eine Population Periode für Periode laufen, zeichnet jede Konfiguration und ihre Fitness auf und kann eine ganze Landschaft auf einmal betrachten: alle Gipfel und das globale Maximum bis N = 24. Es gibt keinen globalen Zufallszustand. Jede Funktion nimmt einen Seed, und ein Agent geht allein denselben Weg wie in einer Menge, die Ergebnisse sind also auf jedem Rechner reproduzierbar.
Die Bibliothek ist getestet, typisiert und dokumentiert, und sie ist durch die Replikation veröffentlichter Ergebnisse validiert: Ein Notebook reproduziert die Abbildungen 1 bis 9 aus Levinthal (1997). Sie braucht Python 3.12 und NumPy, sonst nichts, und ist unter der MIT-Lizenz auf PyPI veröffentlicht.



