对于我的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
这是可行的,我看不出有什么错误
严格地说,你的代码不是人工智能。人工智能将是从它的过去学习的东西,然而你只是生成一个随机数,并检查它是否等于,小于或大于用户输入
您编写的代码是二进制搜索的一个变体。在最坏的情况下,您的代码将采取O(n)猜测,例如当用户的输入是100和随机返回0,1,2,3,4,5
您可以改进您的代码,使之成为真正的二进制搜索O(logn)性能(您可以很容易地在Google上找到这个)。基本上不是:
执行:
这不是人工智能,但即使在最坏的情况下,它只需要最大7次尝试猜测你的数字
我不确定AI或ML在这种特殊情况下会有什么帮助。如果是像猜测序列中的下一个数字之类的东西,你肯定可以用ML
此外,这是您希望在代码复查堆栈交换中发布的内容
相关问题 更多 >
编程相关推荐