Пример #1
0
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)
Пример #2
0
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)
#printPathAndCost(matrix, UCSGraphList[finishPosition], "UCS")
#
GreedyGraphList = graphListFactory.getGraphListWithCoordination(coordinationList)
Greedy(GreedyGraphList, startPosition, finishPosition, manhattanHeuristic)
printPathAndCost(matrix, GreedyGraphList[finishPosition], "Greedy manhattan")

GreedyGraphList = graphListFactory.getGraphListWithCoordination(coordinationList)
Greedy(GreedyGraphList, startPosition, finishPosition, bioLabHeuristic)
printPathAndCost(matrix, GreedyGraphList[finishPosition], "Greedy BioLab")

AStarGraphList = graphListFactory.getGraphListWithCoordination(coordinationList)
AStar(AStarGraphList, startPosition, finishPosition, manhattanHeuristic)
printPathAndCost(matrix, AStarGraphList[finishPosition], "AStar manhattan")

AStarGraphList = graphListFactory.getGraphListWithCoordination(coordinationList)
AStar(AStarGraphList, startPosition, finishPosition, bioLabHeuristic)
printPathAndCost(matrix, AStarGraphList[finishPosition], "AStar BioLab")