旅游特种兵迪士尼大作战:DeepSeek高精准路径优化

news2025/5/12 19:20:57

DeepSeek大模型高性能核心技术与多模态融合开发 - 商品搜索 - 京东

随着假期的脚步日渐临近,环球影城等备受瞩目的主题游乐场,已然成为大人与孩子们心中不可或缺的节日狂欢圣地。然而,随之而来的庞大客流,却总让无数游客在欢乐的门槛前止步,那长长的排队队伍,无疑成为了他们畅享假日时光的最大阻碍。

游乐场内项目琳琅满目,每一个都散发着诱人的魅力,但时间却似乎总是不够用。如何在这人潮汹涌、时间紧迫的环境下,巧妙规划行程,确保每一次的游玩都能获得最大的快乐回报,这无疑是对每一位追求极限旅游体验的“特种兵”游客的严峻考验。

是选择那些刺激惊险的过山车,还是沉浸于梦幻般的童话世界?是优先体验那些人气爆棚的新项目,还是回归那些经典怀旧的老游乐?每一个选择,都关乎着游玩的质量与心情的愉悦。因此,提前做功课,了解各个项目的特点与游玩时长,制定一份详尽而周密的游玩攻略,便显得尤为重要。

不仅如此,游客们还需要灵活应变,根据实际情况及时调整计划。或许,一场突如其来的表演秀,会打乱原有的行程安排,但也可能因此收获意想不到的惊喜与感动。在这个充满变数与可能的游乐场里,每一次的转弯,都可能遇见不一样的风景;每一次的等待,也都可能转化为难忘的回忆。

所以,尽管排队是游玩中不可避免的一环,但只要我们借助于DeepSeek强大的人工智能功能,用心规划,巧妙应对,便能在有限的时间里,使得各位旅游“特种兵”尽情享受到游乐场带来的无尽欢乐与惊喜。

7.3.1  游乐场数据的准备

在这里,我们精心准备了针对不同游乐场景的详细地图,旨在为游客们提供更加便捷的游玩导航。在这些地图上,我们逐一标注了每个游乐项目的排队时间、视觉体验以及刺激指数,以帮助游客们更全面地了解各个项目的游玩感受。

(1)排队时间,我们在地图上以清晰的数据展示每个项目当前及预计的等待时长,让游客能够根据时间安排,灵活选择先玩哪个项目,从而避免在热门项目前长时间排队等候。

(2)视觉体验,是我们标注的另一个重要特征。不同的游乐项目带来的视觉震撼各不相同,有的项目让人仿佛置身于梦幻的童话世界,有的则展现出未来科技的奇幻色彩。通过地图上的视觉体验指数,游客可以根据自己的喜好,选择那些最能打动自己的游乐项目。

(3)刺激指数,则是为了满足那些追求极限刺激的游客而设计的。不同的游乐项目,其惊险程度各不相同。有的项目平缓舒适,适合全家共同参与;有的则惊心动魄,让人心跳加速。通过刺激指数的标注,游客可以根据自己的承受能力,选择合适的游乐项目,确保游玩的安全和愉快。

各个游乐场的地图和标注如图7-9~图7-12所示。

图7-9  环球影城

图7-10  香港迪士尼

图7-11  长隆欢乐世界

图7-12  上海迪士尼

可以看到,我们仔细的标注了各个游乐园中每个项目不同的特征,对其进行统计后,我们建立列表如下:

[{name:喷气背包飞行器,time:60,view:3,thrill:9},
{name:创极速光轮-雪佛兰呈现,time:50,view:7,thrill:10},
{name:抱抱龙冲天赛车,time:100,view:3,thrill:8},
{name:小熊维尼历险记,time:50,view:7,thrill:4},
{name:疯狂动物城,time:220,view:9,thrill:6},
{name:加勒比海盗-沉落宝藏之战,time:45,view:10,thrill:4},
{name:翱翔-飞跃地平线,time:130,view:10,thrill:8},
{name:雷鸣山漂流,time:130,view:4,thrill:9},
{name:小飞象,time:40,view:6,thrill:5},
{name:城堡迎宾阁,time:60,view:7,thrill:1},
{name:小矮人矿山车,time:145,view:3,thrill:8}];

 其中time是耗费的时间,view为视觉指数,而thrill则是刺激指数。

7.3.2  普通大模型的迪士尼游玩求解攻略

我们首先完成基于普通问题的迪士尼游玩,即将数据传入到大模型中,要求其做出对应的回答。代码如下所示:

from openai import OpenAI
client = OpenAI(api_key="sk-c646e1c201d74777b54f45c60973f4f3", base_url="https://api.deepseek.com")

system_prompy = """
你现在作为一个人工智能算法助手,有如下列表
[{name:喷气背包飞行器,time:60,view:3,thrill:9},
{name:创极速光轮-雪佛兰呈现,time:50,view:7,thrill:10},
{name:抱抱龙冲天赛车,time:100,view:3,thrill:8},
{name:小熊维尼历险记,time:50,view:7,thrill:4},
{name:疯狂动物城,time:220,view:9,thrill:6},
{name:加勒比海盗-沉落宝藏之战,time:45,view:10,thrill:4},
{name:翱翔-飞跃地平线,time:130,view:10,thrill:8},
{name:雷鸣山漂流,time:130,view:4,thrill:9},
{name:小飞象,time:40,view:6,thrill:5},
{name:城堡迎宾阁,time:60,view:7,thrill:1},
{name:小矮人矿山车,time:145,view:3,thrill:8}];
其中“游乐项目名称name”“用时time”“体验指数(视觉指数view、刺激指数thrill)”。
【示例】:{
问题: 游玩5个小时,玩哪些项目的组合刺激指数最大?
回答:亲爱的游客您好,根据您的问题经过严密计算后得出:
300分钟之内,刺激指数总和最大为36,总耗时300分钟。
【小熊维尼历险记】【耗时50分钟】【刺激指数:4】
【抱抱龙冲天赛车】【耗时100分钟】【刺激指数:8】
【创极速光轮-雪佛兰呈献】【耗时50分钟】【刺激指数:10】
【小飞象】【耗时40分钟】【刺激指数:5】
【喷气背包飞行器】【耗时60分钟】【刺激指数:9】}
请根据要求运算出结果并输出。
"""

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": system_prompy},
        {"role": "user", "content": "只有120分钟的时间,怎么玩视觉体验最大?"},
    ],
    stream=False
)

print(response.choices[0].message.content)

这段代码的主要功能是通过调用DeepSeek的API,利用一个预定义的system_prompt来回答用户关于游乐项目组合的问题。首先,代码导入了DeepSeek库并初始化了一个客户端,设置了API密钥和基础URL。接着,定义了一个系统提示(system_prompy),其中包含了一系列游乐项目的详细信息,如名称、用时、视觉指数和刺激指数。系统提示还包含了一个示例,展示了如何根据用户的问题计算并输出最佳的游乐项目组合。

在代码的第二部分,通过client.chat.completions.create方法向API发送请求,其中指定了使用的模型(deepseek-chat)、系统提示和用户的问题(“只有120分钟的时间,怎么玩视觉体验最大?”)。API会根据系统提示中的算法和用户的问题,计算出在120分钟内视觉体验最大的游乐项目组合,并将结果返回。最后,代码打印出API返回的结果,即最佳的游乐项目组合。运行结果读者可以自行尝试验证(建议多次)。

7.3.3  基于动态规划算法的迪士尼游玩求解攻略

动态规划(Dynamic Programming,DP)是一种在数学、计算机科学和经济学中用来找出多阶段决策过程中最优解的方法。在计算机科学中,动态规划通常用于优化递归问题,例如用于求解斐波那契数列,或者用于求解具有重叠子问题和最优子结构的问题。

在这个问题中,我们有一组游乐项目,每个项目都有各自的游玩时间(time)、景观评分(view)和刺激评分(thrill)。我们的目标是选择一组项目,使得总游玩时间不超过120分钟,同时最大化景观评分的总和。

动态规划算法比较复杂,读者可以跳过这一小节的学习直接学习大模型完成迪士尼游玩。

下面是我们使用动态规划完成的极限迪士尼游玩攻略的求解,代码如下所示:

projects = [
{"name":"喷气背包飞行器","time":60,"view":3,"thrill":9},
{"name":"创极速光轮-雪佛兰呈现","time":50,"view":7,"thrill":10},
{"name":"抱抱龙冲天赛车","time":100,"view":3,"thrill":8},
{"name":"小熊维尼历险记","time":50,"view":7,"thrill":4},
{"name":"疯狂动物城","time":220,"view":9,"thrill":6},
{"name":"加勒比海盗-沉落宝藏之战","time":45,"view":10,"thrill":4},
{"name":"翱翔-飞跃地平线","time":130,"view":10,"thrill":8},
{"name":"雷鸣山漂流","time":130,"view":4,"thrill":9},
{"name":"小飞象","time":40,"view":6,"thrill":5},
{"name":"城堡迎宾阁","time":60,"view":7,"thrill":1},
{"name":"小矮人矿山车","time":145,"view":3,"thrill":8}
]

# 提取时间和景观评分
time = [proj['time'] for proj in projects]
view = [proj['view'] for proj in projects]
n = len(projects)  # 项目总数
T = 120  # 总时间限制

# 初始化动态规划数组和选择数组
dp = [[0] * (T + 1) for _ in range(n + 1)]
choices = [[-1] * (T + 1) for _ in range(n + 1)]  # -1 表示未选择任何项目

# 填充动态规划数组和选择数组
for i in range(1, n + 1):
    for j in range(1, T + 1):
        if j >= time[i - 1]:
            # 如果选择当前项目可以得到更大的景观评分,则更新dp和choices
            if dp[i - 1][j - time[i - 1]] + view[i - 1] > dp[i - 1][j]:
                dp[i][j] = dp[i - 1][j - time[i - 1]] + view[i - 1]
                choices[i][j] = i - 1  # 记录选择了哪个项目(使用项目的索引)
            else:
                dp[i][j] = dp[i - 1][j]
        else:
            dp[i][j] = dp[i - 1][j]

# 输出结果
print("最大景观评分总和:", dp[n][T])


# 回溯以找出项目名称
def backtrack(choices, time, projects, total_time, current_index):
    if total_time == 0 or current_index == 0:
        return []
    if choices[current_index][total_time] == -1:
        # 没有在当前状态选择项目,继续向前回溯
        return backtrack(choices, time, projects, total_time, current_index - 1)
    else:
        # 找到了一个选择的项目,加入结果列表,并继续向前回溯
        chosen_proj_index = choices[current_index][total_time]
        chosen_proj_name = projects[chosen_proj_index]['name']
        remaining_time = total_time - time[chosen_proj_index]
        return [chosen_proj_name] + backtrack(choices, time, projects, remaining_time, chosen_proj_index)


# 调用回溯函数并打印结果
selected_projects = backtrack(choices, time, projects, T, n)
print("构成最大景观评分总和的项目名称:")
for proj_name in selected_projects:
    print("    " + proj_name)

打印结果如下所示:

最大景观评分总和: 17

构成最大景观评分总和的项目名称:

    加勒比海盗-沉落宝藏之战

    创极速光轮-雪佛兰呈现

可以看到,我们通过算法设计,获得了符合要求的结果,此时整体时间满足要求,同时也获取到最大的条件组合。

7.3.3  基于DeepSeek的旅游特种兵迪士尼大作战

在上述内容中,我们分别探讨了基于DeepSeek的基础迪士尼游玩攻略以及运用动态规划算法优化的迪士尼游玩攻略。显然,动态规划算法在特定条件下能够高效地给出满意的结果。然而,当面临不同的约束条件时,这种方法的局限性也显现出来了,它要求使用者必须具备相当丰富的算法知识和程序设计经验,才能灵活调整策略以适应新的情况。

相比之下,如果我们单纯依赖大型模型在有约束条件下进行计算,多次运行的结果可能会出现不一致的情况。这主要是因为大型模型的设计和运行逻辑并未与我们的特定算法需求紧密结合。因此,在计算过程中,它们可能无法全面、准确地捕捉到我们的具体需求,从而导致结果的不稳定性。

为了克服这些挑战,我们可以考虑将动态规划算法与大型模型相结合,以充分发挥两者的优势。具体来说,我们可以利用动态规划算法来构建基础的游玩攻略框架,确保在满足核心约束条件的前提下获得优化结果。同时,可以借助大型模型的强大计算能力,对动态规划算法生成的初步结果进行进一步的细化和优化,以适应更多复杂多变的实际场景。

下面就是我们设计的、基于DeepSeek的旅游特种兵迪士尼路径规划,代码如下所示:

from openai import OpenAI

client = OpenAI(api_key="sk-c646e1c201d74777b54f45c60973f4f3", base_url="https://api.deepseek.com")

system_prompy = """
你现在作为一个人工智能算法助手,
根据下面提供的算法逻辑和【0-1背包问题】解题思路来处理景点游玩最优规划这个情景问题。
【代码算法逻辑及步骤】:
step1:分析问题,获得可用总时长$ztime(分钟);
step2:加载以下全部11组$data数据
$data = [{name:喷气背包飞行器,time:60,view:3,thrill:9},
{name:创极速光轮-雪佛兰呈现,time:50,view:7,thrill:10},
{name:抱抱龙冲天赛车,time:100,view:3,thrill:8},
{name:小熊维尼历险记,time:50,view:7,thrill:4},
{name:疯狂动物城,time:220,view:9,thrill:6},
{name:加勒比海盗-沉落宝藏之战,time:45,view:10,thrill:4},
{name:翱翔-飞跃地平线,time:130,view:10,thrill:8},
{name:雷鸣山漂流,time:130,view:4,thrill:9},
{name:小飞象,time:40,view:6,thrill:5},
{name:城堡迎宾阁,time:60,view:7,thrill:1},
{name:小矮人矿山车,time:145,view:3,thrill:8}];
其中“游乐项目名称name”、“用时time”、“体验指数(视觉指数view、刺激指数thrill)”。
step3:分析问题,设置对应要计算的指数(刺激指数:thrill;视觉指数:view);
step4:判断总耗时是否小于$data中的time最小值,如果小于则直接结束运算,说明不会存在最优解。如果大于等于则进行下一步;
step5:定义状态 dp[i][j],表示前 i 个物品在容量为 j 的背包下的最大值。
step6:初始化 dp 状态,dp[0][j] = 0,表示背包没有容量时的最大价值也就是 0。
step7:状态转移方程为 dp[i][j] = max(dp[i-1][j], dp[i-1][j - data[i].time] + data[i].thrill) if j > data[i].time else dp[i-1][j] 。表示在有足够容量的情况下,可以选择放入或者不放入当前的物品。
step8:求出 dp[len(data)][$ztime],该值就是最大的体验指数。
step9:通过 dp 状态表,反推出$data.name(项目名称)。
【示例】:{
问题: 游玩5个小时,玩哪些项目的组合刺激指数最大?
回答:亲爱的游客您好,根据您的问题经过严密计算后得出:
300分钟之内,刺激指数总和最大为36,总耗时300分钟。
【小熊维尼历险记】【耗时50分钟】【刺激指数:4】
【抱抱龙冲天赛车】【耗时100分钟】【刺激指数:8】
【创极速光轮-雪佛兰呈献】【耗时50分钟】【刺激指数:10】
【小飞象】【耗时40分钟】【刺激指数:5】
【喷气背包飞行器】【耗时60分钟】【刺激指数:9】}
请严格按照上述算法和输出要求,运算出结果并输出,不要超出约束条件。让我们一步一步来思考!

"""

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": system_prompy},
        {"role": "user", "content": "只有120分钟的时间,怎么玩视觉体验最大,并且刺激指数最大?"},
    ],
    stream=False
)

print(response.choices[0].message.content)

输出结果如下所示:

亲爱的游客您好,根据您的问题经过严密计算后得出:

120分钟之内,视觉指数总和最大为17,总耗时120分钟。

【加勒比海盗-沉落宝藏之战】【耗时45分钟】【视觉指数:10】

【小熊维尼历险记】【耗时50分钟】【视觉指数:7】

此时看到,输出的结果也较好地满足了需求,尽管细节上还有一定的出入,但是大模型与基于普通动态规划算法得到的结果在总体约束上基本保持一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】第一弹——MySQL数据库结构与操作

目录 一. 数据库介绍1.1 什么是数据库1.2 为什么要使用数据库1.3 主流数据库1.3.1 关系型数据库1.3.2 非关系型数据库 二. MySQL 的结构2.1 MySQL服务器和客户端2.2 MySQL服务器是如何组织数据的 三. 数据库的操作3.1 创建数据库语法格式示例 3.2 查看数据库语法格式示例 3.3 使…

Spring_MVC 快速入门指南

Spring_MVC 快速入门指南 一、Spring_MVC 简介 1. 什么是 Spring_MVC? Spring_MVC 是 Spring 框架的一个模块,用于构建 Web 应用程序。它基于 MVC(Model-View-Controller)设计模式,将应用程序分为模型(M…

L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因

目录 1.题目 2.分析 去重的代码 错误代码 3.完整代码 提交结果 1.题目 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元…

字符串系列一>最长回文子串

目录 题目:解析:代码: 题目: 链接: link 解析: 代码: class Solution {public String longestPalindrome(String s) {char[] ss s.toCharArray();int n ss.length;int begin 0;//返回结果的起始字符串…

双击热备方案及不同方案的需求、方案对比

双击热备方案概述 一般实现双机热备的方案有三种,分别是共享存储双机热备方案、镜像双机热备方案、双机双柜双机热备方案,这三种方案对硬件要求不同,大家可以根据自身的业务应用特性来选择具体的双机热备方案以及对应的ServHA双机热备软件产品。 1、镜像双机热备 1.1镜像…

VSCODE插值表达式失效问题

GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_-CSDN博客 更换正确的vue域名 GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_ <script src"https://unpkg.com/vue2.6.14/dist/vue.js"></sc…

【失败】Gnome将默认终端设置为 Kitty

起因 一会儿gnome-terminal一会儿kitty终端&#xff0c;实在是受不了&#xff0c;决定取缔默认的gnome-terminal。 过程 在 Ubuntu 或 Debian 系统上&#xff1a; 确保 Kitty 已经安装。如果未安装&#xff0c;可以在终端中运行命令sudo apt install kitty -y进行安装。 使用系…

蓝桥杯:连连看

本题大意要我们在一个给定的nxm的矩形数组中找出符合条件的格子 条件如下&#xff1a; 1.数值相同 2.两个横坐标和纵坐标的差值相等&#xff08;由此可得是一个对角线上的格子&#xff09; 那么根据以上条件我们可以用HashMap来解决这个问题&#xff0c;统计对角线上数值相同…

Ext系列⽂件系统

Ext系列⽂件系统 1. 理解硬件1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构理解过程实际过程 1.4 CHS&&LBA地址 2. 引入文件系统块分区innode 3. Ext2文件系统3.1 宏观认识3.2 block group3.3 块组内部3.3.1 GDT&#xff08;Group Descriptor Table&#xf…

MTK-Android12 13 屏蔽掉Viewing full screen

去掉ROOM 开机第一次提示全屏弹框 文章目录 需求参考资料修改文件实现方案 解决思路grep 源码查找信息grep 查找 grep -rn "Viewing full screen" 找string 字段grep 查找 grep -rn immersive_cling_title 布局grep 查找 grep -rn layout.immersive_mode_cling 对应的…

GitHub创建远程仓库

使用GitHub创建远程仓库&#xff1a;从零开始实现代码托管与协作 前言 在当今软件开发领域&#xff0c;版本控制系统已成为开发者必备的核心工具。作为分布式版本控制系统的代表&#xff0c;Git凭借其强大的分支管理和高效的协作能力&#xff0c;已成为行业标准。而GitHub作为…

【AI部署】腾讯云GPU -—SadTalker的AI数字人访问web服务—未来之窗超算中心

访问部署在Cloud Studio上的web服务 当你把该项目部署在本地时&#xff0c;访问该服务的请求地址为http://localhost:8080/hello&#xff1b;当你把该项目部署在Cloud Studio工作台启动时&#xff0c;要想访问到该服务&#xff0c;需要先在工作台右侧打开访问链接面板&#xff…

fastdds:传输层SHM和DATA-SHARING的区别

下图是fastdds官方的图&#xff0c;清晰地展示了dds支持的传输层: 根据通信双方的相对位置(跨机器、同机器跨进程、同进程)的不同选择合适的传输层&#xff0c;是通信中间件必须要考虑的事情。 跨机器&#xff1a;udp、tcp 跨机器通信&#xff0c;只能通过网络&#xff0c; f…

树莓派_利用Ubuntu搭建gitlab

树莓派_利用Ubuntu搭建gitlab 一、给树莓派3A搭建基本系统 1、下载系统镜像 https://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ 2、准备系统SD卡 二、给树莓派设备联网 1、串口后台登录 使用串口登录后台是最便捷的&#xff0c;因为前期网络可能不好直接成功 默…

ARINC818协议(三)

源特定参数 源特定参数被定义&#xff0c;用于在源和目的之间进行传输 源特定参数包括初始化&#xff0c;合适的解释&#xff0c;周期性的验证。 gamma or palette tables&#xff1a;伽马或者调色板 color format:颜色格式 Brightness and backlight control &#xff1a;亮度…

得佳胜哲讯科技 SAP项目启动会:胶带智造新起点 数字转型新征程

在全球制造业加速向数字化、智能化转型的浪潮中&#xff0c;胶带制造行业正迎来以“自动化生产、数据化运营、智能化决策”为核心的新变革。工业互联网、大数据分析与智能装备的深度融合&#xff0c;正推动胶带制造从传统生产模式向“柔性化生产精准质量控制全链路追溯”的智慧…

万字解析TCP

通过学习视频加博客的组合形式&#xff0c;整理了一些关于TCP协议的知识。 *图源&#xff1a;临界~的csdn博客。 一、TCP建立连接 TCP的建立连接&#xff0c;大致可以分为面向连接、TCP报文结构、TCP的三次握手、TCP的建立状态、SYN泛洪攻击。 1.1、面向连接 面向连接 --- …

2025年大数据实训室建设及大数据实训平台解决方案

一、引言 在数字化浪潮中&#xff0c;大数据技术已成为推动各行业创新发展的核心驱动力。从金融领域的风险预测到医疗行业的精准诊断&#xff0c;从电商平台的个性化推荐到交通系统的智能调度&#xff0c;大数据的应用无处不在。据权威机构预测&#xff0c;到 2025 年&#xf…

贪心、动态规划、其它算法基本原理和步骤

目录 1. 贪心1.1 贪心算法的基本步骤1.2 贪心算法实战1.2.1 贪心的经典问题1.2.2 贪心解决数组与子序列问题1.2.3 贪心解决区间调度问题1.2.4 贪心解决动态决策问题1.2.5 贪心解决一些复杂场景应用 2. 动态规划2.1 动态规划的基本步骤和一些优化2.2 动态规划实战2.2.1 斐波那契…

python-各种文件(txt,xls,csv,sql,二进制文件)读写操作、文件类型转换、数据分析代码讲解

1.文件txt读写标准用法 1.1写入文件 要读取文件&#xff0c;首先得使用 open() 函数打开文件。 file open(file_path, moder, encodingNone) file_path&#xff1a;文件的路径&#xff0c;可以是绝对路径或者相对路径。mode&#xff1a;文件打开模式&#xff0c;r 代表以…