Professional Documents
Culture Documents
AI Lab8
AI Lab8
Q1: Implement the color mapping of the following map using CSP.
Flow-Chart:
Code:
class CSP():
def __init__(self, variables, domains,constraints):
self.variables = variables # variables to be constrained
self.domains = domains # domain of each variable
self.constraints = constraints
if result != None:
return result
class MapColoringConstraint():
def __init__(self, place1, place2):
self.variables = [place1, place2]
def __repr__(self):
return repr(self.variables)
constraints={}
for v in variables:
constraints[v] = []
csp = CSP(variables,domains,constraints)
c1 = MapColoringConstraint("sindh", "balochistan")
csp.add_constraint(c1)
csp.add_constraint(MapColoringConstraint("sindh", "punjab"))
csp.add_constraint(MapColoringConstraint("balochistan", "punjab"))
csp.add_constraint(MapColoringConstraint("balochistan", "north west"))
csp.add_constraint(MapColoringConstraint("punjab", "north west"))
csp.add_constraint(MapColoringConstraint("punjab", "northern areas"))
csp.add_constraint(MapColoringConstraint("north west", "northern areas"))
assignment= {}
solution = csp.backtracking_search(assignment)
if solution != None:
print("\nYour solution is:")
print(solution)
else: print ("No solution found")
for i in range(8):
for j in range(i + 1, 8):
self.constraints.append((i, j))
if self.consistent(local_assignment):
result = self.backtracking_search(local_assignment)
return None
Result:
Discussion:
By running our algorithm, we get this solution ‘15863724’ which is correct as no constraint is
violated.