Tic-Tac-Toe Game in Python - Unbeatable Minimax AI

Поділитися
Вставка
  • Опубліковано 31 тра 2024
  • Today we learn about Python wheel files, which are the packaging format for Python applications and modules.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine.com/books/
    💻 The Algorithm Bible Book: www.neuralnine.com/books/
    👕 Programming Merch: www.neuralnine.com/shop
    💼 Services 💼
    💻 Freelancing & Tutoring: www.neuralnine.com/services
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine.com/
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/NeuralNine
    🎙 Discord: / discord
    Timestamps:
    (0:00) Intro
    (0:18) Preview Results
    (1:26) Game Development
    (18:50) Minimax AI Algorithm
    (32:20) Game Main Loop
    (42:03) Outro
  • Наука та технологія

КОМЕНТАРІ • 15

  • @deepbrar1
    @deepbrar1 Місяць тому +6

    DuuuDE, I have been working on the same project i.e.(creating a AI using minimax algorithm for tic tac toe in python). It's been a few days since i started working on it and still haven't finished it.
    Of course i won't watch this video right now because I wanna implement it myself but I surely will compare mine with yours after I am done building it :)

  • @tithos
    @tithos Місяць тому +4

    Please make the in-depth minimax episode

  • @casualchou
    @casualchou Місяць тому +1

    Interesting one. Didn't knew we can use any algorithm to solve such problem instead of a ml model

  • @John-xi2im
    @John-xi2im Місяць тому

    Awesome tutorial, learnt a lot from this video, especially how easy it was to make AI from unbeatable to defeatable (by switching the min and max methods in the minimax function. Thanks so much for this brilliant tutorial @neuralnine 😀

  • @shaurryabaheti
    @shaurryabaheti Місяць тому +1

    I guess a good feature update to this would be a depth choice from the player, to make difficulty level a choice.

  • @robinpipslayertekprofitsfa2644
    @robinpipslayertekprofitsfa2644 Місяць тому

    Man You are always dropping Gems!! 😵🤓 Glad I #Subscribe

  • @ThomasRStevenson
    @ThomasRStevenson Місяць тому

    Great example of using a minimax function. Could you replace the minimax function with a unsupervised pytorch NN algorithm that learns over time?

  • @thomasgoodwin2648
    @thomasgoodwin2648 Місяць тому +1

    Gray should be (128, 128,128).
    (180,180,180) is LIGHT_GRAY!
    (Sorry, only thing I found I could pick on😉)
    🖖🤓👍

  • @uttamvaghasia2961
    @uttamvaghasia2961 28 днів тому

    i followed you along but when i runned the game, it does not let me make my moves in certain squares and does in some case i am unable to make moves in any of the squares. Can anyone give me a better approach on how should I debug the problem?

  • @Pyth_onist
    @Pyth_onist Місяць тому

    I got one too 😅
    Time to get to work

  • @zenkaikalashnikov4753
    @zenkaikalashnikov4753 28 днів тому

    i get
    ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
    error on
    def check_win(player, check_board = board):
    for col in range(BOARD_COLS):
    if check_board[0][col] == player and check_board[1][col] == player and check_board[2][col] == player:
    return True

    for row in range(BOARD_ROWS):
    if check_board[row][0] == player and check_board[row][1] == player and check_board[row][2] == player:
    return True

    if check_board[0][0] == player and check_board[1][1] == player and check_board[2][2] == player:
    return True

    if check_board[0][0] == player and check_board[1][1] == player and check_board[2][2] == player:
    return True

    return False
    what did i do wrong

    • @Vincent2103
      @Vincent2103 21 день тому

      if check_board[0][2] == player and check_board[1][1] == player and check_board[2][0] == player:
      return True
      replace the last one
      +------+-----+------+
      | 0,0 | 0,1 | 0,2 |
      +------+-----+------+
      | 1,0 | 1,1 | 1,2 |
      +------+-----+------+
      | 2,0 | 2,1 | 2,2 |
      +------+-----+------+
      not sure is this solved it cause im still new to this my bad