AI Implimentations

Get it Here

  • Depth First Search:

Download Now View Source on GitHub

  • Dijkstra’s pathfinding:

Download Now View Source on GitHub

  • Machine Learning:

Download Now View Source on GitHub

Details

  • Platform - PC
  • Programming Language - C
  • Role - Sole Developer
  • Objective - Implement a range of AI pathfinding algorithms.

One of the four modules that I was required to take in the first year was Introduction to AI. This module introduced various AI concepts such as Search algorithms, pathfinding and Machine Learning. As part of the module I implemented of a set of AI algorithms using some framework code provided by my lecturers as a starting point.

All code was implemented using the C language and involved the implementation of three algorithms to solve corresponding problems:

  • Depth first search to solve the 8/N Queens problem.
  • Dijkstra’s pathfinding algorithm to navigate provided mazes.
  • A Basic Learning Algorithm in order to classify a Dataset of values relating to Iris flowers.

Technical Implementation:

I was able to successfully implement each of the algorithms to a high standard achieving all the requirements set out for each algorithm. In regards to the first two implementations these were standard and were only required to implement the said algorithm to solve the problem. However for the last algorithm we were allowed to choose which algorithm we wanted to implement. Here I decided to implement a kNN (K Nearest Neighbour) algorithm using euclidean distance, as it was both efficient with a relativity low computational complexity and effective due to the distinctive nature of the data with low convergence among data points. Hence in this case it was a simple and effective algorithm to use and fulfilled the needs of the brief cost to perfectly with an approximate 98% ‘hit’ rate.

Project Details

Date: Dec 1, 2016

Author: Nathan Butt

Categories: University ProjectsYear 1AI Assignment

Tagged: AI, Low-level Systems, Pathfinding, Search, C/C++

Client: University Project

Website: N/A

Related Works.

About

A humble software engineer with a keen desire to learn and explore.