Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我已经编写了这个低级人工智能,可以猜测用户输入的数字。我如何实现和改进它,使之成为高级人工智能?_Python_Python 3.x - Fatal编程技术网

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

Python 我已经编写了这个低级人工智能,可以猜测用户输入的数字。我如何实现和改进它,使之成为高级人工智能?,python,python-3.x,Python,Python 3.x,对于我的NEA项目,我正在尝试用Python 3编写AI,所以我尝试了一些基本的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 com

对于我的NEA项目,我正在尝试用Python 3编写AI,所以我尝试了一些基本的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
随机导入
userGuess=int(输入(“输入一个介于0和100之间的数字,让我猜:”)
compGuess=0
洛兰奇=0
hirange=100
compattens=0
当温度<10时:
compGuess=random.randint(洛兰奇、海兰奇)
如果compGuess==userGuess:
打印(猜“我赢了!”)
相容性=10
elif compGuess>userGuess:
打印(compGuess,“太高”)
hirange=compGuess
compattens=compattens+1
elif compGuess

这是可行的,我看不出有任何错误。

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

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

您可以改进代码,使其成为真正的二进制搜索,以获得O(logn)性能(您可以在Google上轻松查找)。基本上不是:

compGuess=random.randint(洛兰奇、海兰奇)
做:

compGuess=(洛兰奇+海兰奇)/2
这不是人工智能,但即使在最坏的情况下,也只需要最多7次尝试就能猜出你的数字

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


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

如果它没有损坏,为什么要修复它?好的,谢谢。对不起,我对这方面还是新手。