{"url":"/sota/roomenv-v1-on-roomenv-v1","task":{"name":"RoomEnv-v1","url":"/task/roomenv-v1","note":null},"dataset":{"name":"RoomEnv-v1","url":"/dataset/roomenv-v1"},"category":"Computer Vision","categories":["Computer Code","Computer Vision","Knowledge Base","Methodology"],"category_note":null,"description":"# The Room environment - v1\r\n\r\n[![DOI](https://img.shields.io/badge/Paper-PDF-red.svg)](https://arxiv.org/abs/2212.02098)\r\n\r\nWe have released a challenging [Gymnasium](https://www.gymlibrary.dev/) compatible\r\nenvironment. The best strategy for this environment is to have both episodic and semantic\r\nmemory systems. See the paper for more information.\r\n\r\n## Prerequisites\r\n\r\n1. A unix or unix-like x86 machine\r\n1. python 3.10 or higher.\r\n1. Running in a virtual environment (e.g., conda, virtualenv, etc.) is highly recommended so that you don't mess up with the system python.\r\n1. This env is added to the PyPI server. Just run: `pip install room-env`\r\n\r\n## RoomEnv-v1\r\n\r\n```python\r\nimport gymnasium as gym\r\n\r\nenv = gym.make(\"room_env:RoomEnv-v1\")\r\n(observation, question), info = env.reset()\r\nrewards = 0\r\n\r\nwhile True:\r\n    # There is one different thing in the RoomEnv from the original AAAI-2023 paper:\r\n    # The reward is either +1 or -1, instead of +1 or 0.\r\n    (observation, question), reward, done, truncated, info = env.step(\"This is my answer!\")\r\n    rewards += reward\r\n    if done:\r\n        break\r\n```\r\n\r\n```json\r\n{\r\n    \"des_size\": \"l\",\r\n    \"seed\": 42,\r\n    \"question_prob\": 1.0,\r\n    \"allow_random_human\": False,\r\n    \"allow_random_question\": False,\r\n    \"total_maximum_episode_rewards\": 128,\r\n    \"check_resources\": True,\r\n}\r\n```\r\n\r\nIf you want to create an env with a different set of parameters, you can do so. For example:\r\n\r\n```python\r\nenv_params = {\"seed\": 0,\r\n              \"allow_random_human\": True,\r\n              \"pretrain_semantic\": True}\r\nenv = gym.make(\"room_env:RoomEnv-v1\", **env_params)\r\n```\r\n\r\nTake a look at [this repo](https://github.com/humemai/humemai) for an actual\r\ninteraction with this environment to learn a policy.\r\n\r\n## Data collection\r\n\r\nData is collected from querying ConceptNet APIs. For simplicity, we only collect triples\r\nwhose format is (`head`, `atlocation`, `tail`). Here `head` is one of the 80 MS COCO\r\ndataset categories. This was kept in mind so that later on we can use images as well.\r\n\r\nIf you want to collect the data manually, then run below:\r\n\r\n```\r\npython collect_data.py\r\n```\r\n\r\n## [The RoomDes](room_env/des.py)\r\n\r\nThe DES is part of RoomEnv. You don't have to care about how it works. If you are still\r\ncurious, you can read below.\r\n\r\nYou can run the RoomDes by\r\n\r\n```python\r\nfrom room_env.des import RoomDes\r\n\r\ndes = RoomDes()\r\ndes.run(debug=True)\r\n```\r\n\r\nwith `debug=True` it'll print events (i.e., state changes) to the console.\r\n\r\n```console\r\n{'resource_changes': {'desk': -1, 'lap': 1},\r\n 'state_changes': {'Vincent': {'current_time': 1,\r\n                               'object_location': {'current': 'desk',\r\n                                                   'previous': 'lap'}}}}\r\n{'resource_changes': {}, 'state_changes': {}}\r\n{'resource_changes': {}, 'state_changes': {}}\r\n{'resource_changes': {},\r\n 'state_changes': {'Michael': {'current_time': 4,\r\n                               'object_location': {'current': 'lap',\r\n                                                   'previous': 'desk'}},\r\n                   'Tae': {'current_time': 4,\r\n                           'object_location': {'current': 'desk',\r\n                                               'previous': 'lap'}}}}\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are what make the open source community such an amazing place to be learn,\r\ninspire, and create. Any contributions you make are **greatly appreciated**.\r\n\r\n1. Fork the Project\r\n1. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\r\n1. Run `make test && make style && make quality` in the root repo directory,\r\n   to ensure code quality.\r\n1. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\r\n1. Push to the Branch (`git push origin feature/AmazingFeature`)\r\n1. Open a Pull Request\r\n\r\n## [Cite our paper](https://doi.org/10.1609/aaai.v37i1.25075)\r\n\r\n```bibtex\r\n@article{Kim_Cochez_Francois-Lavet_Neerincx_Vossen_2023,\r\n  title={A Machine with Short-Term, Episodic, and Semantic Memory Systems}, volume={37},\r\n  url={https://ojs.aaai.org/index.php/AAAI/article/view/25075},\r\n  DOI={10.1609/aaai.v37i1.25075},\r\n  abstractNote={Inspired by the cognitive science theory of the explicit human memory systems, we have modeled an agent with short-term, episodic, and semantic memory systems, each of which is modeled with a knowledge graph. To evaluate this system and analyze the behavior of this agent, we designed and released our own reinforcement learning agent environment, “the Room”, where an agent has to learn how to encode, store, and retrieve memories to maximize its return by answering questions. We show that our deep Q-learning based agent successfully learns whether a short-term memory should be forgotten, or rather be stored in the episodic or semantic memory systems. Our experiments indicate that an agent with human-like memory systems can outperform an agent without this memory structure in the environment.},\r\n  number={1},\r\n  journal={Proceedings of the AAAI Conference on Artificial Intelligence}, author={Kim, Taewoon and Cochez, Michael and Francois-Lavet, Vincent and Neerincx, Mark and Vossen, Piek},\r\n  year={2023},\r\n  month={Jun.},\r\n  pages={48-56}\r\n}\r\n```\r\n\r\n## Authors\r\n\r\n- [Taewoon Kim](https://taewoon.kim/)\r\n- [Michael Cochez](https://www.cochez.nl/)\r\n- [Vincent Francois-Lavet](http://vincent.francois-l.be/)\r\n- [Mark Neerincx](https://ocw.tudelft.nl/teachers/m_a_neerincx/)\r\n- [Piek Vossen](https://vossen.info/)\r\n\r\n## License\r\n\r\n[MIT](https://choosealicense.com/licenses/mit/)","description_from":"task","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","rank":"the archive's row order at snapshot; not re-ranked","rows_end_at":"2025-07-28","rows_withheld_as_spam":0,"metric_values":"the archive's strings, untouched"},"metrics":["final agent reward"],"metric_direction":{"note":"inferred from the metric name only (the archive records no direction); null = not inferred, chart draws points only","by_metric":{"final agent reward":null}},"counts":{"rows":2,"rows_with_code":2,"rows_with_paper_page":2,"rows_dated":2,"rows_using_additional_data":0},"rows":[{"rank_in_archive_order":1,"model":"HumemAI-v0-capacity=32-semantic-pretrained","metrics":{"final agent reward":"116.5"},"uses_additional_data":false,"paper_date":"2022-12-05","paper":"/paper/a-machine-with-short-term-episodic-and","paper_url":"https://arxiv.org/abs/2212.02098v4","paper_title":"A Machine with Short-Term, Episodic, and Semantic Memory Systems","code":"https://github.com/humemai/agent-room-env-v1","n_code_links":1,"syntology":{"n_ran":6,"n_unverified":4,"n_samples":10,"n_pointer_only_licence":0}},{"rank_in_archive_order":2,"model":"HumemAI-v0-capacity=32-semantic-scratch","metrics":{"final agent reward":"109"},"uses_additional_data":false,"paper_date":"2022-12-05","paper":"/paper/a-machine-with-short-term-episodic-and","paper_url":"https://arxiv.org/abs/2212.02098v4","paper_title":"A Machine with Short-Term, Episodic, and Semantic Memory Systems","code":"https://github.com/humemai/agent-room-env-v1","n_code_links":1,"syntology":{"n_ran":6,"n_unverified":4,"n_samples":10,"n_pointer_only_licence":0}}],"since_archive":{"claim":"Results that newer papers report for their own method, placed here by Syntology. A model pointed at the cell in the paper's own table; the number was read from that cell and checked against this leaderboard's metric, dataset, split and scale; an independent check that saw this leaderboard's other rows and every other leaderboard on the same dataset accepted it. Not reviewed by the paper's authors or by the archive's editors, and not ranked against the archive rows.","extraction_file_present":true,"measurement":{"test_papers":883,"papers_with_output":881,"judged_true":108,"judged":110,"wilson95_lower":0.9361,"measured_on":"2026-09-24","frozen_commit":"0e3de0df94"},"measurement_note":"blind adjudication of accepted entries on a held-out split of archive papers, rules frozen before the test","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","complete":false,"papers_newer_than_archive":9623,"papers_checked":6885,"papers_extracted_not_yet_verified":0,"boards_without_verdict":2,"papers_not_yet_extracted":2737},"order":"newest first by month (arXiv date, else the arXiv-id month), then arXiv id descending","columns":[],"entries":[]},"syntology":{"read_at":"2026-09-25T09:33:49+00:00","claim":"Per row: N of M harvested code samples from that row's paper executed on a synthesized fixture; the other M-N are unverified. Not a reproduction of the row's number; not a correctness claim. n_pointer_only_licence counts samples the site points at rather than redistributes (a licence axis, independent of ran/unverified).","rows_with_graph_line":2,"rows_with_any_sample_ran":2,"distinct_papers_with_graph_line":1,"distinct_papers_with_any_sample_ran":1,"samples_over_distinct_papers":{"n_ran":6,"n_unverified":4,"n_samples":10,"n_pointer_only_licence":0,"note":"each paper (arXiv id) counted once, however many rows it is behind; this is the page-level figure"},"samples_row_weighted":{"n_ran":12,"n_unverified":8,"n_samples":20,"n_pointer_only_licence":0,"note":"row-weighted: a paper behind several rows is counted once per row; inflated relative to samples_over_distinct_papers by design, kept for readers summing the per-row syntology blocks"}}}