我已经编码了这个低级别的人工智能,可以猜测用户输入的数字。我如何实现和改进它,使之成为高级人工智能?

2024-09-27 21:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的NEA项目,我尝试用python3编写AI,所以我尝试了一些基本的AI游戏。我该如何改进它,使之成为高级人工智能

基本的人工智能游戏,猜用户输入的数字。计算机有10次尝试

import random
userGuess = int(input("Enter a number between 0 and 100 for me to guess: "))
compGuess = 0
lorange = 0
hirange = 100
compAttempts = 0
while compAttempts < 10:
  compGuess = random.randint(lorange, hirange)
  if compGuess == userGuess:
    print(compGuess,"I win!")
    compAttempts = 10
  elif compGuess > userGuess:
    print(compGuess,"is too high ")
    hirange = compGuess
    compAttempts = compAttempts + 1
  elif compGuess < userGuess:
    print(compGuess,"is too low ")
    lorange = compGuess
    compAttempts = compAttempts + 1

这是可行的,我看不出有什么错误


Tags: 项目游戏israndom人工智能aitooprint
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:52

严格地说,你的代码不是人工智能。人工智能将是从它的过去学习的东西,然而你只是生成一个随机数,并检查它是否等于,小于或大于用户输入

您编写的代码是二进制搜索的一个变体。在最坏的情况下,您的代码将采取O(n)猜测,例如当用户的输入是100和随机返回0,1,2,3,4,5

您可以改进您的代码,使之成为真正的二进制搜索O(logn)性能(您可以很容易地在Google上找到这个)。基本上不是:

compGuess = random.randint(lorange, hirange)

执行:

compGuess = (lorange + hirange)/2

这不是人工智能,但即使在最坏的情况下,它只需要最大7次尝试猜测你的数字

我不确定AI或ML在这种特殊情况下会有什么帮助。如果是像猜测序列中的下一个数字之类的东西,你肯定可以用ML

此外,这是您希望在代码复查堆栈交换中发布的内容

相关问题 更多 >

    热门问题