登录 [F2] | 注册 | 找回密码 | 软件下载 | 更新历史 | 关于本站 | 管理团队
首页 排行榜 录像 雷界 论坛 教程 雷神殿 我的地盘 新手上路
[技术]进阶扫雷技术指标.精 (15/7869)
 [雷圣] 郭锦洋 发表于 2014年7月18日
本文将会尽可能介绍新的扫雷技术指标的产生过程,所代表的意义及详细的计算公式。
阅读本文的前提是 熟悉3BV参数的含义
阅读本文的适合人群是 扫雷实力达到三级别相加100秒内的并期望继续进步的玩家



第一篇 移动距离与移速
在现行的三大国际扫雷版本中,Arbiter具有移动距离统计计算的功能。除此之外曾经的国际版本Clone2007同样具有移动距离数据。
此外,FreeSweeper也有移动距离数据,但是FS使用的是 曼哈顿距离。而Ar & Clone使用的是 欧几里得距离。

首先解释欧几里得距离和曼哈顿距离的区别。
目前的扫雷软件记录鼠标指针的移动 都是每过若干毫秒记录一次 记录的频率将直接影响距离统计值的精确度。
实际计算距离时是将所有的指针移动的距离全部累加获得。

针对某两次连续的记录 : 例如
 13.887秒 坐标 320,34
 13.891秒 坐标 333,47
曼哈顿距离计算方式: distance = ABS(333-320)+ABS(47-34) = 26 pixel
欧几里得距离计算方式: distance = [(333-320)^2+(47-34)^2]^0.5 = 18.385 pixel

无论是哪种计算方式,计算精度都非常依赖记录坐标点的次数,记录次数越多,距离也就越精确。


移速则是将移动距离除以时间,表示了玩家在单位时间内的平均移动量。

移动距离的长短往往能够体现玩家的判雷功力,一般来说判雷越好的玩家,移动距离越短。(但是某些进阶技巧会带来移动距离的增加,这时的距离并不能够说明判雷的优劣)
移速的快慢往往能够体现玩家的操作能力和鼠标性能,一般来说移速越快的玩家,操作能力越强,鼠标的性能越强。(某些玩家的开局习惯会让移速显得很大,这时的移速并不能体现操作能力和鼠标性能)

移动距离的常用单位是 像素(pixel) 由于现行的三大国际扫雷版本中,一个格子的规格是16*16像素,因此也可以使用 格子距离(square-path) 作为单位
换算公式:  1 格子距离 = 16 像素

由此衍生出来的参数 IODE (index of distance efficiency) 距离效率
IODE = 3BV / 格子距离
距离效率体现了一局中移动的风骚程度,这个参数的高低可以体现判雷功力。



第二篇 点击与有效点击

目前三大国际扫雷版本中都有对点击次数的统计。点击次数包括 左键点击次数 右键点击次数 双键点击次数
实际在计算点击次数关于右键点击次数有两种处理方法。

要了解两种处理方法的差异,首先需要知道扫雷软件如何记录鼠标点击
举例如下:
 0.007秒 16,32  LC(表示左键按下)
 0.014秒 32,32  LR(表示左键抬起)
 0.021秒 55,23  RC(表示右键按下)
 0.021秒 55,23  RR(表示右键抬起)
实际是软件并不记录双键的按下抬起,而是根据左键和右键的按下抬起顺序来判断是否为双键操作的。


第一种处理方法(clone msx vienna) 所有左键未按下状态中出现的RC 记做一次右键点击次数
第二种处理方法(arbiter)          所有左键未按下状态中出现的RC 记做一次右键点击次数
同时 所有的非1.5click的双键过程后 扣除一次右键点击次数(此处的解释仍然不够准确,期待郭嘉给出精确解释)


简单地解释:第一种处理方法下,一个右键率先按下的双键点击过程,会被计算为1右+1双  第二种处理方法下,会被计算为1双
这样的过程俗称:带右键


在Ar中,增加了对有效点击次数的统计。Ar将所有改变当前雷局局面的点击计算为一次有效点击。
例如,将一个格子标上雷,是有效点击
      将一个格子的雷标记取消,也是有效点击
      右键点击到已经打开的格子,不是有效点击
      双键点击周围已经不存在未知格子的情况,没有改变局面,也不是有效点击


由点击和有效点击衍生的参数 corr thrp IOE Click/s Click-E/s
corr(正确率) = 总有效点击 / 总点击         体现了点击的准确度  corr永远小于等于1
thrp(破空率) = 3BV / 总有效点击            体现了有效点击完成3BV的效率  thrp有可能大于1
IOE = 3BV / 总点击                          体现了总点击完成3BV的效率
IOE = corr * thrp         也可能大于1


Click/s = 总点击 / 时间          体现了单位时间的点击次数 也可以理解为手指的总输出功率
Click-E/s = 总有效点击 / 时间      体现了单位时间的有效点击次数 也可以理解为手指的有效输出功率



最近一次修改:2014-7-18 15:35:00
回复此主题
第 1 楼
 [雷圣] 李健玮 回复于 2014年7月18日
