Ai Program
Ai Program
import heapq
closed_list = set()
while open_list:
if current in closed_list:
continue
if current == goal:
closed_list.add(current)
graph = {}
print("Enter the adjacency list (format: node neighbor cost, type 'done' to
finish):")
for _ in range(n):
while True:
entry = input(f"Enter neighbor and cost for {node} (or 'done'): ")
if entry.lower() == 'done':
break
graph[node][neighbor] = int(cost)
heuristic = {}
if path:
else:
Output :
Program
def print_board(board):
for row in board:
print(" | ".join(row))
print("-" * 5)
def check_winner(board):
return row[0]
return board[0][col]
return board[0][0]
return board[0][2]
return None
def is_moves_left(board):
def tic_tac_toe():
print("Welcome to Tic-Tac-Toe!")
print_board(board)
player = "X"
for _ in range(9):
row, col = map(int, input(f"Player {player}, enter row and column (0-
2): ").split())
if board[row][col] != " ":
continue
board[row][col] = player
print_board(board)
if check_winner(board):
return
print("It's a draw!")
tic_tac_toe()
Output
Program
def print_state(state):
print(stack)
print("---")
block = state[from_stack].pop()
state[to_stack].append(block)
return True
return False
"""
"""
for i in range(len(state)):
# Find the correct stack for this block in the goal state
for j in range(len(state)):
if block in goal[j]: # If the block belongs to stack j in goal
correct_position = goal[j].index(block)
"""
"""
print("Initial State:")
print_state(state)
break
move_count += 1
print(f"Step {move_count}: Moved block from Stack {from_stack} to
Stack {to_stack}")
print_state(state)
if is_goal_reached(state, goal):
print_state(state)
initial = []
goal = []
for _ in range(num_stacks):
stack = input().split()
for _ in range(num_stacks):
stack = input().split()
block_world_planner(initial, goal)
Output
Program :
class KnowledgeBase:
def __init__(self):
self.facts.add(fact)
self.rules.append((set(conditions), conclusion))
inferred = True
while inferred:
inferred = False
self.facts.add(conclusion)
print(f"Inferred: {conclusion}")
inferred = True
if conclusion == goal:
return True
if visited is None:
visited = set()
if goal in visited:
visited.add(goal)
if goal in self.facts:
return True
if conclusion == goal:
return True
else:
return False
# User input
kb = KnowledgeBase()
kb.add_fact(input().strip())
for _ in range(num_rules):
rule_input = input().strip().split("->")
conditions = rule_input[0].strip().split()
conclusion = rule_input[1].strip()
kb.add_rule(conditions, conclusion)
if kb.forward_chaining(goal):
else:
kb_backward = KnowledgeBase()
kb_backward.add_fact(fact)
kb_backward.add_rule(conditions, conclusion)
# Applying Backward Chaining
if kb_backward.backward_chaining(goal):
else:
Output :