Informed Search Algorithms

Informed Search Algorithms Using Python Libraries

This post demonstrates informed search algorithms using existing Python libraries and frameworks, showing how to leverage pre-built implementations for real-world applications.

๐Ÿ“š Libraries & Frameworks Used:

  • NetworkX: Graph algorithms and A* implementation
  • SciPy: Optimization algorithms (Simulated Annealing, etc.)
  • scikit-opt: Genetic Algorithm and other metaheuristics
  • OR-Tools: Googleโ€™s optimization tools (Tabu Search equivalent)

๐Ÿ““ Interactive Notebook

For the complete interactive implementation with code examples, visualizations, and detailed explanations, please view the html version of the Jupyter notebook:

๐Ÿ“Š View the Interactive Notebook

To download the notebook, click the link below: ๐Ÿ’พ Download the Jupyter Notebook

Note: The notebook contains executable Python code demonstrating each algorithm with real examples and performance comparisons.

Key Algorithms Covered

  1. A* Algorithm - Using NetworkX for pathfinding
  2. Simulated Annealing - Using SciPy for optimization problems
  3. Genetic Algorithm - Using scikit-opt for evolutionary computation
  4. Local Search Variants - Using OR-Tools for constraint satisfaction

Each algorithm is demonstrated with practical examples and performance analysis.

2025

Generating subsets

3 minute read

In this post, we will discuss the problem of generating all subsets of a given set of elements. A subset is a collection of elements that are selected from a...

Exponentiation

2 minute read

Computing the exponentiation of a number is a classic problem in computer science. The problem is to find the value of a number raised to the power of anothe...

The maximum subsequence sum algorithm

2 minute read

The maximum subsequence sum algorithm is a classic problem in computer science. The problem is to find the maximum sum of a contiguous subsequence in an arra...

Back to top ↑

2024

Docker

4 minute read

In this post, I will explain a very indispensable tool for developers. Docker is a tool that allows developers to build, deploy, and run applications using c...

Generating permutations

2 minute read

In this post, we will discuss the problem of generating all permutations of a given set of elements. A permutation is an arrangement of elements in a specifi...

The Convex Hull Problem

3 minute read

The convex hull problem is a problem in computational geometry. It is about finding the smallest convex polygon that contains a given set of points. The conv...

Back to top ↑

2023

CS3401 Projects 1445 1st semester

1 minute read

Project 1: Project management system The aim of this project is to implement a program (java or python) that manages a list of tasks in a project. The pr...

Back to top ↑

2022

Back to top ↑