前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从【炉石传说】到矩阵运算

从【炉石传说】到矩阵运算

原创
作者头像
IT蜗壳-Tango
修改2024-02-06 10:47:13
1190
修改2024-02-06 10:47:13
举报
文章被收录于专栏:机器学习机器学习

从“姐夫”到标量,向量与矩阵

矩阵在机器学习中是非常基础的数学知识,而对于文科出身的我,最后一堂数学课似乎还是在高三的时候(专科没有数学....)。但是,既然选择了程序猿这个职业,那么,数学终归还是逃不掉的。为了方便理解,还是从熟悉的《炉石传说》这个手游开始的,这时脑海中已经响起那句经典的一句“炉石传说真尼 MA 好玩!”,于是默默打打开了~~ 炉石~~Markdown 笔记。这里的“姐夫”不是你姐姐的丈夫,而是炉石中的下面这张卡牌对于不熟悉这个手游的朋友我简单的介绍一下这里各个数字代表的意义

  • 左上角的 2 代表需要 2 点费用,游戏后期没用单个回合拥有 10 点费用
  • 左下角的 3 代表它有 3 点攻击力
  • 右下角的 2 代表它有 2 点血

标量

好接下来回到数学世界中,这里的费用,攻击力,血量都是一个数字,这个数字在数学中我们可以称为标量,写成表达式:a = 2, b = 3, c = 2。

向量

我们在游戏里可以将它简称为 2,3,2(姐夫是他的爱称)。如果在数学中可以用 A 代表这张卡,写成公式 A = (2, 3, 2), 这里的 A 即(2,3,2)被称为向量,因为这里有三个数代表这个向量有三个维度,分别代表费用,攻击力,血量。

这里我们是横着写的,我们通常也称为行向量,如果将这个三个数字竖着写,则称它为列向量

矩阵

在炉石的标准对战中,我们开局是有 30 张卡牌的。像“姐夫”这种中间有个橙色的宝石,我们将它称为“橙卡”,在一套卡组里面只能带一张,除了称卡,还有“紫卡”,“蓝卡”,“白卡”,这些卡就可以最多带两张。比如下面这张卡:

费用 2 点,攻击力为 0(但是他的效果还是很强的),血量 7。用向量表示可以写成 B = (2, 0, 7)那么如何用数学公式同时表示这两种卡

c = [[2,3,2], [2,0,7]]

不好意思,忘了如何在 Markdown 里面表示矩阵了,通常是写在一个中括号 里面,分两行写。如果有三十张卡,那么就可以写 30 行有 3 个数组成的行向量。

最后

有人可能会问,为什要学习这些数学概念?如果我们想将炉石的卡牌转换成计算机可以识别,计算的内容的那么,转换成这种矩阵或者向量,通过 Python 的 Numpy 库来运算,在配合一些深度学习的算法,弄不好可以帮你计算一下如何才能组一套完美的卡组,这样你离上传说就不远了(很惭愧,我玩了好久,一次传说都没有上过,哎。。。)。我曾梦想有一天可以通过深度学习来让炉石自动化不是脚本,而是分析一套如何才能更适应当前环境的卡组。万一不小心被暴雪或者网易发现,是不是就走上了人生的巅峰。咳咳,醒醒吧,我还是老老实实的学数学去吧,谁让咱是文科生呢。如果你想进一步了解矩阵相关的运算,请关注持续关注一下我,谢谢支持,如果你觉得这篇文章对你有所帮助,请转发给你的朋友。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从“姐夫”到标量,向量与矩阵
    • 标量
      • 向量
        • 矩阵
          • 最后
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档