Basic AI Concepts: A* Search Algorithm

Introduction Artificial intelligence in its core strives to solve problems of enormous combinatorial complexity. Over the years, these problems were boiled down to search problems. A path search problem is a computational problem where you have to find a path from point A to point B. In our case, we’ll be mapping search problems to appropriate graphs, where the nodes represent all the possible states we can end up in and the edges representing all the possible paths that we […]

Read more

Modified Preorder Tree Traversal in Django

Introduction This article is an extension to a previous article titled, Recursive Model Relationships in Django, which demonstrated a way to utilize the bare-bones Django capabilities to define database-backed Classes that model a common use-case for a recursive relationship. The use case I intend to satisfy is the common relationship between employees and managers of employees, which are also employees themselves. Evaluating the Prior Implementation The prior article defined an Employee class that translates into a database table of the […]

Read more

Python Linked Lists

A linked list is one of the most common data structures used in computer science. It is also one of the simplest ones too, and is as well as fundamental to higher level structures like stacks, circular buffers, and queues. Generally speaking, a list is a collection of single data elements that are connected via references. C programmers know this as pointers. For example, a data element can consist of address data, geographical data, geometric data, routing information, or transaction […]

Read more
1 2