class GraphSearchRunner: def __init__(self, graphFilePath, coordinationFilePath = None): self.graphListFactory = GraphListFactory(graphFilePath); self.coordinationList = generateCoordinationList(coordinationFilePath) def runGraphSearch(self, title, startPosition, finishPosition, args): graphList = self.graphListFactory.getGraphListWithCoordination(self.coordinationList) if len(args) == 2: args[FUNCTION.function](graphList, startPosition, finishPosition, args[FUNCTION.heuristic]) else: args[FUNCTION.function](graphList, startPosition, finishPosition) printPathAndCost(graphList[finishPosition], title)
from Node import Node from BFS import BFS from DFS import DFS from UCS import UCS from Greedy import Greedy from AStar import AStar from Heuristics import * from Path import printPathAndCost from GraphListFactory import GraphListFactory from CoordinationListFactory import generateCoordinationList graphListFactory = GraphListFactory("./resources/graph.txt"); matrix = graphListFactory.matrix coordinationList = generateCoordinationList("./resources/coordination.txt") startPosition = 0 finishPosition = len(matrix) -1 #BFSGraphList = graphListFactory.getGraphList() #BFS(BFSGraphList, startPosition, finishPosition) #printPathAndCost(matrix, BFSGraphList[finishPosition], "BFS") # #DFSGraphList = graphListFactory.getGraphList() #DFS(DFSGraphList, startPosition, finishPosition) #printPathAndCost(matrix, DFSGraphList[finishPosition], "DFS") # #UCSGraphList = graphListFactory.getGraphList() #UCS(UCSGraphList, startPosition, finishPosition)
def __init__(self, graphFilePath, coordinationFilePath = None): self.graphListFactory = GraphListFactory(graphFilePath); self.coordinationList = generateCoordinationList(coordinationFilePath)