第 2 楼
 [雷圣] 林锦帆 回复于 2014年7月18日
“第二种处理方法(arbiter)          所有左键未按下状态中出现的RC 记做一次右键点击次数
同时 所有的非1.5click的双键过程后 扣除一次右键点击次数(此处的解释仍然不够准确,期待郭嘉给出精确解释)”

郭嘉表示没空研究这个。我简要说明一下两种处理方法的不同点。

产生差别的情形仅限于,右键首先按下的位置如果在已经打开的方格里,那么在右键松开之前按下左键,arbiter会扣除一次右键点击次数(R)而增加一次双击次数(D),之后的左键与右键哪个先松开不影响计数。

clone等其他软件混淆了这种情形与1.5clicks。关键在于右键按下的操作是否对局面产生了直接影响。如果右键按下的同时在局面上能标上或者取消一个雷,那么随后按下左键的操作就是1.5clicks(之后松开左键与右键)。

【可以忽略的:】如果要设计扫雷软件的话,还会涉及右键先标上一个雷然后再改写成问号,第三次操作才清空的问题。
第 3 楼
 [雷圣] 林锦帆 回复于 2014年7月18日
啊对了。关于标雷之后连双击的问题,推荐一个手法。那就是先按下右键,然后在右键不松开的情况下,在待双击的几个位置点击左键,等双击完毕以后再放开右键。
第 4 楼
 [雷圣] 王翔 回复于 2014年7月19日
无效点击一大把的路过。。。。最近流行发技术贴啊。。。
第 5 楼
 [雷圣] 郭锦洋 回复于 2014年7月21日
第三篇 Time 3BV/s RQP IOS QG
首先 这里提到的Time都是RealTime,真实时间。

Time = Time^1 / 3BV^0 
时间,最简单的参数。
以大量成绩下的时间记录来衡量选手的实力是完全合理的。
但是在短时间内的竞赛中 仅仅以时间来衡量选手的实力是不合理的。

3BV/s = [Time^1 / 3BV^1]^-1
RQP = (Time^2+Time) / 3BV^1 ~= Time^2 / 3BV^1
QG = Time^1.7 / 3BV^1
人们考虑到3BV对时间的影响作用,提出的衡量实力的参数。
共同的特点是加入了3BV作为影响。也因此这3个参数都比时间更适合于竞赛。
不同的是3个参数中 时间的影响幅度 各不相同

IOS = log10(3BV) / log10(Time)

For EXP games:
IOS ~= 0.66*3BV^0.24/0.66*Time^0.24 = (3BV/Time)^0.24 =3BV/s ^ 0.24

For INT games:
IOS ~= 0.66*3BV^0.24/0.49*Time^0.32 = 1.35 * (Time^1.33/3BV)^-0.24

For BEG games:It is hard to describe~~~

基本得到的结论是高级的IOS几乎就是3BV/s的另外一种表现形式
中级的IOS大幅度增加了时间的影响幅度 介于QG和3BV/s的参数
初级的IOS则完全没法找到规律,数值变化已经没法达到一个实力参数应该保持的范围。
第 6 楼
 [雷圣] 郭锦洋 回复于 2014年7月21日
第四篇 平均成绩和JSDindex

扫雷的成绩受到了3BV OP IS 以及很多其他因素的影响。
因此一局的成绩往往不能够说明实际的情况。

如果需要衡量自己扫雷实力的进步,就需要大量成绩下的平均成绩作为依据。

本文给出一种平均成绩算法的建议。
平均时间: Avg Time = Total Time / games   总时间除以总局数
平均3BV:  Avg 3BV = Total BV / games
平均QG:   Avg QG = AvgTime^1.7 / Avg3BV   平均成绩的量化指标

为了便于比较平均成绩的好坏,这里引入一个玩家2012年6月的数据作为100%的基准值,计算得到JSDindex
JSDindex = 【IF(初级,1.522,0)+IF(中级,5.054,0)+IF(高级,14.301,0)】/AvgQG

一般来说 JSDindex到达 100% 可以作为专业扫雷选手的标识。
第 7 楼
 [雷神] 赵爽 回复于 2014年7月21日
高深莫测技术贴
楼主辛苦好顶赞
第 8 楼
 [雷圣] 郭锦洋 回复于 2014年7月25日
第五篇 排行榜

扫雷的竞技规范化经历了一段长久的历史。详细情况可以查阅另外一篇专门介绍扫雷排行网站历史的文章。
现存的扫雷成绩排行有扫雷网(saolei.net) 和国际扫雷网(minesweeper.info)

目前的扫雷排行体系主要包括了 总时间排行 NF总时间排行 总BVS排行 NF总BVS排行
其中 minesweeper.info 还有只统计女性玩家成绩的专门排行。
saolei.net 则拥有地区排行,人气排行以及一个奇葩的人界排行。

本文尝试性地提出对排行榜改革的若干建议:

