

{"id":5880,"date":"2018-01-24T08:50:51","date_gmt":"2018-01-24T08:50:51","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=5880"},"modified":"2025-07-25T16:07:10","modified_gmt":"2025-07-25T10:37:10","slug":"popular-search-algorithms","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/","title":{"rendered":"Popular Search Algorithms in Artificial Intelligence"},"content":{"rendered":"<div>\n<div class=\"\">\n<p>In this blog, we will study Popular Search Algorithms in Artificial Intelligence. Also, we will lesrn all most popular techniques, methods, algorithms and searching techniques. We will use Popular Search Algorithms examples and images for the better understanding.<\/p>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Introduction to Popular Search Algorithms in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">In the artificial algorithm, to solve the problem we use the searching technique. The search algorithms help you to search for a particular position in such games.<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Single Agent Pathfinding Problems<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">There are different types of games. Such as 3X3 eight-tile, 4X4 fifteen-tilepuzzles are single-agent-path-finding challenges. As they are consisting of a matrix of tiles with a blank tile.<\/div>\n<div><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Thus, to arrange the tiles by sliding a tile either <span class=\"adverb\">vertically<\/span> or <span class=\"adverb\">horizontally<\/span> into a blank space. Also, with the aim of accomplishing some <span class=\"complexword\">objective<\/span>.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>\u00a0<\/strong><\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>For example:<\/strong><\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Travelling Salesman Problem, Rubik\u2019s Cube, and Theorem Proving<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Search Algorithms Terminology<\/h3>\n<\/div>\n<div class=\"\"><strong>a. Problem Space<\/strong><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><span class=\"adverb\">Basically<\/span>, it is the environment in which the search takes place. (A set of states and set of operators to change those states)<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>b. Problem Instance<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It is a result of Initial state + Goal state.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>c. Problem Space Graph<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We use it to represent problem state. Also, we use nodes to show states and operators <span class=\"passivevoice\">are shown by<\/span> edges.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>d. The depth of a problem<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can define a length of the shortest path.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>e. Space Complexity<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can calculate it as the <span class=\"complexword\">maximum<\/span> number of nodes that <span class=\"passivevoice\">are stored<\/span> in memory.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>f. Time Complexity\u00a0<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It <span class=\"passivevoice\">is defined<\/span> as the <span class=\"complexword\">maximum<\/span> number of nodes that <span class=\"passivevoice\">are created<\/span>.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>g. Admissibility<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can say it as a property of an algorithm that <span class=\"passivevoice\">is used<\/span> to find always an optimal solution.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>h. Branching Factor\u00a0<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can calculate it as the average number of child nodes in the problem space graph.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>i. Depth<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Length of the shortest path from an initial state to the goal state.<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Brute-Force Search Strategies<\/h3>\n<\/div>\n<div class=\"\">This strategy doesn\u2019t <span class=\"complexword\">require<\/span> any domain-specific knowledge. Thus it\u2019s so simple strategy. Hence, it works very <span class=\"adverb\">smoothly<\/span> and fine with a small number of possible states.<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>Requirements for Brute Force Algorithms<\/strong><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">a. State description<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">b. A set of valid operators<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">c. Initial state<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">d. Goal state description<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Breadth-First Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><span class=\"adverb\">Basically<\/span>, we have to start searching for the root node. And continue through neighboring nodes first. Further, moves towards next level of nodes. Moreover, till the solution <span class=\"passivevoice\">is found<\/span>, generates one tree at a time.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">As this search can <span class=\"passivevoice\">be implemented<\/span> using FIFO queue data structure. This method provides the shortest path to the solution.<\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">FIFO(First in First Out).<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">If branching factor (average number of child nodes for a given node) = b and depth = d, the number of nodes at level d = bd.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">The total no of nodes created in worst case is b + b2 + b3 + \u2026 + bd.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>Disadvantage<\/strong><\/div>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It consumes a lot of memory space. As each level of nodes <span class=\"passivevoice\">is saved<\/span> for creating next one.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Its complexity depends on the number of nodes. It can check duplicate nodes.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">\n<div id=\"attachment_5886\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5886\" class=\"wp-image-5886 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2.jpg\" alt=\"Breadth-First Search Algorithm\" width=\"740\" height=\"464\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2.jpg 740w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-150x94.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-300x188.jpg 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-5886\" class=\"wp-caption-text\">Breadth-First Search Algorithm<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Depth-First Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It <span class=\"passivevoice\">is based<\/span> on the concept of LIFO. As it stands for Last In First Out. Also, implemented in recursion with LIFO stack data structure. Thus, It used to create the same set of nodes as the Breadth-First method, only in the different order.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">As the path is been stored in each iteration from root to leaf node. Thus, store nodes are linear with space <span class=\"complexword\">requirement<\/span>. With branching factor b and depth as m, the storage space is bm.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>Disadvantage<\/strong><\/div>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">As the algorithm may not <span class=\"complexword\">terminate<\/span> and go on <span class=\"adverb\">infinitely<\/span> on one path. Hence, a solution to this issue is to choose a cut-off depth.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">If the ideal cut-off is d, and if the chosen cut-off is lesser than d, then this algorithm may fail.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">If the chosen cut-off is more than d, then execution time increases.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Its complexity depends on the number of paths. It cannot check duplicate nodes.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">\n<div id=\"attachment_5887\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-1.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5887\" class=\"wp-image-5887 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-1.jpg\" alt=\"Depth-First Search Algorithm\" width=\"740\" height=\"464\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-1.jpg 740w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-1-150x94.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-2-1-300x188.jpg 300w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/a><p id=\"caption-attachment-5887\" class=\"wp-caption-text\">Depth-First Search Algorithm<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Bidirectional Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><span class=\"adverb\">Basically<\/span>, starts searches forward from an initial state and backward from goal state. As till both meets to identify a common state.<\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Moreover, initial state path <span class=\"passivevoice\">is concatenated<\/span> with the goal state inverse path. Each search <span class=\"passivevoice\">is done<\/span> only up to half of the total path.<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Uniform Cost Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><span class=\"adverb\">Basically<\/span>, it performs sorting in increasing cost of the path to a node. Also, always expands the least cost node. Although, it is identical to Breadth-First search if each transition has the same cost.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It explores paths in the increasing order of cost.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>Disadvantage<\/strong><\/div>\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">There can be <span class=\"complexword\">multiple<\/span> long paths with the cost \u2264 C*.<\/li>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Uniform Cost search must explore them all.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Iterative Deepening Depth-First Search Algorithm<\/h3>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">To perform this search we need to follow steps. As it performs the DFS starting to level 1, starts and then executes a complete depth-first search to level 2.<\/p>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Moreover, we have to continue searching process till we find the solution. We have to generate nodes till single nodes <span class=\"passivevoice\">are created<\/span>. Also, it saves only stack of nodes.<\/p>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">As soon as he finds a solution at depth d, the algorithm ends, The number of nodes created at depth d is bd and at depth d-1 is bd-1.<\/p>\n<\/div>\n<div class=\"\">\n<div id=\"attachment_5888\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5888\" class=\"wp-image-5888 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01.jpg\" alt=\" Iterative Deepening Depth-First Search Algorithm\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-1-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-5888\" class=\"wp-caption-text\">Iterative Deepening Depth-First Search Algorithm<\/p><\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Informed (Heuristic) Search Strategies Algorithm<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">To increase the efficiency of search algorithm we need to add problem-specific knowledge. We use this to solve large problems with large number of possible states<\/div>\n<\/div>\n<div class=\"\">\n<h4 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">a. Heuristic Evaluation Functions<\/h4>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We use this function to calculate the path between two states that a function takes for sliding-tiles games. which we have to<span class=\"passivevoice\"> calculate by<\/span> computing number of rows. Also, moves of each tile make from its goal state. Further, adding these number of moves for all tiles.<\/div>\n<\/div>\n<div class=\"\">\n<h4 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">b. Pure Heuristic Search<\/h4>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">In order, if heuristic value nodes will expand. Also, creates two lists:<\/div>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">First, a closed list of the already expanded nodes;<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><span class=\"adverb\">Secondly<\/span>, an open list created. Although, unexpected nodes.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">A node with a <span class=\"complexword\">minimum<\/span> heuristic value <span class=\"passivevoice\">is expanded<\/span>, In each iteration. Also, all its child nodes <span class=\"passivevoice\">are created<\/span> and placed on the closed list.<\/div>\n<div><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Further, we apply this heuristic function to child nodes. Thus, at last, we have to place it in the open list, as per the heuristic value. Although, we have to save the shortest path while to dispose of the longer ones.<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">A * Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can say that A * Search is the best form of Best First Search. Also, avoids expensive expanding path. Although, first expands most promising path.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">f(n) = g(n) + h(n), where<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">g(n) is the cost to reach the node<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">h(n), it <span class=\"passivevoice\">is estimated<\/span> cost to get from the node to the goal<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">f(n) it <span class=\"passivevoice\">is defined<\/span> as the estimated total cost of path through n to goal. Also, we will use priority queue by increasing f(n) to <span class=\"complexword\">implement<\/span> it.<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Greedy Best First Search Algorithm in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">The node which is closest to goal will <span class=\"passivevoice\">be expanded<\/span> first. Although, explanation of nodes depends upon f(n) = h(n). Further, using priority queue we <span class=\"complexword\">implement<\/span> it.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><strong>Disadvantage<\/strong><\/div>\n<ul>\n<li class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">It can get stuck in loops. It is not optimal.<\/li>\n<\/ul>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Local Search Algorithms in AI<\/h3>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Basically, it&#8217;s Popular Search Algorithms. Also, a prospective solution. Further, moves to a neighboring solution. Moreover, returns a valid solution.<\/div>\n<\/div>\n<div class=\"\">\n<h4 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">a. Hill-Climbing Search Algorithm in AI<\/h4>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">We can start this algorithm with an arbitrary solution to a problem. Also, it\u2019s an iterative algorithm. Hence, the algorithm attempts to better solution by single element of the solution.<\/div>\n<div><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Although, we take an incremental change as a new solution. As if the change produces a better solution. Moreover, we have to repeat until there are no further improvements.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">As this function of the problem always, returns a state that is a local <span class=\"complexword\">maximum<\/span>.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">inputs: problem, a problem<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">local variables: current, a node<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">neighbor, a node<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">current &lt;-Make_Node(Initial-State[problem])<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">loop<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">do neighbor &lt;- a highest_valued successor of current<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">if Value[neighbor] \u2264 Value[current] then<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">return State[current]<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">current &lt;- neighbor<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">end<\/div>\n<\/div>\n<div class=\"\">\n<h4 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">b. Local Beam Search Algorithm in AI<\/h4>\n<\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">In this algorithm, we have to hold k number of states at any given time. At the beginning, we have to <span class=\"passivevoice\">generated states<\/span> <span class=\"adverb\">randomly<\/span>.<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Moreover, with the <span class=\"complexword\">objective<\/span> function, we have to compute successors of these k states. Also, this stop, if any of these successors is the <span class=\"complexword\">maximum<\/span> value of the <span class=\"complexword\">objective<\/span> function.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Otherwise, we have to put the (initial k states and k number of successors of the states = 2k) states in a pool. Also, a pool is then sorted <span class=\"adverb\">numerically<\/span>. Further, we have to select highest k states as new initial states. This process continues until a <span class=\"complexword\">maximum<\/span> value <span class=\"passivevoice\">is reached<\/span>.<\/div>\n<\/div>\n<div class=\"\"><\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">function BeamSearch( problem, k), returns a solution state.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">start with k <span class=\"adverb\">randomly<\/span> generated states<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">loop<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">generate all successors of all k states<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">if any of the states = solution, then return the state<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">else select the k best successors<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">end<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Simulated Annealing Algorithm in AI<\/h3>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">The process is of heating and cooling a metal to change its internal structure. Although, for modifying its physical properties <span class=\"passivevoice\">is known as <\/span>annealing. As soon as the metal cools, it forms a new structure.<\/p>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Also, metal is going to <span class=\"complexword\">retain<\/span> its <span class=\"adverb\">newly<\/span> obtained properties. Although, we have to keep the variable temperature in a simulated annealing process.<\/p>\n<p class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">First, we have to set high temperature. Then, left it to allow \u201ccool\u201d <span class=\"adverb\">slowly<\/span> with the proceeding algorithm. Further, if there is high temperature, algorithm accepts worse solutions with high frequency.<\/p>\n<\/div>\n<div class=\"\">Start<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Initialize k = 0; L = integer number of variables;<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">From i \u2192 j, search the performance difference \u0394.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">If \u0394 &lt;= 0 then accept else if exp(-\u0394\/T(k)) &gt; random(0,1) then accept;<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Repeat steps 1 and 2 for L(k) steps.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">k = k + 1;<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Repeat steps 1 through 4 till the criteria <span class=\"passivevoice\">matches<\/span>.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">End<\/div>\n<\/div>\n<div class=\"\">\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Travelling Salesman Problem<\/h3>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">The main goal of this problem is to find a low-cost tour. That starts from a city, visits all cities en-route exactly once and ends at the same starting city.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Start<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Find out all (n -1)! Possible solutions, where n is the total number of cities.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Further, determine the <span class=\"complexword\">minimum<\/span> cost by finding out the cost of each of these (n -1)! solutions.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Finally, keep the one with the <span class=\"complexword\">minimum<\/span> cost.<\/div>\n<\/div>\n<div class=\"\">\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">End<\/div>\n<\/div>\n<\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\"><\/div>\n<div class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">\n<div id=\"attachment_5889\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5889\" class=\"wp-image-5889 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01.jpg\" alt=\"Popular Search Algorithms\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/Distance-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-5889\" class=\"wp-caption-text\">Popular Search Algorithms<\/p><\/div>\n<\/div>\n<h3 class=\"public-DraftStyleDefault-block public-DraftStyleDefault-ltr\">Conclusion<\/h3>\n<p>Search algorithms help AI find answers. One popular algorithm is Breadth-First Search (BFS). It checks all possible paths one step at a time. It&#8217;s useful when all steps have equal cost, like finding the shortest path in a maze. BFS is simple but takes more memory.<\/p>\n<p>Depth-First Search (DFS) goes deep into one path before trying others. It&#8217;s like following one road fully, then coming back to try the next. DFS is memory-efficient but can get stuck going too deep. Both BFS and DFS are used in problem-solving and pathfinding.<\/p>\n<p>Another powerful search method is A* (A-Star) algorithm. It combines the best of BFS and heuristics. A* finds the shortest path by choosing the most promising path first. It is used in GPS systems, games, and robots. Search algorithms help AI find the best solutions in the smartest way.<\/p>\n<p>Furthermore, if you feel any query to understand Popular Search Algorithms, then feel free to ask in the\u00a0comment section.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, we will study Popular Search Algorithms in Artificial Intelligence. Also, we will lesrn all most popular techniques, methods, algorithms and searching techniques. We will use Popular Search Algorithms examples and images&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":40805,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[414,1149,12667],"class_list":["post-5880","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence","tag-ai-searching-techniques","tag-artificial-intelligence-popular-search-algorithm","tag-search-algorithms-in-ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Popular Search Algorithms in Artificial Intelligence - DataFlair<\/title>\n<meta name=\"description\" content=\"Popular Search Algorithms in AI - Depth first, Breadth first, Stimulated Annealing, A* search, Heuristic search, Brute force search, Bidirectional search\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Popular Search Algorithms in Artificial Intelligence - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Popular Search Algorithms in AI - Depth first, Breadth first, Stimulated Annealing, A* search, Heuristic search, Brute force search, Bidirectional search\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-24T08:50:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-25T10:37:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Popular Search Algorithms in Artificial Intelligence - DataFlair","description":"Popular Search Algorithms in AI - Depth first, Breadth first, Stimulated Annealing, A* search, Heuristic search, Brute force search, Bidirectional search","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/","og_locale":"en_US","og_type":"article","og_title":"Popular Search Algorithms in Artificial Intelligence - DataFlair","og_description":"Popular Search Algorithms in AI - Depth first, Breadth first, Stimulated Annealing, A* search, Heuristic search, Brute force search, Bidirectional search","og_url":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-01-24T08:50:51+00:00","article_modified_time":"2025-07-25T10:37:10+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Popular Search Algorithms in Artificial Intelligence","datePublished":"2018-01-24T08:50:51+00:00","dateModified":"2025-07-25T10:37:10+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/"},"wordCount":1899,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg","keywords":["AI Searching techniques","Artificial Intelligence Popular Search Algorithm","search algorithms in AI"],"articleSection":["Artificial Intelligence Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/","url":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/","name":"Popular Search Algorithms in Artificial Intelligence - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg","datePublished":"2018-01-24T08:50:51+00:00","dateModified":"2025-07-25T10:37:10+00:00","description":"Popular Search Algorithms in AI - Depth first, Breadth first, Stimulated Annealing, A* search, Heuristic search, Brute force search, Bidirectional search","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/01\/What-are-Popular-search-algorithms-in-Artificial-Intelligence-01-1.jpg","width":1200,"height":628,"caption":"Popular Search Algorithms in Artificial Intelligence"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/popular-search-algorithms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Artificial Intelligence Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/artificial-intelligence\/"},{"@type":"ListItem","position":3,"name":"Popular Search Algorithms in Artificial Intelligence"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/5880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=5880"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/5880\/revisions"}],"predecessor-version":[{"id":146143,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/5880\/revisions\/146143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/40805"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=5880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=5880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=5880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}