Python猜数字游戏:集成高级AI对手

简介: Python猜数字游戏:集成高级AI对手

Python猜数字游戏:集成高级AI对手

游戏设计与AI算法

基本规则

游戏的基本规则保持不变:系统生成一个1到100之间的随机数,玩家和AI轮流尝试猜测这个数字,系统根据每次猜测提供反馈。

高级AI算法

这个高级AI它维护一个概率分布,并根据每次猜测的反馈来调整这个分布。这种方法允许AI更智能地猜测,更接近人类的猜测方式。

代码实现与解析

让我们详细查看下面的代码实现,以及每部分代码的功能:

import random
import numpy as np  # 导入NumPy库
class AdvancedAI:
    def __init__(self, lower_bound, upper_bound):
        # 初始化AI的猜测范围和概率分布
        self.lower_bound = lower_bound
        self.upper_bound = upper_bound
        self.prob_distribution = np.ones((upper_bound - lower_bound + 1,)) / (upper_bound - lower_bound + 1)
        self.guess_range = list(range(lower_bound, upper_bound + 1))
    def update_distribution(self, guess, feedback):
        # 根据反馈更新概率分布
        if feedback == "太大了":
            self.prob_distribution[self.guess_range.index(guess):] *= 0.5
        elif feedback == "太小了":
            self.prob_distribution[:self.guess_range.index(guess) + 1] *= 0.5
        self.prob_distribution /= np.sum(self.prob_distribution)
    def make_guess(self):
        # 基于当前概率分布进行猜测
        return np.random.choice(self.guess_range, p=self.prob_distribution)
def feedback_for_guess(guess, target):
    # 提供猜测的反馈
    if guess < target:
        return "太小了"
    elif guess > target:
        return "太大了"
    else:
        return "正确"
def guess_number_game_with_advanced_ai():
    number_to_guess = random.randint(1, 100)
    attempts = 0
    ai = AdvancedAI(1, 100)
    print("欢迎来到猜数字游戏!")
    print("我已经想好了一个1到100之间的数字。")
    while True:
        # 玩家猜测
        try:
            guess = int(input("请输入你的猜测: "))
        except ValueError:
            print("请输入一个有效的数字。")
            continue
        attempts += 1
        player_feedback = feedback_for_guess(guess, number_to_guess)
        if player_feedback == "正确":
            print(f"恭喜你!正确答案就是{number_to_guess}。")
            print(f"你共尝试了{attempts}次。")
            break
        else:
            print(player_feedback)
        # AI猜测
        ai_guess = ai.make_guess()
        print(f"AI猜测的数字是:{ai_guess}")
        ai_feedback = feedback_for_guess(ai_guess, number_to_guess)
        ai.update_distribution(ai_guess, ai_feedback)
        if ai_feedback == "正确":
            print("AI猜对了!")
            break
        attempts += 1
if __name__ == "__main__":
    guess_number_game_with_advanced_ai()

代码注释

  • AdvancedAI 类:定义了AI的行为。它使用概率分布来决定每次的猜测。
  • update_distribution 方法:根据每次猜测的反馈更新概率分布。
  • make_guess 方法:基于当前的

概率分布进行猜测。

  • feedback_for_guess 函数:根据猜测和目标数字提供反馈。
  • guess_number_game_with_advanced_ai 函数:游戏的主要逻辑,包括玩家的输入和AI的猜测。

让我们模拟一次运行上述高级AI猜数字游戏的情景。在这个示例中,我们假设游戏生成的目标数字是42。以下是可能的一次游戏运行结果:

欢迎来到猜数字游戏!
我已经想好了一个1到100之间的数字。
请输入你的猜测: 60
太大了,再试试看!
AI猜测的数字是:55
太大了,再试试看!
请输入你的猜测: 30
太小了,再试试看!
AI猜测的数字是:40
太小了,再试试看!
请输入你的猜测: 45
太大了,再试试看!
AI猜测的数字是:43
太大了,再试试看!
请输入你的猜测: 42
恭喜你!正确答案就是42。
你共尝试了5次。

在这个运行示例中,玩家和AI轮流猜测数字。每次猜测后,游戏都会提供反馈,指示数字是太大、太小还是正确。AI的猜测基于其维护的概率分布进行,而玩家则根据自己的直觉或策略猜测。最终,玩家在第五次尝试中猜中了数字。

AI算法原理

AI通过维护一个概率分布来决定其猜测。这个分布根据之前的猜测不断更新,从而让AI可以根据已有的信息做出更加合理的猜测。当AI猜测一个数字时,它会根据这个数字的大小相应地调整概率分布,降低不太可能的数字的概率,并重新标准化这个分布。

相关文章
|
29天前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
49 3
|
2月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1454 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
2月前
|
前端开发 JavaScript UED
探索Python Django中的WebSocket集成:为前后端分离应用添加实时通信功能
通过在Django项目中集成Channels和WebSocket,我们能够为前后端分离的应用添加实时通信功能,实现诸如在线聊天、实时数据更新等交互式场景。这不仅增强了应用的功能性,也提升了用户体验。随着实时Web应用的日益普及,掌握Django Channels和WebSocket的集成将为开发者开启新的可能性,推动Web应用的发展迈向更高层次的实时性和交互性。
101 1
|
1月前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
95 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
21天前
|
机器学习/深度学习 人工智能 数据挖掘
AI精通Python365天第1课,揭秘难易度
学习Python能显著提升就业竞争力,实现工作自动化,增强数据分析、机器学习、Web开发等技能,促进跨领域应用和个人成长。无论是职场新人还是资深人士,掌握Python都能带来正向的职业发展和收入增长,同时回馈社会。通过AI辅助学习Python,从基础代码开始实践,逐步提升编程能力,让技术成为个人发展的强大助力。
25 1
|
1月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
93 4
|
1月前
|
人工智能 C语言 Python
AI师傅+通义灵码=零基础小白上手python真·不是梦
作为一名不懂编程的设计师,我一直渴望掌握AI辅助设计。在快刀青衣的推荐下,我尝试了AI师傅和通义灵码,成功写出了第一个Python程序,并理解了编程的基本概念。通过AI师傅的引导和通义灵码的帮助,我顺利完成了Coursera上的Python课程,获得了两张证书。这种学习方式让编程变得不再遥不可及,为我的未来学习打开了新大门。
|
2月前
|
数据采集 人工智能 自然语言处理
AI Agent 金融助理0-1 Tutorial 利用Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股) AI Finance Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent
|
2月前
|
SQL 机器学习/深度学习 数据库
SQL与Python集成:数据库操作无缝衔接
在开始之前,确保你已经安装了必要的Python库,如`sqlite3`(用于SQLite数据库)或`psycopg2`(用于PostgreSQL数据库)。这些库提供了Python与SQL数据库之间的接口。
|
2月前
|
SQL 机器学习/深度学习 数据采集
SQL与Python集成:数据库操作无缝衔接2a.bijius.com
Python与SQL的集成是现代数据科学和工程实践的核心。通过有效的数据查询、管理与自动化,可以显著提升数据分析和决策过程的效率与准确性。随着技术的不断发展,这种集成的应用场景将更加广泛,为数据驱动的创新提供更强大的支持。

热门文章

最新文章