1 保留总时间 = 初级时间+中级时间+高级时间 的排行。
其中总时间排行可以考虑设定 2-25-100的老雷网3BV限制
或者2-30-99的国际网3BV限制
甚至更加苛刻的10-30-99新3BV限制。
增加不同风格的单独时间排行
ALL                  所有风格
NF                    R = 0

可以忽略不看的部分----------------------
Light Flag        0 < R/Mine < 0.2
Normal Flag       0.2 <= R/Mine < 0.8
Heavy Flag          R/Mine >= 0.8
可以忽略不看的部分----------------------

保留单项时间排行:三大单项设定3BV限制 10-30-99   
其中初级限制与总时间排行的设定可以不同。

2 保留总BVS = 初级BVS+中级BVS+高级BVS 的排行。
设定3BV限制 10-30-99
增加不同风格的单独BVS排行
保留单项BVS排行


3 增加质量参数排行 RQP QG IOS三选一
排行规则和BVS排行规则完全类似

4 增加 积分排行 和 活跃积分排行
初级积分=4.14/QG+7.125*BVS+27.075/Time
中级积分=43.704/QG+5.321*BVS+320.64/Time
高级积分=145.728/QG+6.336*BVS+1021.14/Time
综合积分=初级积分*4+中级积分*9+高级积分*12

只有满足3BV限制 10-30-99的录像可以计入积分
其中活跃积分只取13周内的录像,可以体现现役玩家实力排行


5 增加 各单项各个BV的玩家排行

6 增加扫雷收藏成就 ASB (all sumed bvs)排行
扫雷收藏成就ASB = BEGASB + INTASB + EXPASB
初级收藏成就BEGASB = BVS.10+BVS.11+BVS.12+......+BVS.49+BVS.51+BVS.54
中级收藏成就INTASB = BVS.30+BVS.31+BVS.32+......+BVS.211+BVS.213+BVS.216
高级收藏成就EXPASB = BVS.99+BVS.100+BVS.101+......+BVS.376+BVS.378+BVS.381

收藏成就一方面体现玩家的实力,一方面需要玩家收集尽可能多的3BV。
鼓励玩家上传不同3BV的录像便于更好地了解玩家的技术风格。
可以有机会目睹罕见BV录像的诞生~~

7 增加战斗力 W-BVS 排行
战斗力 W-BVS = 10/149*W-BEG + 40/149*W-INT + 99/149*W-EXP
初级战力W-BEG = sumproduct(BVS.2~54 , RandomRate.2~54)
中级战力W-INT = sumproduct(BVS.30~216 , RandomRate.30~216)
高级战力W-EXP = sumproduct(BVS.99~381 , RandomRate.99~381)

其中RandomRate.99 表示在Arbiter中出现99BV的随机几率的近似值

战斗力是目前最能说明玩家的综合实力的参数。
各个级别的战斗力则是最能说明玩家该级别实力的参数。
第 9 楼
 [雷圣] 郭锦洋 回复于 2014年7月25日
第六篇 比赛

目前现有的比赛模式包括scoreganizer的在线比赛,但是需要限制使用Vienna软件。
另外包括线下举行的比赛,统计数据需要人工进行,效率和准确度略差。


本文尝试性地提出对增加在线比赛功能的若干建议:

1 自动审核技术,相信目前的自动审核从实现上来说,是没有问题的。
科长和TJD都是这方面的专家,完全可以提供自动审核必备的算法。

2 当玩家通过正常上传途径上传录像时,如果当前存在比赛,
则会出现参加比赛的选项,勾选后玩家上传的录像将同时作为参赛录像。

3 比赛页面可以查询比赛进程,包括往期比赛结果。

4 比赛模式可以支持自定义局数。
常见的比赛模式包括:
传统周赛          0-3-2    3中级 2高级
Fuck off winter  10-5-3   10初级 5中级 3高级
第 10 楼
 [雷圣] 郭锦洋 回复于 2014年7月25日
第七篇 ZiNi

ZiNi对应于FL 如同 3BV对应NF

大量的数据表明,标雷数量越多,平均成绩和最高记录的差距就越大。
标雷数量越少,平均成绩则越接近记录。

造成这一现象的根本原因是:FL风格真正的难度值应该是ZiNi,而不是3BV。


ZiNi 理论最少点击数
3BV  理论最少点击数(限制只用左键)

FL创造高3BV/s的秘密: 最大限度地利用ZiNi值与3BV值的差距。


ZiNi值是没有办法精确得到的,目前有几种近似值。
Greedy ZiNi  贪婪算法
Human ZiNi   仿人类算法
Random ZiNi   随机算法

Arbiter在 0.52.3 版本纠正了ZiNi值
也意味着此前所有版本的ZiNi值全部有误。

并且ZiNi值远没有3BV值意义明确,方便好用。
大多数情况下人们仍然更愿意使用3BV作为代替。
  共 15 篇回复  首页 | 上一页 | 下一页 | 末页  现在是第 1/2 页
楼主信息
Copyright @ 2008 扫雷网 Saolei.wang 版权所有 陕ICP备19026089号-1