Yog.FSharp
Getting Started Examples API Reference GitHub

Yog.Pathfinding Namespace

Modules Description

AStar

A* (A-Star) search algorithm for optimal pathfinding with heuristic guidance.

A* is an informed search algorithm that finds the shortest path from a start node to a goal node using a heuristic function to guide exploration. It combines the completeness of Dijkstra's algorithm with the efficiency of greedy best-first search.

BellmanFord

Bellman-Ford algorithm for single-source shortest paths with support for negative edge weights.

The Bellman-Ford algorithm finds shortest paths from a source node to all other nodes, even when edges have negative weights. It can also detect negative cycles reachable from the source, which make shortest paths undefined.

Dijkstra

Dijkstra's algorithm for single-source shortest paths in graphs with non-negative edge weights.

Dijkstra's algorithm finds the shortest path from a source node to all other reachable nodes in a graph. It works by maintaining a priority queue of nodes to visit, always expanding the node with the smallest known distance.

DistanceMatrix

Optimized distance matrix computation for subsets of nodes.

This module provides an auto-selecting algorithm for computing shortest path distances between specified "points of interest" (POIs) in a graph. It chooses between Floyd-Warshall and multiple Dijkstra runs based on POI density.

FloydWarshall

Floyd-Warshall algorithm for all-pairs shortest paths in weighted graphs.

The Floyd-Warshall algorithm finds the shortest paths between all pairs of nodes in a single execution. It uses dynamic programming to iteratively improve shortest path estimates by considering each node as a potential intermediate vertex.

Utils

Utility types for pathfinding algorithms.

Provides the Path<'e> type which represents a computed path through a graph along with its total weight/cost.