heuristics_calculations - A web-based GUI tool to showcase SLD and Manhattan Metrics (P5 JS)

  •        8

Select two points, ENTER for Manhattan Distance, and ESCAPE for SLD (Straight Line Distance/Euclidean Distance). Outputs are shown now on both console as well as the grid.




Related Projects


  •    Python

This project includes skeletons for the classes and functions needed to solve deterministic logistics planning problems for an Air Cargo transport system using a planning search agent. With progression search algorithms like those in the navigation problem from lecture, optimal plans for each problem will be computed. Unlike the navigation problem, there is no simple distance heuristic to aid the agent. Instead, you will implement domain-independent heuristics. All problems are in the Air Cargo domain. They have the same action schema defined, but different initial states and goals.

maltrail - Malicious traffic detection system

  •    Python

Maltrail is a malicious traffic detection system, utilizing publicly available (black)lists containing malicious and/or generally suspicious trails, along with static trails compiled from various AV reports and custom user defined lists, where trail can be anything from domain name (e.g. zvpprsensinaix.com for Banjori malware), URL (e.g. for known malicious executable), IP address (e.g. for known attacker) or HTTP User-Agent header value (e.g. sqlmap for automatic SQL injection and database takeover tool). Also, it uses (optional) advanced heuristic mechanisms that can help in discovery of unknown threats (e.g. new malware). Maltrail is based on the Traffic -> Sensor <-> Server <-> Client architecture. Sensor(s) is a standalone component running on the monitoring node (e.g. Linux platform connected passively to the SPAN/mirroring port or transparently inline on a Linux bridge) or at the standalone machine (e.g. Honeypot) where it "monitors" the passing Traffic for blacklisted items/trails (i.e. domain names, URLs and/or IPs). In case of a positive match, it sends the event details to the (central) Server where they are being stored inside the appropriate logging directory (i.e. LOG_DIR described in the Configuration section). If Sensor is being run on the same machine as Server (default configuration), logs are stored directly into the local logging directory. Otherwise, they are being sent via UDP messages to the remote server (i.e. LOG_SERVER described in the Configuration section).

Heuristic Goal-seeking Framework

  •    Java

Fifteen puzzle, with its own goal-seeking to find the best solution

C# RushHour Puzzle

  •    CSharp

RushHour Project uses the A* algorithm to solve instances of the Rush Hour puzzle. This involved implementing a graph-search version of A*, along with three heuristics, and testing the implementation on several Rush Hour puzzles

Open-VRP - Open-source framework for modeling Vehicle Routing Problems.

  •    Common

The Problem object (e.g. VRP) and the Algorithm object (e.g. Genetic Algorithm) are modelled seperately and combined with the generic method (solve-prob problem algo). Different solution algorithms can be tested and compared against each other on the same problem (which you only model once). Too often have I found myself having to build a VRP model from scratch, just to experiment with some meta-heuristics for a school paper. Academics/students with a background/interest in Mathematics/Operations Research without the skills/patience for die-hard coding (in C++/Java), have no choice but to spend their valuable time stuck in the debug/test/debug cycle. Here is why those in OR should consider Common Lisp as an option.

FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution


Pex Custom Arithmetic Solver contains a collection of meta-heuristic search algorithms. The goal is to improve Pex's code coverage for code involving floating point variables. The project is based on the PexArithmeticSolverAttributeBase. The project has been evaluated in a ...


  •    Python

Menu Maker is 100% Python heuristics-driven menu generator for a number of X Window Managers and desktop environments. It features large knowledge base of known programs, powerful and flexible search algorithms, persistence of menus across several WMs

Haze Anti-Virus

  •    CSharp

Haze Anti-Virus is a anti virus written in native C++, it uses signatures and heuristics scanning. This antivirus is aimed at providing all users with a secure computer enviroment, by making it as simple to use but still packs even more features than other complex antivirus so...

driller - Driller: augmenting AFL with symbolic execution!

  •    Python

Driller is an implementation of the driller paper. This implementation was built on top of AFL with angr being used as a symbolic tracer. Driller selectively traces inputs generated by AFL when AFL stops reporting any paths as 'favorites'. Driller will take all untraced paths which exist in AFL's queue and look for basic block transitions AFL failed to find satisfying inputs for. Driller will then use angr to synthesize inputs for these basic block transitions and present it to AFL for syncing. From here, AFL can determine if any paths generated by Driller are interesting, it will then go ahead and mutate these as normal in an attempt to find more paths. Driller's symbolic execution component is invoked when AFL is 'stuck'. In this implementation, AFL's progress is determined by its 'pending_favs' attribute which can found in the fuzzer_stats file. When this attribute reaches 0, Driller is invoked. Other heuristics could also be used, and it's infact likely that better heuristics exist.


  •    Java

Build lightweight networks of service-based components (SOA or Cloud).

XSY#: C# Implementation of System Theory

  •    CSharp

XSY# is an open source project to implement multi-formalisms such as Discrete Event System Specification (DEVS) as well as meta-heuristic search techniques such as Genetic Algorithms.

2048-ai - AI for the 2048 game

  •    C++

AI for the 2048 game. This uses expectimax optimization, along with a highly-efficient bitboard representation to search upwards of 10 million moves per second on recent hardware. Heuristics used include bonuses for empty squares and bonuses for placing large values near edges and corners. Read more about the algorithm on the StackOverflow answer. in a terminal. Any relatively recent C++ compiler should be able to build the output.

bugspots - Implementation of simple bug prediction hotspot heuristic

  •    Ruby

Implementation of simple bug prediction hotspot heuristic


  •    Java

Modular Java Framework for Meta-heuristic Optimization


  •    Java

neochip is a collection of algorithms for high-density oligonucleotide microarrays. The current version contains heuristic algorithms that attempt to improve the quality of arrays by re-designing their layout (the location of the probes on the chip).


  •    Perl

MicroGP (uGP) is a versatile optimizer able to outperform both human experts and conventional heuristics in finding the optimal solution of hard problems. It is an evolutionary algorithm since it mimics some principles of the Neo-Darwinian paradigm.

TicTacToe Solver

  •    CSharp

Classic game solved with MinMax algorithm (full solution tree) and simple Heuristics. Specially for learning and teaching computer AI


  •    C++

BFilter is an ad-filtering web proxy featuring an effective heuristic ad-detection algorithm.

ngraph.path - Path finding in a graph

  •    Javascript

Fast path finding for arbitrary graphs. Play with a demo or watch it on YouTube. If you want to learn how the demo was made, please refer to the demo's source code. I tried to describe it in great details.

Mediocre Chess

  •    Java

Mediocre is a Java-based chess engine, implementing features like LMR, SEE, history and killer moves heuristics, transposition tables, internal iterative deepening, PVS search etc.