Q14 Memory Efficient Graph Search 7 Points Recall from lecture the general algorithm for GRAPH-SEARCH reproduced below.Using GRAPH-SEARCH, when a node is expanded it is added to the closed set. This means that even if a node is added to the fringe multiple times it will not be expanded more than once. Consider an alternate version of GRAPH-SEARCH, MEMORY-EFFICIENT-GRAPH-SEARCH, which saves memory by (a) not adding node n nn to the fringe if STATE[nnn] is in the closed set, and (b) checking if there is already a node in the fringe with last state equal to STATE[nnn]. If so, rather than simply inserting, it checks whether the old node or the new node has the cheaper path and then accordingly leaves the fringe unchanged or replaces the old node by the new node. By doing this the fringe needs less memory, however insertion becomes more computationally expensive. More concretely, MEMORY-EFFICIENT-GRAPH-SEARCH is shown below with the changes highlighted.Now, we've produced a more memory efficient graph search algorithm. However, in doing so, we might have affected some properties of the algorithm. Assume you run MEMORY-EFFICIENT-GRAPH-SEARCH with the A* node expansion strategy and a consistent heuristic, select all statements that are true.
A、The EXPAND function can be called at most once for each state.
B、The algorithm is complete.
C、The algorithm will return an optimal solution.
D、(无)