166 lines
3.1 KiB
Markdown
166 lines
3.1 KiB
Markdown
# Otello Q-Learning
|
||
|
||
A Deep Learning implementation of the game Otello aka. reversi.
|
||
This is a Jupyter implementation only because it was requested in such a format for a class in my master’s degree. Enjoy the read or ignore it.
|
||
|
||
Please note that the notebook contains interactive decorators that can only be used when executed as a jupyter notebook.
|
||
|
||
## Dependencies
|
||
|
||
The project was developed with the following dependencies:
|
||
|
||
```
|
||
aiofiles==22.1.0
|
||
aiosqlite==0.18.0
|
||
anyio==3.6.2
|
||
argon2-cffi==21.3.0
|
||
argon2-cffi-bindings==21.2.0
|
||
arrow==1.2.3
|
||
asttokens==2.2.1
|
||
attrs==22.2.0
|
||
Babel==2.11.0
|
||
backcall==0.2.0
|
||
beautifulsoup4==4.11.2
|
||
black==21.12b0
|
||
blackcellmagic==0.0.3
|
||
bleach==6.0.0
|
||
certifi==2022.12.7
|
||
cffi==1.15.1
|
||
cfgv==3.3.1
|
||
charset-normalizer==3.0.1
|
||
click==8.1.3
|
||
cloudpickle==2.2.1
|
||
colorama==0.4.6
|
||
comm==0.1.2
|
||
contourpy==1.0.7
|
||
cycler==0.11.0
|
||
debugpy==1.6.6
|
||
decorator==5.1.1
|
||
defusedxml==0.7.1
|
||
distlib==0.3.6
|
||
exceptiongroup==1.1.0
|
||
executing==1.2.0
|
||
fastjsonschema==2.16.2
|
||
filelock==3.9.0
|
||
fonttools==4.38.0
|
||
fqdn==1.5.1
|
||
gitdb==4.0.10
|
||
GitPython==3.1.31
|
||
gym==0.26.2
|
||
gym-notices==0.0.8
|
||
identify==2.5.18
|
||
idna==3.4
|
||
iniconfig==2.0.0
|
||
ipykernel==6.21.2
|
||
ipython==8.10.0
|
||
ipython-genutils==0.2.0
|
||
ipywidgets==8.0.4
|
||
isoduration==20.11.0
|
||
isort==5.12.0
|
||
jedi==0.18.2
|
||
Jinja2==3.1.2
|
||
joblib==1.2.0
|
||
json5==0.9.11
|
||
jsonpointer==2.3
|
||
jsonschema==4.17.3
|
||
jupyter==1.0.0
|
||
jupyter-console==6.5.1
|
||
jupyter-events==0.5.0
|
||
jupyter-server-mathjax==0.2.6
|
||
jupyter-ydoc==0.2.2
|
||
jupyter_client==8.0.2
|
||
jupyter_core==5.2.0
|
||
jupyter_server==2.3.0
|
||
jupyter_server_fileid==0.6.0
|
||
jupyter_server_terminals==0.4.4
|
||
jupyter_server_ydoc==0.6.1
|
||
jupyterlab==3.6.1
|
||
jupyterlab-git==0.41.0
|
||
jupyterlab-pygments==0.2.2
|
||
jupyterlab-widgets==3.0.5
|
||
jupyterlab_server==2.19.0
|
||
KDEpy==1.1.0
|
||
kiwisolver==1.4.4
|
||
line-profiler==4.0.2
|
||
MarkupSafe==2.1.2
|
||
matplotlib==3.7.0
|
||
matplotlib-inline==0.1.6
|
||
memory-profiler==0.61.0
|
||
mistune==2.0.5
|
||
mypy-extensions==1.0.0
|
||
nbclassic==0.5.1
|
||
nbclient==0.7.2
|
||
nbconvert==7.2.9
|
||
nbdime==3.1.1
|
||
nbformat==5.7.3
|
||
nest-asyncio==1.5.6
|
||
nodeenv==1.7.0
|
||
notebook==6.5.2
|
||
notebook_shim==0.2.2
|
||
numpy==1.24.2
|
||
packaging==23.0
|
||
pandas==1.5.3
|
||
pandocfilters==1.5.0
|
||
parso==0.8.3
|
||
pathspec==0.11.0
|
||
pexpect==4.8.0
|
||
pickleshare==0.7.5
|
||
Pillow==9.4.0
|
||
platformdirs==3.0.0
|
||
plotly==5.13.0
|
||
pluggy==1.0.0
|
||
pre-commit==3.0.4
|
||
prometheus-client==0.16.0
|
||
prompt-toolkit==3.0.36
|
||
psutil==5.9.4
|
||
ptyprocess==0.7.0
|
||
pure-eval==0.2.2
|
||
pycparser==2.21
|
||
Pygments==2.14.0
|
||
pyparsing==3.0.9
|
||
pyrsistent==0.19.3
|
||
pytest==7.2.1
|
||
python-dateutil==2.8.2
|
||
python-json-logger==2.0.6
|
||
pytz==2022.7.1
|
||
pywin32==305
|
||
pywinpty==2.0.10
|
||
PyYAML==6.0
|
||
pyzmq==25.0.0
|
||
qtconsole==5.4.0
|
||
QtPy==2.3.0
|
||
requests==2.28.2
|
||
rfc3339-validator==0.1.4
|
||
rfc3986-validator==0.1.1
|
||
scipy==1.10.0
|
||
seaborn==0.12.2
|
||
Send2Trash==1.8.0
|
||
setuptools-scm==7.1.0
|
||
six==1.16.0
|
||
smmap==5.0.0
|
||
sniffio==1.3.0
|
||
soupsieve==2.4
|
||
stack-data==0.6.2
|
||
tenacity==8.2.1
|
||
terminado==0.17.1
|
||
tinycss2==1.2.1
|
||
tomli==1.2.3
|
||
torch==1.13.1
|
||
torchaudio==0.13.1
|
||
torchvision==0.14.1
|
||
tornado==6.2
|
||
tqdm==4.64.1
|
||
traitlets==5.9.0
|
||
typing_extensions==4.5.0
|
||
uri-template==1.2.0
|
||
urllib3==1.26.14
|
||
virtualenv==20.19.0
|
||
wcwidth==0.2.6
|
||
webcolors==1.12
|
||
webencodings==0.5.1
|
||
websocket-client==1.5.1
|
||
widgetsnbextension==4.0.5
|
||
y-py==0.5.5
|
||
ypy-websocket==0.8.2
|
||
```
|