コード例 #1
0
ファイル: puzzle_tests.py プロジェクト: rrsmith/sliderpuzzle
    def test_a_star_search(self):
        ss = SliderSearch(3)
        res = ss.search_a_star()
        exp = [[0,1,2,3,4,5,6,7,8]]
        assert res == exp

        ss = SliderSearch(3, [1,0,2,3,4,5,6,7,8])
        res = ss.search_a_star()
        exp = [[1,0,2,3,4,5,6,7,8],[0,1,2,3,4,5,6,7,8]]
コード例 #2
0
def main():
    
    hard = [4, 1, 2, 3, 0, 5, 6, 7, 8]
    wat = [4, 1, 2, 0, 3, 5, 6, 7, 8]
    wat2 = [0, 1, 2, 4, 3, 5, 6, 8, 7]
    moder = [0, 1, 2, 5, 4, 3, 6, 8, 7]
    hmm = [4, 8, 5, 7, 6, 1, 0, 2, 3]
    #ss = SliderSearch(3, moder)
    ss = SliderSearch(3, wat2)

    path = ss.search_a_star()
    print_path(path)
コード例 #3
0
ファイル: puzzle_tests.py プロジェクト: rrsmith/sliderpuzzle
    def test_heuristics(self):
        ss = SliderSearch(3)
        assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 0
        assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 0
        
        ss = SliderSearch(3, [3, 1, 2, 0, 4, 5, 6, 7, 8])
        assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 2
        assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 2

        ss = SliderSearch(3, [8, 1, 2, 3, 4, 5, 6, 7, 0])
        assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 2
        assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 8
       
        ss = SliderSearch(3, [4, 8, 5, 7, 6, 1, 0, 2, 3])
        assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 9
        assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 20
コード例 #4
0
ファイル: puzzle_tests.py プロジェクト: rrsmith/sliderpuzzle
 def test_goal_state(self):
     ss = SliderSearch(4)
     expected_goal_state = [x for x in xrange(16)]
     assert ss.goal_state() == expected_goal_state