Question: #ifndef TREE _ SERACH _ H #define TREE _ SERACH _ H #include data _ types.h / / = = = = = =
#ifndef TREESERACHH
#define TREESERACHH
#include "datatypes.h
WRITE YOUR OPTIONAL COMMANDS
#define CITYNUMBER
YOUR COMPULSORY BUT SPECIFIC TO THE PROBLEM COMMANDS
#define PREDETERMINEDGOALSTATE User will initially determine the goal state if it is true
#define ACTIONSNUMBER The number of all possible actions
#define MAXSEARCHEDNODE exit from the search process if it is exceeded
YOU DO NOT NEED TO CHANGE THIS PART
#define NOACTION
#define TRUE
#define FALSE
#define FAILURE NULL
YOUR COMPULSORY BUT SPECIFIC TO THE PROBLEM DECLARATIONS
State CreateState;
void PrintStateconst State const state;
void PrintActionconst enum ACTIONS action;
int Resultconst State const parentstate, const enum ACTIONS action, TransitionModel const transmodel;
float ComputeHeuristicFunctionconst State const state, const State const goal;
int GoalTestconst State const state, const State const goalstate;
YOU DO NOT NEED TO CHANGE THIS COMPULSORY DECLARATIONS EXCEPT INSERTION OF THE GENERALIZED A ALGORITHM
Node FirstGoalTestSearchTREEconst enum METHODS method, Node const root, State const goalstate;
Node FirstInsertFrontierSearchTREEconst enum METHODS method, Node const root, State const goalstate, float alpha; Update for THE GENERALIZED A
Node DepthTypeSearchTREEconst enum METHODS method, Node const root, State const goalstate, const int MaxLevel;
Node ChildNodeNode const parent, const enum ACTIONS action;
Queue StartFrontierNode const root;
int Emptyconst Queue const frontier;
Node PopQueue frontier;
void InsertFIFONode const child, Queue frontier;
void InsertLIFONode const child, Queue frontier;
void InsertPriorityQueueUniformSearchNode const child, Queue frontier;
void InsertPriorityQueueGreedySearchNode const child, Queue frontier;
void InsertPriorityQueueAStarNode const child, Queue frontier;
void InsertPriorityQueueGENERALIZEDAStarNode const child, Queue frontier float alpha; Update for THE GENERALIZED A
void PrintFrontierQueue const frontier;
void ShowSolutionPathNode const goal;
void PrintNodeconst Node const node;
int LevelofNodeNode const node;
void ClearAllBranchNode node int NumberAllocatedNodes;
void ClearSingleBranchNode node int NumberAllocatedNodes;
void WarningMemoryAllocation;
int CompareStatesconst State const state const State const state;
Node FrontiersearchQueue const frontier, const State const state;
void RemoveNodeFromFrontierNode const oldchild, Queue const frontier ;
WRITE YOUR OPTIONAL DECLARATIONS
#endif change this code for puzzle
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
