If you don't know where to start, you may want to have a look at thearchaeoriddle.com!
The Archaeoriddle Project has been implemented and developed by the Computational and Digital Archaeology Lab at the McDonald Institute, University of Cambridge, based on ideas from Enrico Crema and Xavier Rubio-Campillo. It is primarily funded by a grant from the British Academy (SRG2223\230262) and the Marie SkΕodowska-Curie Actions (H2020-MSCA-IF No. 101020631/ArchBiMod), but would not have been possible without support from the ENCOUNTER project (ERC grant agreement No. 801953).
This repository compile together all the elements developed throughout this project. They can be divided in three main components, that are all detailed later in this file.
- The Bookdown : a compiled version is available online here. This standalone document details every aspect of the project. It should allow the reproduction and exploration of every aspect of the project ( π ./doc/bookdown/).
- The Original Challenge one instance of archaeoriddle's simulation, including the website, data and 5 participants contribution ( π ./doc/shinyapp/ & ./doc/bookdown/data_original/).
- The R package : contains all the above and the underlying R-functions, tests and associated documentation ( π ./)
This repository has the structure of an R package. This allows each sub-component of the Archaeoriddle to easily use and call functions and data shared common to the different part of the project. It also greatly simplify the use of the different functions used throughout the bookdown for anyone who would like to play and recreate its own Archaeoriddle world.
Note: The version v0.1.2 of this repository is the last version that has been shared with reviewers during the revision process of the paper "Assessing the inferential power of quantitative methods in archaeology via simulated datasets: the archaeoriddle challenge", by: Cortell-Nicolau, A., Carrignon, S., RodrΓguez-Palomo, I., Hromada, D., Kahlenberg, R., Mes, A., Priss, D., Yaworsky, P., Zhang, X., Brainerd, L., Lewis, J., Redhouse, D., Simmons, C., Coto-Sarmiento, M., Daems, D., Deb, A., Lawrence D., OβBrien, M., Riede, F., Rubio-Campillo, X., Crema, E.
This version includes the modifications asked by the reviewers and is the one archived on zenodo with this DOI: 10.5281/zenodo.14024548.
This is the main outcome of the Archaeoriddle project, detailing all the other sub-components. An online version is available at: www.thearchaeoriddle.org. It is associated with a forum intended to be a place where anyone can come to discuss the project, issues encountered while using the package or simply curious to explore and exchange about inference in archaeology in general.
The Archaeoriddle bookdown guides you through the Archaeoriddle project, allowing you to follow everything step and decision taken ; which models have been chosen at different level and why. Coupled with the functions provided by the R package, you will be able to use code chunks to reproduce elements of interest yourself, create your own world, with its unique mountains, seas, and islands. You will be able to generate settlements, distribute populations that fluctuate based on parameters you will choose. The bookdown also facilitates recreating your own challenge. It will take you through all steps to generate your own radiocarbon deposits and create output files to share with students or colleagues and find out who can infer your original parameters.
The source for the bookdown is stored in doc/bookdown/
. This folder contains all the files and documents needed to compile the Archaeoriddle's bookdown. It also houses the output and original files shared for the original Archaeoriddle's challenge.
If you want to compile the bookdown yourself, we invite you to read this chapter of the bookdown.
- π doc/bookdown/ : the main folder
- π data_original/ : folder with data of the original challenge (cf section original challenge)
- π 01_Introduction.Rmd to 09_thearchaeoriddle.Rmd: RMarkdown file with each chapter of the bookdown.
- π README.md : README specific for the bookdown
- π dateGeneration.R : R script to automatically generate dates from record of population size through time
- π exploreDate.R : R script for exploring and analyzing date-related data.
- π index.Rmd : Preface of the bookdown, initialise a few thing, load needed package,...
- π packages.bib : Bibliography listing reference and package used for the bookdown.
- π scriptmini.R : minimal exemple of how to rune one simulation and save the results.
- π smallscript.md : describe a few one liners to run multiple simulations to explore them before selecting a good one
- πΎ testsites.RDS : Not used
- π tools.R : serie of function, to be deleted as they should be all in
./R/
If you compile the bookdown yourself, some folder will be generated (data_tmp
and data_toshare
) that will be used to store file generated during the compilation (the new world, csv outputs, etc...). Here a quick overview of what they will look like:
- π doc/bookdown/data_tmp/ : folder with data generated during the compilation of the bookdown.
- π allsites.shp : shapefilewith the positions of all sites
- π square_1.csv to square_65.csv: CSV listing the dates generated for all squares (exact number can change
- πΎ popSizeMatrix.RDS :
RDS
storing a matrix with population size for all sites for all time step for one simulation. - πΎ popStructList.RDS :
RDS
storing a list representing the population structure for all sites at all time step for one simulation. - πΎ wardeath.RDS :
RDS
file with a vector storing the total death per time step in the example simulation - πΎ exn_dates.RDS:
RDS
file with dates generated in the exact simulations. - πΎ exp1_all.RDS to exp8_all.RDS :
RDS
file with results of 8 different run in your new world. - πΎ exp1_sitesRast.RDS to exp8_sitesRast.RDS :
RDS
file sites position of 8 different run in your new world.
- π data_toshare : folder with data that will be share with participant
- π costline.shp : shapefile defining the coastline of the world
- πΊοΈ dem_raster.tiff : DEM raster with elevation of your new wolrd
- πΊοΈ resources.tiff : raster with the ecological fitness of the environment
- π square_1.csv to square_5.csv: randomly selected square share publicly (reminder: these file are not tracked by git, they appear only if you decide to compile the bookdown)
The Original Challenge correspond to a specific instance of the archaeoriddle, called 'Rabbithole'. This includes : a landscape, an 'ecological map', a set of parameters that have been used to carry set of simulations among which one has been chosen. From the outcome of the simulation, carbon deposit have been generated and csv with list of C14 dates create. The map of the landscape and the ecological raster, togethe with a select set of csv file among these generated where shared publicly with archaeologists via an online website. The website is still available here on the 1st of November 2024, but will probably disappear anytime soon ; but the source to generate the website are provided in this repository here.
On the website, three research questions were asked:
- RQ1. What was the relationship between the two groups? Was it peaceful or hostile?
- RQ2. What was the population trajectory of each group?
- RQ3. What was the rate of dispersal of poppy chewers?
Via the website, everyone had access to fou squares representing 4 zones of 'Rabbithole' from which data about occupation was given. People who wanted to participate were then able to request five additional zones that will be 'excavated' for them and they then received datasets covering the zones they picked.
Map of publicly available sites of Rabbithole: On the left, the squares available; on the right, the names and cultures of the settlements.
The original challenge received 5 proposals that can be explore via the links below. A snapshot of the proposals the way they were provided by the authors after the revision process are also provided on the zenodo repository. We here briefly summarize the proposal and give links to the original source of them.
Authors used agent-based modeling combined with exploratory data analysis to study dispersal and site preference in Rabbithole, using ArcGIS Pro and R for calibration and trajectory computation, resulting in an ABM built with NetLogo that correctly predicted group interactions and movements but revealed discrepancies in expansion rates due to differing population trajectories.
Source: https://github.com/dpriss/Archaeoriddle_Kahlenberg_Priss
Citation: PriΓ, D., & Kahlenberg, R. (2024). dpriss/Archaeoriddle_Kahlenberg_Priss: Archaeoriddle Kahlenberg and PriΓ (v1_Archaeoriddle). Zenodo. https://doi.org/10.5281/zenodo.14062675
The author employed point-process modeling to predict potential occupation and assess conflict between groups, finding increased hostilities and mortality over time due to growing populations and settlements, despite non-time-dependent hostility rules.
Source: https://github.com/Xuan-Zhang-arc/Archaeoriddle_PPM_HG_F_relationship/
Citation: Xuan Zhang. (2024). Using Point Process Modelling to detect cooperation vs competition (Archaeoriddle RQ1) (Archaeoriddle). Zenodo. https://doi.org/10.5281/zenodo.12803445
The author utilized species-distribution modeling in R to develop a four-stage approach that successfully modeled historical population distributions and dispersal patterns of farmers and foragers, highlighting a southerly to northerly farming dispersal and a decline in hunter-gatherer populations.
Source: https://doi.org/10.5281/zenodo.8260754
Citation: Yaworsky, P. (2023). Archeo-Riddle Submission 2023. Zenodo. https://doi.org/10.5281/zenodo.8260754
The author employed a friction-based strategy and hierarchical Bayesian phase modeling in R to analyze and successfully predict the complex dispersal patterns and expansion rates of Poppy-chewers in Rabbithole, incorporating spatial and environmental factors.
Source: https://github.com/AlexesMes/Archeaoriddle_RabbitWorld
Citation: Alexes, M. (2024). Archeaoriddle RabbitWorld. Zenodo. https://doi.org/10.5281/zenodo.14218979
The author used a qualitative analysis to infer hostility between Poppy-chewers and Rabbit-skinners by comparing the shorter settlement persistence of Rabbit-sinner in the region Poppy-chewers exist, separated by a sea, to its persistence in other regions under equal conditions.
Citation: Hromada, D. (2024). Exploring the 'Hostile vs. Peaceful' Archaeoriddle Dilemma Using the NALANA Method. 10.13140/RG.2.2.10753.47207.
The original challenge is detailed in this chapter of the bookdown.
- π doc/shinyapp/ : the code of shiny app (the one behind the site available here)
- π README.md : README explaining how to recreate the shiny app and detailing the files available in the folder
- π doc/fake_papers/ : latex code for sever fake papers and poster presented in conferences where the Original Challenge was presented.
- π doc/survey_archaeoriddle/ : result and analysis of a survey made to know more about the people who were interested in the project. A quick analysis is available here.
- π doc/bookdown/data_original/ : folder will all orignal
- π all_squares/: folder with all csvs of the original challenge
- π square_1.csv to square_100.csv :
CSV
file storing all dates available for all the squares of the original challenge.
- π square_1.csv to square_100.csv :
- π general_results_selected_simu/ :
- πΎ buffattack300_K110_PSU065_3_all.RDS : RDS file store most of the selected simulation
- πΎ buffattack300_K110_PSU065_3_sitesRast.RDS : RDS file storing a raster with the positions of the sites
- πΎ buffattack300_K110_PSU065_3_dates.RDS : RDS file storing all dates generated for all sites generated.
- π sitesinitialposition/ : Folder with file needed to read shapefile
- π sitesinitialposition.shp : shapefile with the position of the initial sites.
- π costline.shp : shapefile defining the coastline of the world
- πΊοΈ east_narnia4x.tiff : DEM raster with elevation of Rabbithole
- πΊοΈ resources.tiff : raster with the ecological fitness of the environment
- π all_squares/: folder with all csvs of the original challenge
This overal structure of this repository is a R package.
To install it, the most simple way will be by using devtools
function github_install()
by doing: devtools::install_github("acortell3/archaeoriddle")
.
Most of the functions defined in the package are described in details in the bookdown.
The package will be used if you want to follow the bookdown or recompile it. It will also allows you to easily re-use the functions defined in the package to re-explore the proposal of the original challenge, create your own model of interaction, explore and modify the underlying model used throughout the Archaeoriddle project.
To install the package, the easiest is probably to use devtools
function install_github
: devtools::install_github("acortell3/archaeoriddle")
- π doc/: documents, websites,... (cf below)
- π div/: various script
- π post-receive-hook: a script that can be use to automatically deploy the bookdown when pushes are made to a git repository
- π .github/: github specific files
- π .github/workflows/deploy_bookdown.yml: a yaml file to automatically deploy the bookdown via github pages
- π man/: R documentation (cf below)
- π R/: source file of R package (cf below)
- π DESCRIPTION: R-package related file
- π archaeoriddle.Rproj: R-package related file
- π NAMESPACE: R-package related file
- π README.md: R-package related file
- π doc/bookdown/: cf section The Bookdown
- π doc/shinyapp/: cf section The Original Challenge
- π doc/tex_files/: a few
tex
files used to layout ideas - πΌοΈ brain_map_colabm.png : image representing early reflections about the project
- π Explanation_of_ideas_brain_map.md: Markdown file detailing programming languages, world options, and more.
- π interactive_brain_map.md: Markdown guide for using Markmap visualization; contains programming language options and more.
- π pop_id.Rmd: R Markdown file about population ideas and environmental qualities for hunting/farming.
- π A_rates.Rd,π Gpd.Rd,... and all other
Rd
files: files automatically generated byROxygen
to generateR
documentation (shown when using?Gpd
when the package is loaded`
- π anthropogenic_deposition.R: Simulates anthropogenic bone deposition rates at a site.
- π climate.R: Generates power law noise and simulates environmental fluctuations.
- π init_simulation.R: Initializes carrying capacities, population matrices, and site lists for simulations.
- π logistic_decay.R: Applies logistic decay to resources around points in a raster.
- π natural_deposition.R: Models deposition and post-deposition effects of archaeological materials.
- π perlin_noise.R: Creates Perlin noise for 2-D slope and elevation autocorrelation.
- π population.R: Manages stochastic population dynamics, growth, and mortality.
- π record_loss.R: Simulates taphonomic losses in archaeological records.
- π run_simulation.R: Runs a simulation of cultural interactions, migration, and conflicts.
- π tools.R: Utility functions for visualization, data extraction, and map plotting.