Language-Based Agent Simulation of Venice, circa 1740
Introduction
Motivation
it's a fun project. Alltag.
Project Timeline and Milestones
This project is structured in two main parts: Data (Sampling and Generation) and Agent (Behavior) part. The goal is to work on those parts in parallel and integrate the progress in the generation in the behavior by iterating.
| Category | Task | Start | End |
|---|---|---|---|
| Sampling & Generation | Analyze dataset | Nov 11 | Nov 17 |
| Sampling & Generation | Build merchant dataset | Nov 17 | Nov 24 |
| Sampling & Generation | Persona & routine draft | Nov 17 | Nov 24 |
| Sampling & Generation | Data sampling | Nov 17 | Nov 24 |
| Sampling & Generation | Persona/routine refinement | Nov 24 | Dec 1 |
| Other | Wiki writing | Dec 8 | Dec 15 |
| Other | Polishing and testing | Dec 8 | Dec 15 |
| Category | Task | Start | End |
|---|---|---|---|
| Behavior | New agent architecture | Nov 11 | Nov 20 |
| Behavior | Integrate time-synced logic | Nov 14 | Nov 24 |
| Behavior | Integrate persona/routine prompt | Nov 24 | Dec 8 |
| Behavior | Agent thought display | Nov 24 | Dec 1 |
| Behavior | Multi agent | Dec 1 | Dec 8 |
Milestones
c'est quoi nos milestones enft?
Final deliverables: 17.12 GitHub + Wiki
Final presentation: 18.12
Deliverables
- Jupyter notebook with data analysis and data processing
- Next.js app with a simulation of daily life of merchants in Venice
Methods
Data
Street network
To visualize the map, and have a network where our agents can move, we take the 1808 street network. The network was not clean and had holes due to the data acquisition. This was an issue which has been raised by a previous year group [1]. They cleaned the network automatically and manually. Moreover, many of the people in Venice would use Traghettis to move around the city. That same group created a network which included the routes. Their final network is the one we use in our simulation.
Catastici
Our main data source is the 1740 tax register: Catastici. This register has many entries: . We use only a small part for our data aggregation and analysis.
removed the shops which did not have a shop type, easier processing. Many shops are just "Bottega" which gives no information on the profession of the owner. Which is not interesting for us. Out of the 31'741 rows, 23899 tenants are unique. 3040 tenant names appear more than once (which means that they have either 2 houses, 1 house and 1 shop, ect). 968 names from those are kept (the ones which have a shop type). which leaves us with more than enough merchants for our visualization.
Limitation: if 2 people had the same name + surname: will be merged. For example, Antonio Rossi is linked to 23 parcels, where 1 is a "Bottega da Chirurgo" (Surgeon shop), one "Casa e bottega di barbier" (House and shop of a barber), 4 neighboring "Bottega da Sartor e casa" and the rest are houses. It would be historically inaccurate to assume that there was only one Antonio Rossi who was at the same time a surgeon, a tailor and a barber. This brings us to the next part: clustering.
Connected components thresholding
To cluster the shops with the houses, and separate same-name merchants, we implement graph-based thresholding. We create a graph where each node is an entry in the Catastici. We create edges between the nodes which have the same tenant name. Then we created a custom scoring function to add weights to the edges. Finally, we run connected components thresholding to keep components that are more likely to be together. The scoring is based on:
- Parish
- Sestiere
- Distance
- Parcel type (house, shop)
- Type of shops if shops
So in Antonio's case, we end up with 3 different ones: one barber, one surgeon and one tailor.
Data Analysis
Owners and tenants
Owners: religious entities, but the functions of the parcels are not only religious. Many casa and bottega.
Antonio Rossi: https://opac.regione.lazio.it/SebinaOpac/resource/raccolta-dopuscoli-scientifici-e-filologici-tomo-primo-cinquantesimoprimo-6/RL102029017 Venetian surgeon.
There isn't any typical shop type which is present the most among the merchants which have more than 3 shops. We can find various shops: Cheese, Jewellery, Fruits, Fabric, ect. The profession which is the most present among the numerous shops are bakers.
Behavior
Agent architecture
Discussion
Quality assessment
Limitations
Future Works
Late for their spaghettis.
Github Repository
Credits
Course: Foundation of Digital Humanities (DH-405), EPFL
Professor: Frédéric Kaplan
Supervisors: Alexander Rusnak
Authors: Camille Lannoye, Sophia Kovalenko