Thuật ngữ AI
Từ điển đầy đủ về Trí tuệ nhân tạo
Breadth-First Search (BFS)
Graph traversal algorithm that explores nodes level by level, using a queue to systematically visit all vertices reachable from a starting point.
Depth-First Search (DFS)
Recursive traversal technique that explores as far as possible in each branch before backtracking, typically implemented with a stack or recursively.
Dijkstra's Algorithm
Greedy algorithm that determines the shortest path from a source vertex to all other vertices in a weighted graph with non-negative weights.
A* Algorithm
Optimal pathfinding algorithm combining heuristic and actual cost, using an evaluation function f(n) = g(n) + h(n) to efficiently guide exploration.
Bellman-Ford Algorithm
Shortest path algorithm capable of detecting negative weight cycles, iteratively relaxing all edges to propagate minimum distances.
Floyd-Warshall Algorithm
Dynamic programming algorithm that calculates shortest paths between all pairs of vertices by successively considering each vertex as an intermediate point.
Bidirectional Search
Technique that optimizes pathfinding by simultaneously conducting two searches from source and destination vertices until their intersection.
Topological Sorting
Linear ordering of vertices in a directed acyclic graph where each edge u→v respects the constraint that u appears before v in the final order.
Tarjan's Algorithm
Linear algorithm that identifies strongly connected components in a directed graph using depth-first search with numbering and stacks.
Strongly Connected Components
Maximal subgraphs where each vertex is reachable from every other vertex in the same subgraph through directed paths.
Articulation Point
Vertex whose removal increases the number of connected components of the graph, identified by depth-first search algorithms with numbering.
Bridges in a Graph
Critical edges whose removal disconnects the graph by increasing the number of connected components, detected by specialized depth-first search traversals.
Kosaraju's Algorithm
Two-phase algorithm using two depth-first searches to identify the strongly connected components of a directed graph.
Limited Depth Search
Variant of DFS that restricts the exploration depth to a predefined limit, avoiding combinatorial explosion in deep graphs.
Iterative Deepening Search
Search strategy combining advantages of BFS and DFS by performing series of limited-depth searches with increasing depths.
Johnson's Algorithm
Efficient algorithm for all-pairs shortest paths in weighted sparse graphs, combining Dijkstra and Bellman-Ford reweighting.
Uniform Cost Search
Variant of Dijkstra exploring the node with minimal accumulated cost without heuristic, guaranteeing optimality for graphs with positive costs.
Eulerian Cycle
Path traversing each edge exactly once, existing if and only if each vertex has even degree in a connected graph.
Hamiltonian Cycle
Path visiting each vertex exactly once, NP-complete problem without simple necessary and sufficient condition for existence.