Nicolas Ong
Vancouver, BC nicolasong.com Nicolas.J.Ong@gmail.com linkedin.com/in/NicolasOng github.com/NicolasOng download
Experience
Produced my MSc thesis under the supervision of Professor Nathan Sturtevant.
-
Accelerated training 64x by parallelizing self-play with a batched inference server for a custom JAX/Flax AlphaZero implementation on a Slurm compute cluster
-
Increased AlphaZero's win rate by up to 30% pts (and value head accuracy by up to 5% pts) by replacing the default MC value targets with TD(λ), then developed λ-interpolation to mitigate slow TD convergence speed
-
Diagnosed why training with ground truth targets failed (majority-class collapse from imbalanced targets), developed mitigations that made this training succeed, and RL+NN training more robust
-
Utilized solve data from strongly solved Chinese Checkers to demonstrate AlphaZero's value accuracy exceeds that of its training data
-
Used AI agents to automate tasks, reducing task durations from weeks to hours, while ensuring correctness of produced work
CMPUT 272 – Formal Systems and Logic in Computing Science (Fall 2024); INT-D 161 – Artificial Intelligence Everywhere (Winter 2025, Fall 2025).
-
Self-taught formal logic and proof material each week to present and field student questions live for a class section of ~100 students
-
Automated grading with a Python + Google Sheets pipeline: pulled raw scores via Canvas API, displayed and computed statistics via sheets, flagged anomalies, and generated a CSV for bulk Canvas grade upload
First-authored a paper published at NAACL 2024 under the supervision of Professor Anoop Sarkar and his PhD student Hassan Shavarani.
-
Enabled unified black-box evaluations of 13 end-to-end entity linking systems in GERBIL, with per-system adapters (tokenization, document splitting, token-to-character alignment), reproducing published scores to within 2%
-
Demonstrated through candidate set ablation experiments, that while most entity linking systems fail without custom candidate sets, generative and structured prediction systems are robust
-
Demonstrated that systems lose performance when candidate sets include the full in-domain vocabulary, along with increases in inference time
-
Developed case management software in C#/.NET, coordinating with product and operations teams in an agile workflow using JIRA and GitHub
-
Built Redmane Canada's first live interface using the Azure ecosystem and REST APIs, saving the client thousands of hours per year of manual data transfer
-
Led client-facing design and go-live sessions; trained end users to ensure smooth organizational transitions to our software
-
Used T-SQL scripts to automate development work, investigate production issues, and implement data fixes
Publications
We train AlphaZero, modified with TD(λ) targets, on the strongly solved game Chinese Checkers. We investigate its training dynamics using the game-theoretic solve data as ground truth. We find that AlphaZero model accuracy exceeds the accuracy of the data it is trained on. We diagnose why training with ground truth targets has failed in previous work, develop mitigations for this which make RL+NN training more robust, then use this to enable TD(λ) targets. Our technique produces more accurate models, more accurate training data, and stronger players.
-
Author: Nicolas Ong, supervised by Nathan Sturtevant
-
Master of Science thesis, Department of Computing Science, University of Alberta
-
Defended September 16, 2026 (In UCOMM, University of Alberta)
-
Direct downloads: Thesis, Defence Slides
We replicate various entity linking methods, then perform candidate set ablation experiments on them. We creat a unified evaluation environment, with per-system adapters, to ensure valid comparability between results, and evaluate all models on a new dataset. We demonstrate that most systems fail without hand-crafted candidate sets, with the exception of generative and structured prediction methods. Replacing candidate sets with the full vocabulary costs performance and inference time. Methods did not generalize to our new dataset.
-
Authors: Nicolas Ong, Hassan Shavarani, and Anoop Sarkar
-
In Proceedings of the 2024 Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 2: Short Papers), pages 113–123
-
Presented virtually via video recording (Hosted on Underline)
-
Presented in-person at a poster session (Hosted in Don Diego, Hilton Reforma, Mexico City)
Education
Master of Science (Thesis) in Computing Science, 3.9 GPA. Thesis: Investigating AlphaZero's Value Targets Using Strongly Solved Chinese Checkers
Bachelor of Science (with Distinction), Major in Computing Science, 3.73 GPA
Projects
Learned about robotics and computer vision using the Duckiebot platform. This was for CMPUT 503 at the University of Alberta. Report.
-
Worked with ROS/rospy - nodes, topics, services, messages, and rosbags.
-
Utilized odometry data calculated from wheel encoders to perform localization and path visualization
-
Used OpenCV for computer vision - color detection, AprilTag detection, and lane detection.
-
Implemented PID controllers to perform lane following.
-
Bonus: Built a PyBullet Simulation to compare PID and MPC controllers balancing balls on a plate. Report.
Based on the "Ray Tracing in One Weekend" series. Video.
-
Developed in C++ using the graphics library Vulkan
-
Implemented Ray Tracing principles in a compute shader, which then renders the final image directly onto the swapchain's images
A blockchain networking protocol based on Bitcoin's original whitepaper with networking, proof of work, longest chain, and mining functions. GitHub.
-
Learned about blockchains by developing a blockchain networking protocol based on Bitcoin's original whitepaper
-
Major features include networking capability, proof of work, longest chain, and mining functions
-
Utilized multiprocessing and concurrency to develop a simulated socket interface, allowing one machine to simulate multiple nodes over the internet
-
Used TCP sockets at the application layer to allow a single machine to act as a node for this program on the internet
-
Extracted relevant information from big data (OpenStreetMap dataset) using Spark and Hadoop on SFU's compute cluster
-
Feature engineering with Pandas and Numpy, training and optimization with scikit-learn (Random Forest, Pipelines, and Grid Search), visualization with Plotly
-
Trained a model that can explain 35% of a hotel's score knowing only its location