DESCRIPTION ----------- This simulation app incorporates a neural network model based on a deep Boltzmann machine (DBM) capable of successfully acquiring two different toy languages, referred to as Language 1 and Language 2 within the app. Language 1 is an implementation of the toy language described in the research by Boersma, Chládková & Benders (2022). Language 2 is an implementation of the toy language described in the BA Thesis by Shchupak (2023). The app can be used to create training datasets for the aforementioned languages, train the neural network, and subsequently visualize the training results and the usage of the trained network, such as observing its behaviour when dealing with partial input. The source code also contains scripts to create tables and visualisations included in Shchupak (2023). The simulation app is written in MATLAB (The MathWorks Inc. 2023), with the user interface implemented using MATLAB App Designer. All visualizations are created using Graphviz, an open-source graph visualization software (Ellson et al. 2023). All the measurements for the analysis in Shchupak (2023) are implemented in the class "measure", which can be found in the file measure.m. The implementation of the neural network can be found in the class "dbm" (in the file dbm.m). PREREQUISITES FOR RUNNING THE APP --------------------------------- 1) MATLAB (https://www.mathworks.com) installed, including Statistics and Machine Learning Toolbox. 2) Graphviz version > 8.0.5 (https://graphviz.org/download) installed. The version of Graphviz can be checked by typing the following command in a terminal: dot -V. HOW TO RUN THE APP -------------------- 1) Download the source code of the app and unzip it if necessary. 2) Start MATLAB 3) Change the current folder in MATLAB to the folder where you have the source code of the app. 3) If you are on UNIX (Linux or macOS), open the file config.m and add the path to the graphviz tool "dot" on line 8; save this file (Ctrl+S for Linux or Cmd+S for macOS). To find this path, type "which dot" in a terminal, and copy and paste the output to the variable dir_dot, e.g.: dir_dot = "/opt/local/bin/dot" 4) Double-click on the file thesis_simulation.mlapp to start up the MATLAB App Designer. 5) Click the button "Run" in the MATLAB App Designer (green triangle) to start up the app. REFERENCES ---------- Ellson, John, Emden Gansner, Yifan Hu & Stephen North. 2023. Graphviz: open-source graph visualisation software [Computer program]. Version 8.0.5. https://graphviz.org/. (3 May, 2023). Boersma, Paul, Kateřina Chládková & Titia Benders. 2022. Phonological features emerge substance-freely from the phonetics and the morphology. Canadian Journal of Linguistics/Revue canadienne de linguistique 67(4). 611–669. https://doi.org/10.1017/cnj.2022.39. Shchupak, Anastasia. 2023. Akanje in a Deep Boltzmann Machine: Searching for phonological categories in a deep unsupervised neural network trained on one specific case of vowel reduction in Russian. Amsterdam: University of Amsterdam BA Thesis Linguistics. https://www.fon.hum.uva.nl/archive/2023/2023-BA-AnastasiaShchupak.pdf. The MathWorks Inc. 2023. MATLAB [Computer program]. Version 9.14 (R2023a). Natick, Massachusetts: The MathWorks Inc. https://www.mathworks.com. (4 May, 2023).