基于Devaine等人(2017年)的实现,在基于代理的框架中实现心灵游戏理论。
项目描述
tomsub:使用Python进行心灵理论模拟
一个用于代理模拟的Python包。该包提供了一个计算生态系统,用于研究和比较假设的心灵理论(ToM)机制的计算模型,并使用它们作为实验刺激。该包特别包括一个易于使用的变分贝叶斯k-ToM模型实现,该模型由Devaine等人(2017)开发。该模型已被证明能够捕捉个人和群体水平的社会技能差异,包括在临床人群和灵长类动物物种之间。它也被认为是与其他人和心理状态递归表示方面最佳的心灵理论计算模型之一。我们提供了一系列关于如何在基于游戏理论的模拟和实验刺激中实现k-ToM模型以及多种简单类型的ToM机制(包括如何指定自定义的ToM模型)的教程,并展示了如何分析结果数据。
📰 新闻
- 2022年3月7日
- 该论文已被《行为研究方法》期刊接受,发表时间为2022年(点击查看)
- 版本号:1.1.5
- 添加了新的绘图功能
- 速度和内存优化,以及多核模拟支持 🏎
- 添加了工作流程以确保依赖项正在更新
- 微调错误
- 版本号:1.1.0
- 版本号:1.0.0
🔧 设置和安装
tomsup支持Python 3.6或更高版本。我们强烈建议您从pip安装tomsup。如果您还没有安装pip,您可以从官方pip网站安装它,否则,运行
pip install tomsup
详细说明
您也可以通过以下方式直接从GitHub安装
pip install git+https://github.com/KennethEnevoldsen/tomsup.git
或者更明确地
git clone https://github.com/KennethEnevoldsen/tomsup.git
cd tomsup
pip3 install -e .
tomsup入门
要开始使用tomsup,我们建议您阅读教程文件夹中的教程。我们建议您从简介开始。
这些教程以Jupyter Notebook的形式提供。如果您没有安装Jupyter Notebook,有关安装和运行的说明可以在此处找到。
教程 | 内容 | 文件名 | 打开方式 |
---|---|---|---|
文档 | tomsup的文档 | ||
简介 | 这是对tomsup功能的介绍,遵循论文中的实现。 | paper_implementation.ipynb | |
创建代理 | 这是创建新代理的示例。 | Creating_an_agent.ipynb | |
指定内部状态 | 这是一篇关于如何在k-ToM代理上指定内部状态的简要指南。 | specifying_internal_states.ipynb | |
Psychopy实验 | 这是如何在实验中实现tomsup的示例。 | 不是笔记本,而是一个文件夹,psychopy_experiment |
🤔 问题和使用Q&A
要报告问题或请求功能,请使用GitHub问题跟踪器。否则,请使用讨论论坛。
FAQ
如何测试代码和运行测试套件?
tomsup附带了一个全面的测试套件。为了运行测试,您通常需要克隆存储库并从源代码构建tomsup。这将安装在requirements.txt中定义的所需开发依赖项和测试实用程序。
pip install -r requirements.txt
pip install pytest
python -m pytest
这将运行tomsup/tests
文件夹中的所有测试。
可以使用以下命令运行特定测试
python -m pytest tomsup/tests/<DesiredTest>.py
代码覆盖率 如果您想检查代码覆盖率,可以运行以下命令
pip install pytest-cov
python -m pytest--cov=.
tomsup在X上运行吗?
tomssup旨在在所有主要操作系统上运行,包括Windows(最新版本)、MacOS(Catalina)和最新版本的Linux(Ubuntu)。请注意,这些只是tomsup正在积极测试的系统,如果您在类似系统(例如较早版本的Linux)上运行,该包可能也会在那里运行。
文档是如何生成的?
tomsup使用sphinx生成文档。它使用Furo主题和自定义样式。
要创建文档,您可以运行
# install sphinx, themes and extensions
pip install sphinx furo sphinx-copybutton sphinxext-opengraph
# generate html from documentations
make -C docs html
使用此作品
许可证
tomsup是在Apache License, Version 2.0下发布的。
引用
如果您使用此作品,请引用
@article{waade2022introducing,
title={Introducing tomsup: Theory of mind simulations using Python},
author={Waade, Peter T and Enevoldsen, Kenneth C and Vermillet, Arnault-Quentin and Simonsen, Arndis and Fusaroli, Riccardo},
journal={Behavior Research Methods},
pages={1--35},
year={2022},
publisher={Springer}
}
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。