OSDN Git Service

Update idastar.md
author雷蒻 <34390285+hsfzLZH1@users.noreply.github.com>
Sat, 27 Jul 2019 10:08:19 +0000 (18:08 +0800)
committerGitHub <noreply@github.com>
Sat, 27 Jul 2019 10:08:19 +0000 (18:08 +0800)
docs/search/idastar.md

index 0eb95fb..eb280cb 100644 (file)
@@ -12,21 +12,21 @@ IDA\*,即采用迭代加深的 A\*算法。相对于 A\*算法,由于 IDA\*
 ```text
 Procedure IDA_STAR(StartState)
 Begin
-    PathLimit := H(StartState) - 1;
-    Succes := False;
+  PathLimit := H(StartState) - 1;
+  Succes := False;
+  Repeat
+    inc(PathLimit);
+    StartState.g = 0;
+    Push(OpenStack, StartState);
     Repeat
-        inc(PathLimit);
-        StartState.g = 0;
-        Push(OpenStack , StartState);
-        Repeat
-            CurrentState := Pop(OpenStack);
-            If Solution(CurrentState) then
-                Success = True
-            Elseif PathLimit >= CurrentState.g + H(CurrentState) then
-                For each Child(CurrentState) do
-                    Push(OpenStack , Child(CurrentState));
-        until Successor empty(OpenStack);
-    until Success or ResourceLimtsReached;
+      CurrentState := Pop(OpenStack);
+      If Solution(CurrentState) then
+        Success = True
+      Elseif PathLimit >= CurrentState.g + H(CurrentState) then
+        For each Child(CurrentState) do
+          Push(OpenStack, Child(CurrentState));
+    until Successor empty(OpenStack);
+  until Success or ResourceLimtsReached;
 end;
 ```