Projects & AccomplishmentsAbiyev's Balanced Squares and Cubes
I've been interested in magic (Balanced) squares and cubes from a young age, and collaborated with Prof. Dr. Abiyev on several research projects which gave me some insight into the world of research. Over time, the projects got more serious in nature, at which point, I was already thinking of optimizing the way it was generated via code. Up until 2013, the code that was used in generating the Balanced squares and cubes mirrored the way it was generated by hand. Using Abiyev's algorithm, you first find the position of the cell that is going to be filled, then find the next number in the sequence (trivial operation). While this is very intuitive and simple to a human, finding the next position takes a little more work for a machine. You can view the filling order of the cells for Abiyev's Balanced square of an even degree here.
While I was doing research with Dr. Abiyev on the Invariant of Abiyev's Balanced squares and cubes, I began trying to find ways to optimize the algorithm so that a computer can generate squares and cubes faster, without the need for calculating positions each time (i.e. going from left to right, top to bottom). What I found was that 2 and 3 super-imposed Latin Squares can be used to generate Balanced squares and cubes, respectively (a latin square per dimension). I also found that it is possible to write these Latin squares in order (left-right, top-bottom) quite easily, and for each square (or cube) the subsequent Latin square(s) can be written from the first one without the need for extra calculation. Once this was clear, the rest was to simply create arrays for Latin squares first, then use those to generate the final square (or cube).
I implemented the algorithm in C++ at first, and once I decided to have the algorithm available at www.askeraliabiyev.com, picked PHP as a server-side language. No matter what algorithm, the best possible case for Balanced squares is O(n²) and cubes O(n³), n being the order of the square/cube, since you have to fill out each cell. The good news is that even while having the same big O comlexity, in real life this algorithm performs much better than the previous algorithm/program. And I am proud to say that I've written the fastest code to date to generate Balanced squares and cubes!
If we write a Balanced square of any order from any numbers (even symbols), replace the numbers in the cells with masses of corresponding value, and investigate the center of mass of such system we come across the same number progression, according to the frames of the square. The progression, which we call the Invariant, what frames are and how frames are calculated could be found in more detail here.
The regularity of the order of elements in periodic table can be found in the Invariant. And the question that comes up is whether the occurence of this regularity could be an accident or not. We argue that it cannot be an accident, as it is known that the electrons and positive charges in construction of an atom create a balanced system. This is to say that the centers of negative and negative charges are aligned. This progression we get from the electron shell (more on this later - still studying it) is 2n². And the progression in the Invariant is the same as the solution to the Schrödinger equation for Hydrogen atom in quantum mechanics. More info here and here.
FitAdvice is a service that enables people who are relatively new to exercises and fitness get help from coaches they know and trust without having to pay for a personal trainer who might or might not have the right knowledge/expertise they need. Currently it's a prototype-in-progress. It allows users to look into profiles of the trainers available and choose the one with the right experience and focus that suits their goals. They then get exercise, fitness and nutritional advice while having a two-way communication with top trainers.
I used the prototype as an opportinity to learn AngularJS and explore full-stack JS. I also found Bootstrap as a great front end resource that offers a lot of options that make it efficient to design websites that look professional and aesthetic. AngularJS on the other hand, made front end more powerful and straightforward to write Single Page Applications. Currently, I'm working on NodeJS to establish the backend and database connection for the application.
I've been passionate about songwriting since I was a child, and began seriously engaging with it since the age of 16. A longtime Beatles fan, I've been greatly influenced by their music, as well as sixties, rock'n'roll, classic rock and pop rock. My song, Valentine's Day, was selected as a semi-finalist in 2012 International Songwriting Competition, out of a pool of tens of thousands of applicants.
Here are some of the songs I've written and recorded:
This is my goodbye song to University of Waterloo, where I spent amazing 4 and a half years. It sums up how my years in Waterloo were and what I think of leaving there. The music video was played on UW Fall Convocation Ceremony last October in front of friends and family of hundreds of graduating students, and my hope is that this tradition will go on, and this song will be a part of the goodbye to UWaterloo for students to come.
Thanks to Easton for the brilliant drum track and for putting up with me during the recording, editing and mixing process, to Nero for the bass track and to Murad for filming.
In the video: The Rangers' Easton Page (shakers), Nero Wei (guitar) & I, Yusif Alizada.
I leave you, Waterloo
Fourth year, you're almost over
You are leaving me
I'll miss the days that passed now,
Days I'll see no more,
But somehow, will stay in my mind.
I leave you, Waterloo
The memories, they've been really nice but,
There were some tough times,
When midterms took me by surprise
Nevertheless, I have no regrets
Now all these silly things
I've been through - they all make sense
I leave you, Waterloo
Time will pass and things will change
Every year I am not by your side
In my life every single time I enter a new stage
I'll remember these moments and sigh
I love you, Waterloo