From d6ce98e633b83cb4a4df4f84cd881c7c1b370573 Mon Sep 17 00:00:00 2001
From: Daniel Zhuang <danielzhuang11@hotmail.com>
Date: Sat, 4 Feb 2023 16:00:16 -0600
Subject: [PATCH] initial commit with tree depth limit in simulate simple

---
 verse/analysis/analysis_tree.py | 2 ++
 verse/analysis/simulator.py     | 9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/verse/analysis/analysis_tree.py b/verse/analysis/analysis_tree.py
index dd04efb9..c63ca5a1 100644
--- a/verse/analysis/analysis_tree.py
+++ b/verse/analysis/analysis_tree.py
@@ -18,6 +18,7 @@ class AnalysisTreeNode:
         static = {},
         uncertain_param = {},
         agent={},
+        height =0,
         assert_hits={},
         child=[],
         start_time = 0,
@@ -29,6 +30,7 @@ class AnalysisTreeNode:
         self.init: Dict[str, List[float]] = init
         self.mode: Dict[str, List[str]] = mode
         self.agent: Dict = agent
+        self.height: int = height
         self.child: List[AnalysisTreeNode] = child
         self.start_time: float = round(start_time, ndigits)
         self.assert_hits = assert_hits
diff --git a/verse/analysis/simulator.py b/verse/analysis/simulator.py
index 138a8daf..6824b1c8 100644
--- a/verse/analysis/simulator.py
+++ b/verse/analysis/simulator.py
@@ -15,7 +15,8 @@ pp = functools.partial(pprint.pprint, compact=True, width=130)
 from verse.analysis.analysis_tree import AnalysisTreeNode, AnalysisTree
 
 PathDiffs = List[Tuple[BaseAgent, ModePath]]
-
+#store in different file???
+MAX_DEPTH = 3
 def red(s):
     return "\x1b[31m" + s + "\x1b[0m" #]]
 
@@ -219,6 +220,7 @@ class Simulator:
             static={},
             uncertain_param={},
             agent={},
+            height =0,
             child=[],
             start_time=0,
         )
@@ -313,6 +315,10 @@ class Simulator:
                             next_node_init[agent_idx] = truncated_trace[agent_idx][0][1:]
 
                     all_transition_paths.append(transition_paths)
+                    if(node.height+1 > MAX_DEPTH ):
+                        print("max depth reached")
+                        continue
+
                     tmp = AnalysisTreeNode(
                         trace=next_node_trace,
                         init=next_node_init,
@@ -320,6 +326,7 @@ class Simulator:
                         static=next_node_static,
                         uncertain_param=next_node_uncertain_param,
                         agent=next_node_agent,
+                        height=node.height+1,
                         child=[],
                         start_time=next_node_start_time,
                         type='simtrace'
-- 
GitLab