Search Algorithms - PrismoSkills



Search Algorithms - PrismoSkills

DFS, BFS, Greedy and A-star Search Algorithms


When searching for a value, following factors affect the quality of search:
  1. Estimate of remaining distance: Also called as Heuristic function h.
  2. Cost of moving: Denoted by g. This is applicable if all nodes do not have uniform cost for passing through them.

With the above definitions, search algorithms can be classified as:
  1. Depth-first Search: Goes into full depth of one side, then other side, then other and so on.
  2. Breadth-first Search: Search as near to current node as possible.
  3. Greedy Search: Follows the least value of the heuristic function h.
  4. Uniform Cost Search: Follows the least value of cost-from-start-to-node g. Thus it behaves very similar to BFS.
  5. A-star Search: Follows the least value of the expression: cost-from-start-to-node + heuristic-cost-from-node-to-end (g+h).


Search Algorithms Playground: For the below algorithms, passing a blue grid-box is 4 times costlier than a yellow one.
Heuristic value for any node is the Manhattan Distance between that node and the end-point.

Read full article from Search Algorithms - PrismoSkills


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts