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猜测一个数字时,它会根据这个数字的大小相应地调整概率分布,降低不太可能的数字的概率,并重新标准化这个分布。

相关文章
|
14天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
2月前
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
276 101
|
6月前
|
传感器 人工智能 自然语言处理
火热邀测!DataWorks数据集成支持大模型AI处理
阿里云DataWorks数据集成新增大模型AI处理功能,支持在数据同步中无缝调用通义千问等AI模型,实现文本翻译、情感分析、摘要生成等功能。适用于电商客服、智能汽车、供应链、医疗、金融、法律及教育等多个场景,大幅提升数据处理效率与洞察深度。用户可通过自然语言配置,快速完成高级数据分析与处理,无需额外部署调试。立即申请测试资格,体验智能化数据处理!
1208 4
火热邀测!DataWorks数据集成支持大模型AI处理
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
297 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
6月前
|
人工智能 自然语言处理 数据可视化
中国版“Manus”开源?AiPy:用Python重构AI生产力的通用智能体
AiPy是LLM大模型+Python程序编写+Python程序运行+程序可以控制的一切。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
python编写AI生常用匡架及使用指令集
本文介绍Python中常用AI框架,包括TensorFlow、PyTorch、Scikit-learn、Hugging Face、spaCy、OpenCV及XGBoost等,涵盖安装指令与基础代码示例,适用于机器学习、深度学习、自然语言处理与计算机视觉等领域,助力快速入门与应用开发。(238字)
246 7
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
621 1
|
4月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
712 4
推荐一款Python开源的AI自动化工具:Browser Use
|
4月前
|
人工智能 测试技术 编译器
从 Python 演进探寻 AI 与云对编程语言的推动
Python 自 2008 年发布 3.0 版本以来,经历了持续演进与革新。十六年间,从 Python 3.0 到即将发布的 3.14,语言设计、性能优化、类库生态及虚拟机技术等方面均有显著提升。字符串处理、异步编程、类型系统等核心功能不断现代化,Faster CPython 和 JIT 编译技术推动运行效率飞跃。同时,AI、云计算等新兴技术成为其发展的重要驱动力。本文全面回顾了 Python 的演进历程,并展望未来发展方向。
144 2

热门文章

最新文章

推荐镜像

更多