Dmytro Lysak's projects
Concurrent Learning of Decision Trees
Abstract:
This project aims to create a concurrent version of J48 whilst retaining the classification accuracy of the original. The concurrent implementation was built upon WEKA in order to allow users to fully utilise the benefits of WEKA’s options and features.
Various kinds of datasets were used to test the concurrent implementation and the results show a very good improvement for large datasets, however not much of an improvement for very small datasets.
Very large datasets that took ~2400 seconds to run on the original only took ~85 seconds to run on the concurrent version with a poolsize of 64 on a machine with 80 logical cores.
In the future with continues work, the results could further be improved and yield much more favourable measures for both smaller and larger datasets.
Coastal Observer
Abstract:
Our project provides a system for displaying ship traffic, performing path prediction and collision detection for maritime traffic by collecting and utilising data that is continuously transmitted from ships. The data that we interpret can be used to create a ship's path trajectory, and track vessels. We have developed a web interface and a server backend that creates and displays ship position information and path predictions.

Our system has replays AIS data and creates predictions on the navigational values that the AIS messages represent. The system is capable of decoding data captured from real-world ships and creates a virtual environment that recreates the movement of real maritime traffic. To do this, we used three datasets for testing, one of which had over 48,000 AIS messages collected from the maritime traffic in the Straits of Dover. The global data was used for a few weeks while awaiting better and more precise data. The dataset we received from Port Control at the Port of Dover only covered a circular mile radius outside of the control tower therefore we could not use this extensively. We stream this dataset into our system because of the absence of dedicated hardware for AIS capture. This form of testing allows us to evaluate the accuracy of our data predictions and to demonstrate how our interface would operate if it was supplied with live AIS data.
Concurrent implementation of QuickSort
Abstract:
This was done in Java and the System specification is: Windows 7 64x service pack 1 running on a 970gtx, i5 4690k (4cores), 16GB DDR3 RAM, on an SSD.
Running an array size of 1 million --generated using a random library to generate random integer values-- yielded a 50%-60% improvement in the execution. The results were slightly better for an array size of 10 million; however for an array size of 100k, there was only an improvement of about 10%-20%.
Online Calculator via Spring

I have created an online Calculator using Javascript as the front end and Spring Boot as the backend.