ALCYON lab

ALgorithms for
Combinatorics,
geometrY,
Optimization and
Number theory
Home Members Projects Publications SCIM Theses topics
In order to choose a topic for your final year project or your master's thesis contact me at zafeirakopoulos@gtu.edu.tr. In general, I would be happy to discuss other topics as well.

Final Year Projects


All topics are available to students from both computer engineering and math departments. The separation in the lists below is only a suggestion.

Computer Engineering


Using fast volume approximation for computing Ehrhart polynomials

We propose a new algorithm for computing the Ehrhart polynomial by approximating the volume of dilated polytopes and interpolate.

This project will make use of the C/C++ software developed by GeomScale and JuliaLang. The project has a large experimental part and an algorithm development part.




Learning Bijections

Train a neural network to act as a bijection. Pick two sets of combinatorial objects that are known to have the same cardinality and train a network to act as a bijection, i.e., give a different output for each input.

The goal is to investigate best practices to develop a general framework in the direction of learning bijections.




Machine Learning for Polynomials

Use machine learning for predicting statistics or properties of polynomials. The main goal is to find appropriate encodings of polynomials and answer questions such as the number of real roots, the distance of the closest real roots, the existence of double roots etc.

You have to try and compare different architectures and design an interface that will be easy to use for the predictions you cover.




A software citation system

Design a system that parses code in Julia in order to create a list of citations. Functions in libraries will be decorated by something like: @citation{KnuthTAOCP} Then your system will compile a list of all citations used by an input program (based on which functions are called).

You need basic understanding of compilation and programming in JuliaLang. For the citations we will use the standard bibtex format.




Mathematics


Using fast volume approximation for computing Ehrhart polynomials

We propose a new algorithm for computing the Ehrhart polynomial by approximating the volume of dilated polytopes and interpolate.

This project will make use of the C/C++ software developed by GeomScale and JuliaLang. The project has a large experimental part and an algorithm development part.




Learning Bijections

Train a neural network to act as a bijection. Pick two sets of combinatorial objects that are known to have the same cardinality and train a network to act as a bijection, i.e., give a different output for each input.

The goal is to investigate best practices to develop a general framework in the direction of learning bijections.




Resultant Systems

Use machine learning for predicting statistics or properties of polynomials. The main goal is to find appropriate encodings of polynomials and answer questions such as the number of real roots, the distance of the closest real roots, the existence of double roots etc.

You have to try and compare different architectures and design an interface that will be easy to use for the predictions you cover.





Master's thesis topics


If you are interested in working with me for your master's, you should contact me before the application deadline.

Solid Partitions on a Cube

Compute the full generating function of the solid partitions on a cube. The problem has a long history, since P. MacMahon more than 100 years ago investigated it.

Theoretically the problem is easy to understand. Computationally is intractable by current software and methods.

In this project we study structural properties that can speed up the implementation as well as using parallel computing for making the computation possible.