{'teams': {0: {'team_name': 'search', 'agent': 'search.py', 'url': 'https://github.com/COMP90054-2025-Semester1/assignment-1-search-zdoudou81.git', 'commit_id': '3c8464975930ef1da5efa05cd54234e3bcf0a0f5', 'git_status': True, 'comments': 'N/A', 'submitted_time': '23/03/2025 16:14:21', 'copy_files': True}}}
before grades
Starting on 3-23 at 5:20:04
after grades

Question part1
==============
*** Search time: 0:00:01.211320
*** PASS: marking/part1/food_heuristic_grade_tricky.test
*** 	expanded nodes: 4137
*** 	thresholds: [15000, 12500, 10000, 4200]
*** Search time: 0:00:01.904669
*** FAIL: marking/part1/hidden_heuristic_grade.test
*** 	expanded nodes: 6726
*** 	thresholds: [18000, 17000, 7500, 6500]

### Question part1: 1.80/2 ###


Question part2
==============
*** PASS: marking/part2/graph_manypaths.test
*** 	solution:		['1:A->C', '0:C->D', '1:D->F', '0:F->G']
*** 	expanded_states:	['A', 'B1', 'C', 'D', 'E1', 'F', 'A', 'B2', 'C', 'D', 'E2', 'F', 'A', 'B1', 'C', 'D', 'E1', 'F', 'A', 'B2', 'C', 'D', 'F', 'A', 'B1', 'C', 'D', 'F', 'A', 'B2', 'C', 'D', 'F', 'A', 'B1', 'C', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'D', 'F']
*** PASS: marking/part2/lrta_0.test
*** 	solution:		['Right', 'Down', 'Down']
*** 	expanded_states:	['A', 'B', 'D', 'G', 'D', 'A', 'B', 'C', 'B', 'D', 'A', 'B', 'D', 'A', 'B', 'D']
*** PASS: marking/part2/lrta_1_good_heuristic.test
*** 	solution:		['1:A->B', '0:B->C', '0:C->G']
*** 	expanded_states:	['A', 'B', 'C', 'A', 'B', 'C', 'A', 'D', 'E', 'D', 'E', 'A', 'B', 'C', 'A', 'B', 'C']
*** FAIL: marking/part2/lrta_2_bad_heuristic.test
*** 	graph:
*** 	        3      3      3
*** 	    *A ---- B ---- C ---- [G]
*** 	     |                     ^
*** 	     |  1       1     10   |
*** 	     \----- D ---- E -----/
*** 	    
*** 	    A is the start state, G is the goal.  Arrows mark possible state 
*** 	    transitions.  The number next to the arrow is the cost of that transition.
*** 	    
*** 	    If you fail this test case, you may be incorrectly testing if a node is a goal 
*** 	    before adding it into the queue, instead of testing when you remove the node 
*** 	    from the queue.  See the algorithm pseudocode in lecture.
*** 	student solution:		['0:A->D', '0:D->E', '0:E->D', '0:D->E', '0:E->D', '0:D->E', '0:E->D', '0:D->E', '0:E->D', '1:D->A', '1:A->B', '0:B->C', '0:C->G']
*** 	student expanded_states:	['A', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'A', 'B', 'C', 'A', 'B', 'C']
*** 
*** 	correct solution:		['1:A->B', '0:B->C', '0:C->G']
*** 	correct expanded_states:	['A', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'A', 'B', 'C', 'A', 'B', 'C']
*** 	correct rev_solution:		['1:A->B', '0:B->C', '0:C->G']
*** 	correct rev_expanded_states:	['A', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'E', 'D', 'A', 'B', 'C', 'A', 'B', 'C']
*** PASS: marking/part2/lrta_3_hidden.test
*** 	solution:		['0', '0', '2']
*** 	expanded_states:	['S', 'A', 'C', 'S', 'D', 'C', 'S', 'A', 'C', 'S', 'A', 'C', 'S', 'A', 'C']
*** PASS: marking/part2/lrta_4_hidden.test
*** 	solution:		['1:A->B', '0:B->C', '0:C->G']
*** 	expanded_states:	['A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C']

### Question part2: 2.50/3 ###


Question part3
==============
*** FAIL: Terminated with a string exception.

### Question part3: 0.00/2 ###


Finished at 5:20:08

Provisional grades
==================
Question part1: 1.80/2
Question part2: 2.50/3
Question part3: 0.00/2
------------------
Total passed test cases: 4.30/7