PUBLICATIONS
  1. El-Sheikha, H., and Mahmoud, M.A., Varphi: A Description Language for Turing Machines. Western Canadian Conference on Computing Education (WCCCE ’25) (2025)


  2. Mahmoud, M.A., Degrees of Categoricity of Trees and the Isomorphism Problem. Math. Log. Quart. (2019)


  3. Csima, B.F., Deveau, M., Harrison-Trainor, M., and Mahmoud, M.A., Degrees of Categoricity Above Limit Ordinals. Computability (CIE) (2019)


  4. Ahmed, T.S., and Mahmoud, M.A., On the Multi-modal Logic of Substitutions. Studia. Sci. Math. Hungarica (2019)

OTHER WRITINGS

See these 3D plots ^^ ? Try to move around them using the cursor, and observe how the blue zone points infiltrate the red zone.

In the first (upper) plot, the blue points infiltrate more than they do in the second plot. If you try to imagine a surface boundary that separates the blue zone from the red zone, the boundary seems to be smoother in the second plot, doesn't it?


If you imagine the surface boundary as a sheet or piece of cloth, in the left plot it is overfitting, while in the second plot it is a bit loose.


Now look at the pink diamond (the target point). As you move around the plots, you’ll notice that in the first plot, the blue zone points lie closer to it than in the second plot.



 If you can see and feel all that I described, fantastic! Now what is this all about?



When you want a computer to solve a classification problem, say for example to know from an image of a tumour whether it is cancerous or benign, you first need to teach it using known examples. Teaching strategies (learning algorithms) are many; 1-NN and 3-NN are two different teaching strategies.


The given plots visualize how a computer will think of blue (benign) vs red (cancerous). The first plot is the computer’s understanding if you teach it using strategy 1-NN, whereas the second is if you teach it using 3-NN.


In the example here, which strategy is better? Let us bring two identical computers, teach one using 1-NN and the other using 3-NN on the same examples (the blue squares and the big red circles). After that, test the computers on the diamond (target point). The diamond is pinkish red, you know that, but the computers don't.


The computer that learned using 1-NN will see the diamond in the blue zone, closer to what how it understand blue, so will guess that the diamond is blue. At the same time, the computer that learned using 3-NN will guess that the diamond is red. So which teaching strategy was better, 1-NN or 3-NN?


The slides linked in the title rigorously explain the k-Nearest Neighbours (k-NN) algorithm, and explores the deep mathematical challenges that arise in high-dimensional spaces (the curse of dimensionality).

This is an formal introduction of Finite Automata (FA), a simple kind of an abstract computer, simpler than the Turing Machine (TM). If you are familiar with TMs, imagine a TM in which the reading/writing head is only moving to the right. We think of FAs as a program made of lines of triples, similar to how TMs are lines of quintuples (or quadruples in some formulations).

This is a work in progress. It offers a rigorous yet accessible foundation of Computability Theory and Computational Complexity.

Rather than merely covering a wide array of topics, this book prioritizes building the mathematically mature understanding of the fundamentals, which is normally only available in more dense texts, while accessible traditional introductions often sacrifice formal precision; this book rectifies that imbalance.

PUBLICATIONS
  1. El-Sheikha, H., and Mahmoud, M.A., Varphi: A Description Language for Turing Machines. Western Canadian Conference on Computing Education (WCCCE ’25) (2025)


  2. Mahmoud, M.A., Degrees of Categoricity of Trees and the Isomorphism Problem. Math. Log. Quart. (2019)


  3. Csima, B.F., Deveau, M., Harrison-Trainor, M., and Mahmoud, M.A., Degrees of Categoricity Above Limit Ordinals. Computability (CIE) (2019)


  4. Ahmed, T.S., and Mahmoud, M.A., On the Multi-modal Logic of Substitutions. Studia. Sci. Math. Hungarica (2019)

OTHER WRITINGS

See these 3D plots ^^ ? To experience the plots properly, use a desktop or a tablet, not a phone. Try to move around them using the cursor, and observe how the blue zone points infiltrate the red zone.


In the left-side plot, the blue points infiltrate more than they do in the right-side plot. If you try to imagine a surface boundary that separates the blue zone from the red zone, the boundary seems to be smoother in the plot on the right, doesn't it?


If you imagine the surface boundary as a sheet or piece of cloth, in the left plot it is overfitting, while in the right-side plot it is a bit loose.


Now look at the pink diamond (the target point). As you move around the plots, you’ll notice that in the left plot, the blue zone points lie closer to it than in the right plot.



If you can see and feel all that I described, fantastic! Now what is this all about?



When you want a computer to solve a classification problem, say for example to know from an image of a tumour whether it is cancerous or benign, you first need to teach it using known examples. Teaching strategies (learning algorithms) are many; 1-NN and 3-NN are two different teaching strategies.


Computers understand geometry and numbers. The given plots visualize how a computer will think of blue (benign) vs red (cancerous) using geometry. The left-side is the computer’s understanding if you teach it using strategy 1-NN, whereas the right-side is if you teach it using 3-NN.


In the example here, which strategy is better? Let us bring two identical computers, teach one using 1-NN and the other using 3-NN on the same examples (the blue squares and the big red circles). After that, test the computers on the diamond (target point). The diamond is pinkish red, you know that, but the computers don't.


The computer that learned using 1-NN will see the diamond in the blue zone, closer to what how it understand blue, so will guess that the diamond is blue. At the same time, the computer that learned using 3-NN will guess that the diamond is red. So which teaching strategy was better, 1-NN or 3-NN?


The slides linked in the title rigorously explain the k-Nearest Neighbours (k-NN) algorithm, and explores the deep mathematical challenges that arise in high-dimensional spaces (the curse of dimensionality).

This is an formal introduction of Finite Automata (FA), a simple kind of an abstract computer, simpler than the Turing Machine (TM). If you are familiar with TMs, imagine a TM in which the reading/writing head is only moving to the right. We think of FAs as a program made of lines of triples, similar to how TMs are lines of quintuples (or quadruples in some formulations).

This is an formal introduction of Finite Automata (FA), a simple kind of an abstract computer, simpler than the Turing Machine (TM). If you are familiar with TMs, imagine a TM in which the reading/writing head is only moving to the right. We think of FAs as a program made of lines of triples, similar to how TMs are lines of quintuples (or quadruples in some formulations).

This is a work in progress. It offers a rigorous yet accessible foundation of Computability Theory and Computational Complexity.

Rather than merely covering a wide array of topics, this book prioritizes building the mathematically mature understanding of the fundamentals, which is normally only available in more dense texts, while accessible traditional introductions often sacrifice formal precision; this book rectifies that imbalance.

This is a work in progress. It offers a rigorous yet accessible foundation of Computability Theory and Computational Complexity.

Rather than merely covering a wide array of topics, this book prioritizes building the mathematically mature understanding of the fundamentals, which is normally only available in more dense texts, while accessible traditional introductions often sacrifice formal precision; this book rectifies that imbalance.