Exemplo n.º 1
0
    def __init__(self, path):
        start = time.time()
        print('Setting up graph')
        g = Graph(path)
        print('Graph set up in %s seconds' % (time.time() - start))

        algo_list = ['[1]DFS']
        algo_keys = [1]
        #print(g)
        #input_var = input("Which algorithm would you like to test? The available ones are: " + str(algo_list))

        #if int(input_var) not in algo_keys:
        #    print('Wrong input, try again!')
        #elif int(input_var) is 1:
        #    print('DFS!')
        start = time.time()
        print('beginning DFS...')
        solved = dfs(g)
        print('DFS finished in %s seconds' % (time.time() - start))

        if solved:
            pass
            #g.maze.paint_solved_path(solved)
            #g.maze.save_solved(path)
        else:
            print('No solution found!')
            g.maze.save_solved(path)
Exemplo n.º 2
0
    def get_set(self, index):
        fuzzy_matrix = self.get_fuzzy_matrix(index)
        # print "fuzzy_matrix %d " % index
        # print fuzzy_matrix
        assert fuzzy_matrix.shape[0] == fuzzy_matrix.shape[1]
        r = fuzzy_matrix.shape[0]
        sets = []  # 分类集合
        set_matrix = np.ndarray(shape=fuzzy_matrix.shape, dtype=int)

        for i in range(r):
            for j in range(r):
                if i == j:
                    set_matrix[i][j] = 1
                elif fuzzy_matrix[i][j] < self.threshold[index]:
                    set_matrix[i][j] = 0
                else:
                    set_matrix[i][j] = 1

        # set_matrix中,值为1说明属于一个集合,否则属于不同集合
        # print "set matrix = ",set_matrix
        # 把set_matrix看成一个邻接矩阵,DFS就可以得到的联通分量的个数,也就是集合的个数
        # 以上得到两两的集合,下面合并集合
        # set_num 集合的个数
        # sets 聚类后的集合
        file_object = open('fuzzy_matrix.txt', 'w')
        # print "set matrix = "
        #print set_matrix
        file_object.write(str(fuzzy_matrix.tolist()))
        #print "set matrix shape = ",set_matrix.shape
        sets = dfs(set_matrix)
        return sets
from time import time
from DFS import dfs
from puzzle import Puzzle

initial_state = [2, 8, 3, 1, 6, 4, 7, 0, 5]

Puzzle.num_of_instances = 0
t0 = time()
solution = dfs(initial_state)
t1 = time() - t0
print('Solution:', solution)
print('space:', Puzzle.num_of_instances)
print('time:', t1, "seconds")
print()
Exemplo n.º 4
0
from Node import Node
from DFS import dfs

node1 = Node("A")
node2 = Node("B")
node3 = Node("C")
node4 = Node("D")
node5 = Node("E")
node6 = Node("F")

node1.neighbourList.append(node2)
node1.neighbourList.append(node3)
node2.neighbourList.append(node4)
node2.neighbourList.append(node5)
node3.neighbourList.append(node6)

dfs(node1)