Case Study1 Intro To AI
Case Study1 Intro To AI
CODE:
import math
# Initialize board
board = [[" " for _ in range(3)] for _ in range(3)]
return None
if is_maximizing:
best_score = -math.inf
for i in range(3):
for j in range(3):
if board[i][j] == " ":
board[i][j] = "O"
score = minimax(board, depth + 1, False, alpha,
beta)
board[i][j] = " "
best_score = max(best_score, score)
alpha = max(alpha, best_score)
if beta <= alpha:
break # Alpha-Beta pruning
return best_score
else:
best_score = math.inf
for i in range(3):
for j in range(3):
if board[i][j] == " ":
board[i][j] = "X"
score = minimax(board, depth + 1, True, alpha,
beta)
board[i][j] = " "
best_score = min(best_score, score)
beta = min(beta, best_score)
if beta <= alpha:
break # Alpha-Beta pruning
return best_score
# Game loop
def play_game():
print("Welcome to Noughts and Crosses!")
print_board(board)
while True:
# Player Move
row, col = map(int, input("Enter row and column (0-2)
separated by space: ").split())
if board[row][col] != " ":
print("Invalid move! Try again.")
continue
board[row][col] = "X"
print_board(board)
if check_winner(board):
print("You win!")
break
if is_full(board):
print("It's a draw!")
break
# AI Move
ai_row, ai_col = best_move(board)
board[ai_row][ai_col] = "O"
print("\nAI's move:")
print_board(board)
if check_winner(board):
print("AI wins!")
break
if is_full(board):
print("It's a draw!")
break