示例#1
0
def runDFS():
    initial_state = Problem.CREATE_INITIAL_STATE()
    print("Initial State:")
    print(Problem.DESCRIBE_STATE(initial_state))
    global COUNT, BACKLINKS
    COUNT = 0
    BACKLINKS = {}
    IterativeDFS(initial_state)
    print(str(COUNT) + " states examined.")
示例#2
0
def runBFS():
    initial_state = Problem.CREATE_INITIAL_STATE()
    print("Initial State:")
    print(initial_state)
    global COUNT, BACKLINKS
    COUNT = 0
    BACKLINKS = {}
    path, name = IterativeBFS(initial_state)
    print(str(COUNT) + " states examined.")
    return path, name
示例#3
0
def runBFS():
    initial_state = Problem.CREATE_INITIAL_STATE()
    print("Initial State:")
    print(initial_state)
    global COUNT, BACKLINKS, MAX_OPEN_LENGTH
    COUNT = 0
    BACKLINKS = {}
    MAX_OPEN_LENGTH = 0
    BFS(initial_state)
    print(str(COUNT) + " states expanded.")
    print('MAX_OPEN_LENGTH = ' + str(MAX_OPEN_LENGTH))
示例#4
0
def runUCS():
  '''This is an encapsulation of some setup before running
  UCS, plus running it and then printing some stats.'''
  initial_state = Problem.CREATE_INITIAL_STATE()
  print("Initial State:")
  print(initial_state)
  global COUNT, BACKLINKS, MAX_OPEN_LENGTH, SOLUTION_PATH
  COUNT = 0
  BACKLINKS = {}
  MAX_OPEN_LENGTH = 0
  SOLUTION_PATH = UCS(initial_state)
  print(str(COUNT)+" states expanded.")
  print('MAX_OPEN_LENGTH = '+str(MAX_OPEN_LENGTH))
示例#5
0
def runAStar():
  '''This is an encapsulation of some setup before running
  AStar, plus running it and then printing some stats.'''
  initial_state = Problem.CREATE_INITIAL_STATE()
  print("Initial State:")
  print(initial_state)
  global COUNT, BACKLINKS, MAX_OPEN_LENGTH, SOLUTION_PATH
  COUNT = 0
  BACKLINKS = {}
  MAX_OPEN_LENGTH = 0
  SOLUTION_PATH = AStar(initial_state)
  print(str(COUNT)+" states expanded.")
  print('MAX_OPEN_LENGTH = '+str(MAX_OPEN_LENGTH))
  #print("The CLOSED list is: ", ''.join([str(s)+' ' for s in CLOSED]))
  return SOLUTION_PATH, COUNT, MAX_OPEN_LENGTH
示例#6
0
def IDDFS():
    print('Initial State:')
    initial_state = Problem.CREATE_INITIAL_STATE()
    print(initial_state)
    global COUNT, BACKLINKS, MAX_OPEN_LENGTH, OPEN
    BACKLINKS = {}
    MAX_OPEN_LENGTH = 0
    for depth in range(1, sys.maxsize):
        COUNT = 0
        OPEN = [initial_state]
        BACKLINKS[initial_state] = None
        print('---------------------------' + str(depth))
        if IterativeDFS(OPEN, depth) == True:
            print(str(COUNT) + " states expaneded.")
            print('MAX_OPEN_LENGTH = ' + str(MAX_OPEN_LENGTH))
            return