Notable Feats

On this page I elaborate on my accoplishments and the feats of my academic career so far. At this point, my "trophies" are both projects I have done or/and subjects I have passed which I find worth mentioning.

Welcome

I am Stelios Papagrigoriou, Undergraduate Student of Technical University of Crete. I hope you enjoy the tour in my webpage and get to know me and my work.

Selected Projects

Diploma Thesis
Spring 2012 (Expected)

Efficient Segmentation and Classification on Hyper-Spectral Cubes.
Supervisors: Prof. Minos Garofalakis, Prof. Costas Balas

The Objective of the Thesis is to use state-of-the-art techniques in order to reach real-time-performance Data Mining on a Hyper Spectral Cube (an image that contains info not only for the Visible Spectrum) which updates on video rate. The outcome is expected to serve medical and diagnosis purposes and will be used for a promising project of Prof. Balas.

The Thesis will address two problems: The Segmentation/ Partitioning of the Image that will take place in the cpu, and then the Classification of each part which will take place in the gpu, creating a pipeline. For the Segmentation/Partitioning, a series of algorithms will be tested and featured in order to achieve optimal speed. The Classification part not only will it include finding the best Classification algorithm that can provide both speed and accuracy but also cleansing the training dataset from the noise and creating a golden standard for the training.

After the theoritical aproach, all the algorithms will be implemented, featured and optimized for the C++, CUDA languages and the GPU architecture for the parts of the algorithm that will use it. Aiming for a publication.

Course Projects

GIS Software Development for Sea Navigation and Routing.
Our initial data were polygons that reprecented the continents. Given destination and starting points, the sea route that connects them had to be mapped. To achieve that, QuadTree algorithm is used to segment the globe into "cells". A graph is then created using the vertices of the "cells" that reside on the sea. Whenever a routing question is adressed, a k-d tree is used to find the graph vertices closest to the starting and destination points, connecting them with the graph and finally run Dijkstra's Shortest Path search on the graph. A series of problems had to be adressed: dealing with very steep areas (such as Giblartar), improving the initial route if possible and others.

The memory and speed performance of the algorithm were tested for different polygon "resolutions" (the higher the resolution the more points were describing each polygon) and presentated in front of an audience
Skillset: Multidimensional data handling and Graph algorithms(such as K-D-Trees, QuadTree Griding etc), Graph Theory, Advanced use of C++ Language and C++ Libraries (Boost, CGAL,ORG-GDAL).

Implemented a centralized algorithm for Monitoring Threshold Fuctions over Distributed Data Streams. Based on the algorithm described in Sharfman, Schuster, Keren - SIGMOD ’06 “A Geometric Approach to Monitoring Threshold Functions over Distributed Data Streams”. Multiple problems had to be addressed such as : Preserving the Causality Dependencies, preventing Race Conditions, Implementing the Distributed Algorithm and others.

The implementation was tested on a Computer Grid over differents simulations of streams and number of nodes. The results and the implementation were presented in front of an audience.
Skillset: Experience with Distributed Systems (Creating a Distributed System, Synchronizing the Nodes, Theoritical Analysis to Prevent Race Conditions and Bugs etc), Experience with Java RMI, Use of TORQUE and Computer Grids.

Implementing an algorithm for parallel training Neural Networks using a GPU.
Parallel Particle Swarm Optimization (PSO) is used to define starting weights for the training session. A parallelized BackPropagation technique is then used to convenge our Neural Network to its final form. I am currently working on it and I am really confident about the speed-ups. It will be used for the needs of my Thesis.
Skillset: Advanced use of CUDA and cuda Libraries for parallel programming, Exploiting the GPU architecture for maximum speedup gain.

Featured and Implemented the Grace Hash Join algorithm to be used with Hadoop Map Reduce.
The implementation was quite straight forward. The mappers were used to create the first partitions of the two relations while the reducers performed the final join.
Skillset: Big Data handling Algorithms for Databases, Experience with Hadoop Map-Reduce platform.

Implemented Aproximate Count Aggregate Operator for the Postgres DBMS.
Based on Metwally, Agrawal, El Abbadi -2005 "Efficient Computation of Frequent and Top-k Elements in Data Streams".
Skillset: Experience with Approximate Aggregate Queries on Databases, Experience with the backend structure of a complete functional Database System.

Implemented Game Of Life on an FPGA.
The famous mathematical "Game Of Life" was coded in VHDL and imported into a Spartan-6 FPGA. Our component had to cooperate with a microblaze processor. A starting pattern was loaded to the fpga through a Serial port. Every step was sent back through the same port and was visualized on the screen with the use of a GUI-driver we had created.
Skillset: Experience with Approximate Aggregate Queries on Databases, Experience with the backend structure of a Database System.

Smart Othello (also known as Reversi) Agent.
An Othello(or Reversi) Agent was Developed. The agent is able to connect to a server, get the current board state and return a move. The game uses a 10x10 board not the traditional one. The agent has a total time of play of 200 seconds (for the whole game) and has to limit its search according to its time left - it usually reaches 6-8 level depth. While searching the tree the agent keeps in memory only the board state of the tree node as well as the moves played to reach it. This way a minimal requirement of memory is needed.
Skillset: Basic Knowledge of game theory, Experience with search algorithms in adversarial enviroments minimax-pruning, NegaScout etc), Move Ordering techniques, Coding optimization and tricks for optimal memory use.

Selected Modules

Cross Listed - Graduate
  • Computational Geometry - Multi Dimensional Data. Instructor: Prof. V. Samoladas • Score: 10/10
  • Data Processing and Manipulation on Sensor Networks. Instructor: Prof. A. Deligiannakis (Fall 2011)
  • Programming Massively Parallel Processors. Instructor: Prof. G. Papaeustathiou • (Fall 2011)
  • BioMedical Technology. Instructors: Prof. C.Balas, Prof. M. Zervakis (Fall 2011)
Under-Graduate
  • Operating Systems. Instructor: Prof. V.Samoladas • Score: 10/10
  • Advanced Topics in Databases. Instructor: Prof. M. Garofalakis • Score: 9/10
  • Artificial Intelligence. Instructor: Prof. G. Chalkiadakis • Score: 9/10

  • Distributed Software Systems. Instructor: Prof. V. Samoladas • Score: 9/10
  • Computer Networks II. Instructor: Prof. A. Bletsas • Score: 9/10

  • Embedded Systems. Instructor: Prof. G. Papaeustathiou • Score: 9/10
  • Optoelectronics. Instructor: Prof. C. Balas • Score: 8.5/10
  • Sensors and Measurements. Instructor:Prof. K. Kalaitzakis • Score: 8/10