Crowdsourcing the mosaic of the mind Hunting for the bigger picture

App updates and Welcome to Jennifer!

In the last weeks this project has made considerable progress. From the programming side I will recap this in a separate blog post detailing the experience I had with writing in Haxe so far and why it sometimes felt like a bumpy road to me as well as showing in which way my prior knowledge in Matlab and R sometimes made it quite hard for me to get the hang of certain concepts in Haxe.

This post on the other hand is intended to give you a little update on what has changed on the project. First of all, a first very early version of the App is online in the GitHub repository. With this version of the slot machine task you can choose between the two machines, each of them showing you a specific reward that you win in case you select the correct, winning machine. Selecting the machines is done using the arrow keys which will invoke a light grey frame around the machines showing your choice. For the final selection you need to press the enter key after which the color of the winning machine is shown in the middle of the screen. If you have selected the correct machine, the reward will be added to your points shown in the upper middle screen.
In the background the App is set up to generate an array of 200 (the number of rounds) probability values determining the probability to win a reward for each of the two machines. These values are generated by using a Gaussian Random Walk. This means that we draw values from a Gaussian normal distribution with a preconfigured mean and standard deviation, in this case a mean of 0 and a standard deviation of 0.075 which corresponds with the values we used for the initial simulation of the task parameters. Now the array is generated by selecting a starting value and adding or subtracting values drawn from the normal distribution in order to get a path of random values that enables us to track the decisions of a subject while the probabilities keep on changing slightly over the run. As big leaps in the probabilities as well as values below 0 and above 1 are not wanted in this scenario, regularization is used for the step selection in that a step is always modified by a penalization value that scales it down. Also a drawn step is only selected if it would not lead to the probability value going above 1 or below 0.
As too extreme reward values shown on the slot machines (that means values near 100 or 0 respectively) would have a strong effect on the choice of the subject, the reward values are drawn from a normal distribution with a mean of 50 and a standard deviation of 12 which leads to an orientation of values towards the middle while extreme values are drawn in only a few cases.
It wasn’t actually easy for me to upload this version of the code as we are pretty accustomed to only uploading code that is (nearly) finalized. But in this way I hope I can accompany the development of the code and the steps taken from the sketchbook to the final app a lot better. So stay tuned for more behind the scenes information!
If you are also interested in the project as a whole and you are able to read in german, you can also have a look at the interim report on this project that with its scope goes well above the implementation of the app and focuses more on the open science side of the fellowship.

Then there is great news that Jennifer Them joined this project as an app developer! Jennifer already brings knowledge regarding Java programming and is highly interested in strengthening her programming skills within computational psychiatry applications. As you can see at the end of this post, she is also very skilled in graphically layouting the different screens needed for implementing the app. So I’m very happy to welcome her on board and would like to hand the stage to her for the rest of this post:

My name is Jennifer Them and I am now a part of this project. I am currently studying Cognitive Science in my first Master semester. After attending my first lecture about Computational Psychiatry I decided to increase my knowledge in this area of expertise. My main interest in the project is driven by being able to apply computational approaches to acquire an in-depth look into mental disorders.

With the growing awareness of the replication crisis it seems inevitable to do research in an open way and I am more than happy to be part of a lab group that values open science approaches. Due to my history in programming that involved coding in Java my part in this project consists of programming the app together with Vanessa. As a good plan is crucial in programming, my first step was sketching the layout of the app to visualize the main features and the structure.

Graphic overview - Slot Machine Task

The second step was to conceptualize the different parts we need to implement for a functioning app. This comprises a user management with an SQL database to store the acquired data and also allows for multiple users via a user menu with a log-in. Then a slot machine has to be implemented to execute the actual task. Lastly the app and its features need to be equipped with graphics to make the app more visually appealing to the player.