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

Поделиться
HTML-код
  • Опубликовано: 8 июн 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

  • @tithos
    @tithos Месяц назад +4

    Please make the in-depth minimax episode

  • @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 :)

  • @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.

  • @casualchou
    @casualchou Месяц назад +1

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

  • @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?

  • @Pyth_onist
    @Pyth_onist Месяц назад

    I got one too 😅
    Time to get to work

  • @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 Месяц назад

    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?

  • @zenkaikalashnikov4753
    @zenkaikalashnikov4753 Месяц назад

    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 28 дней назад

      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