Tag: multithreading

The list of open source computer science projects including the multithreading tag.

2
android
1
biopython
3
bootstrap
1
c-plus-plus
2
c-sharp
6
css
2
cv2
2
firebase
1
flex-lexical-analysis
6
fontawesome
2
game
2
google-maps
3
hobby
6
html
1
jasypt
8
java
1
java-spark
6
javascript
3
jquery
1
jstl
1
laravel
3
matplotlib
1
mockaroo
2
multithreading
3
mysql
1
neat-algorithm
3
netlify
1
networkx
1
neural-networks
6
numpy
2
pandas
1
php
2
pillow
2
postgresql
9
python
3
react
1
reinforcement-learning
1
scikit-image
2
scikit-learn
1
scipy
2
servlets
7
sql
2
sqlite
3
tailwindcss
2
tomcat
19
university
3
visual-studio
6
web-app
2
website

Dining Philosophers

A Java solution to the Dining Philosophers problem developed as a university assignment for the subject of Operating Systems. On startup, the user is prompted to enter the number of philosophers in the simulation. Then, the philosophers are initialized with adjacent forks between each other as they "sit" on the lunch table. Each philosopher can be in one of three states: thinking, hungry or eating. As they get hungry and eventually start eating, they lift their forks, thus locking them for the amount of time required to eat. When forks are locked, adjacent philosophers must wait for the neighbor to release them. All state changes are displayed in console as well as the average waiting time for each philosopher.

Thesis

Involved in this project: Dionysios Sotiropoulos
On this project, we study applications of the NEAT algorithm in deterministic and non-deterministic game environments. First, we look at an overview of the NEAT algorithm, how it works, design principles and the challenges that come with implementation. Next, we introduce a custom two-dimensional game in Python for two players: blue and red. We lay down the basic rules and structure, in order to create an environment suitable for neuroevolution. Finally, we study five training cases, where the blue and red player are given several tasks that must be achieved through the evolution of neural networks.