导读:如何科学而优雅地测量一直喵的体积,并不使它被伤害?

各位铲屎官,你有想过吗?

前情提要:

Monte Carlo 测猫法:

把猫装进已知体积为V_box的盒子,在盒子内均匀取N个随机点,其中M个在猫体内,猫体积近似为V_box*M/N。推理及讨论见后面的supplemental materials.

要实现这一测猫法,需要一种瞬时确定某点是猫还是非猫的方法,否则在猫运动的情况下,会测得猫扫过的体积而不是猫体积。

我决定用下图所示的方法。。。

盒子壁上装尽量多的激光灯,盒子壁用感光材料。若要确定某点是猫还是非猫,则让所有激光灯射向目标点。若目标点是猫,则激光会被猫挡住因此盒子壁上任何一点都不会检测到激光。因此我们用以下原则判断目标点是猫非猫:

  • 若有盒子壁上任何一点检测到激光,说明目标点非猫。

  • 否则认为该点是猫。

测量可以在很短的时间内完成,足以快到忽略猫的运动。

============
当然这种方法是有缺陷的,猫身上一些凹陷部位可能会成为激光无法穿过的死角,因此被算入猫体积。

一个充分不必要的解决方法是让猫变成凸猫(convex cat), 即任取两点属于猫,两点之间的线段上的点都属于猫,满足这一条件的猫叫做凸猫,如下图所示。

下图是一个现实生活中凸猫的例子。。(图片来自网络)

对于凸猫,该方法测得的猫体积即为真猫体积,证明见supplemental materials中的夹逼测猫法。

但是这种方法是不猫道的,因为猫咪宣言中有这样的话:

We hold these truths to be self-evident, that all cats are created equal (大雾), and they are endowed by their Creator with certain unalienable rights, that among these are the rights to stand up, lie down, turn around, groom themselves and stretch their limbs ...

而凸猫显然(至少)剥夺了猫咪 stretch their limbs 的自由。。。

好在对于非凸猫,该方法也不是那么糟糕。

下面我将展示给大家,即使对于非凸猫,用该方法测出来的猫体积

  • 首先本身就是一种很合理的猫体积定义

  • 其次实际操作中与一般意义上的猫体积差别不大

=============

要测量猫体积,首先要定义猫体积。

然而“猫有毛兮毛有枝,本喵在哪你不知。”

猫的体积定义并非显而易见的,主要有两个困难

  1. 猫的表面是凹凸不平的,那些凹陷和缝隙怎么算?客观标准是什么呢?

  2. 喵是测不准的。理论上来讲喵的电子云可以想你时你在天边,想你时你在眼前,哪里算边界?

嗯。。化学家出场了。。。

化学家测猫大法:

把一个直径一定的毛线球用一定力量按在喵体表滚一遍,把毛线球与喵接触的内表面轨迹包括的空间的体积视为猫的体积,并称之为Van de Waals cat volume .(好吧。。。我知道这不叫Van de Waals体积。。但是这个体积的实际名字土掉渣了。。哪有Van de Waals高大上。。。)

如下图。

这一体积定义包含两个要素。毛线球的直径和按在猫身上的力量,前者决定了凹陷和缝隙算与不算的体积和形状标准——毛线球放得进就算,否则不算;后者决定了猫边界的标准——和毛线球之间的作用力达到某一值为准,啥啥电子云都不好使,就看力的大小。通过改变毛线球和力量的大小,可以控制猫体积的精细程度。究竟多精细不重要,重要的是可以定义一个体积的客观标准。

=============
仿照这一定义,我将我测得的猫体积定义为 Van de Bars cat volume。。。如下图。。。

准确来说,是一个直径相当于激光束粗度,无限长的bar在猫表面滚过定义的猫体积。。。你看。。。我测的体积也是有一个很有道理的定义的嘛。。。。

同时我想强调,相对于其他回答,该方法对猫毛可以有很严格的处理,详见supplemental materials中对猫毛的讨论。

============

我认为实际测量中Van de Bars 猫体积和我们一般认为的猫体积差异并不大。

比如看下图

E为克莱因猫,虚线部分在猫体内。。

对于碗状猫(bowl cat),Van de Bars 猫体积确实会把猫肚子下面那块空间误算做猫体积的一部分。但是对弓状猫(bow cat)、椅状猫(chair cat)的测量都是准确的,因为光线可以从图上箭头的角度穿过。甚至小昭猫(shaw zhao cat)这个我本来觉得挺奇葩的形状下其实并没有任何问题。这样一来,Van de Bars 猫体积在多数情况下和我们一般认为的猫体积的区别也就仅限于耳廓内的空间、个别身体缝隙之类的光穿不过的死角。。。我觉得还是能接受的。。。

为了尽量避免碗状猫对测量的影响,我们要大力鼓励猫咪充分 stretch their limbs. 这也提示我们,爱护猫咪对我们蓝星人也是有益的。。。所以爱护猫咪,人人有责,no cats should be convex!!!

=============

综上,我设计了一种测量Van de Bars 猫体积的Monte Carlo测猫法。我觉得这是目前回答里最猫道最优雅的。。。因为它保障了猫咪伸展身体、弄干身体、不受恐吓、自由站起、躺下、翻身的权利。。。而且对猫体积有严谨而实用的定义。。。

==============

Supplemental materials:

  • Monte carlo 测猫法的推理:

把猫装进体积为V的盒子,在盒子内 uniform randomly 取N个 independent and identically distributed (i.i.d.) 的点组成样本,记为 SAMPLE = {(xi, yi, zi) | i in range(0, N)}。

定义如下 function:
I(x, y, z) = 1 if (x, y, z) in CAT else 0
(即确定一个点是猫还是非猫)

假设猫体积(V_cat)不变,且猫的运动与取点不相关(即猫既不接飞镖也不躲飞镖,见评论区知友讨论),则I(x, y, z)具有如下分布:

I(x, y, z) = 0 with a probability of 1-V_cat/V_box
I(x, y, z) = 1 with a probability of V_cat/V_box

与猫运动与否不相关。

根据这一分布I(x, y, z)的期望值是V_cat/V_box.
{I(xi, yi, zi) | (xi, yi, zi) in SAMPLE} 是一个服从上述分布的 i.i.d. 的sample。

根据大数定理(law of large numbers), sample mean almost surely converges to expected value. 所以可以用 sample mean 估计期望值,即:
V_cat/V_box ~= sum(I(xi, yi, zi))/N

记M为在猫体内的样本点数量,则
V_cat/V_box ~= sum(I(xi, yi, zi))/N = M/N

所以V_cat ~= V_box * M/N

关于猫毛的讨论

上述方法等价于把猫边界定义为猫体表透光率显著不同于空气以至于足以使得sensor检测到差异的位置。可以想象这应该包括了猫毛,而且是不受压迫不变形的猫毛。

我认为这也是该方法的一大优势——这是真正的无损测真猫,而不是测 a rat-like creature that lives inside a cat (见 @苍原雪在本问题下的回答)。。。其他方法,包括彩虹糖,都是有压迫的。实际上彩虹糖法测的是彩虹糖的形状和大小、彩虹糖与猫接触处的压强定义的Van de Waals cat volume. 因为这一压强,长毛猫的测量可能和我们预想的含猫毛体积有较大区别。

Van de Bars 猫体积和其他猫体积的对比 (不适用于克莱因猫)

  • VS 真 猫体积

  • 这里真猫体积指刨除一切空隙的猫体积。显然,Van de Bars 猫体积 >= 真猫体积。所以Van de Bars 猫体积是真猫体积的一个upper bound. 可惜的是它们之间的差是没有任何保证的,比如口袋猫。

  • VS Van de 毛线球 猫体积

  • 我觉得Van de Bars 猫体积应该是与bar同样直径的毛线球定义出的Van de 毛线球猫体积的upper bound,但是我没仔细证。。。因为比如bowl cat这样的存在,它们的差同样是没upper limit的。。。

  • VS Convex Hull (附夹逼测猫法)

  • 一个set的convex hull 是包含这个set且convex的最小的set。如图3和下图。

  • 易知Convex hull 猫体积 >= Van de Bars 猫体积 >= Van de 毛线球猫体积 >= 真猫体积。对于convex猫,因为猫本身就是convex的,所以猫和猫的convex hull是同一集合,所以Convex hull猫体积 = 真猫体积,所以convex cat 的真体积 = Van de 毛线球体积 = Van de Bars体积 = Convex hull 体积。。。。。。夹逼测猫法。。。。convex 猫真好测。。。各种体积都一样。。。all cats should be convex。。。

  • 关于克莱因猫

  • 准确讲克莱因猫应该是克莱因猫皮(Klein Cat Skin),因为这是一个曲面而不是实体,而且这个曲面不能把空间分为内、外互不连通的两部分,所以也无法把克莱因猫体积定义为克莱因猫皮围成的空间的体积。仔细看Fig. 6 E 的话,克莱因猫“体内”的空间可以通过尾巴-食道-口和外界相通。所以严格讲,克莱因猫无体积。

  • 但是这并不妨碍我们继续强测克莱因猫的 Van de 毛线球体积和 Van de Bars 体积,只是不同于之前可以把这作为真猫体积的近似,现在我们必须将其作为一种独立的体积定义使用。

  • 在克莱因猫上 Van de Bars 猫体积比 Van de 毛线球猫体积鲁棒。因为当毛线球小到克莱因猫可以吞下去的时候,毛线球会沿着口-食道-尾巴通路把喵“体内”滚个遍,然后 Van de 毛线球体积为零。。。而 Van de Bars 体积因为使用的是无限长的bar, 所以即使bar直径再小也无法access喵“体内”的空间。这允许我们用较细的bar来提高测量准确度而不必担心体积忽然降为0.

=========下面是原答案===============

物理学家测猫法:取一只半径为r的真空中的球形猫,体积等于4/3*πr^3

数学家测猫法:把猫装进已知体积为V的盒子,在盒子内均匀取N个随机点,其中M个在猫体内,猫体积近似为VM/N。

生物学家测猫法:把control猫装盒子,塞了10次都塞进去了,把实验猫装同一个盒子,塞了10次只进去两次,所以,猫多大我不知道,反正显著大于control猫。

资料来源于有勇有萌兔(知乎): https://www.zhihu.com/question/36590161/answer/68200338

推荐阅读

全球100款大数据工具汇总(前50款)

大数据时代的10个重大变革

4个最受欢迎的大数据可视化工具

大数据七大趋势 第一个趋势是物联网

Q: 各位铲屎官准备开始尝试了嘛?

欢迎留言与大家分享

觉得不错,请把这篇文章分享给你的朋友

转载 / 投稿请联系:qinshi@hzbook.com

更多精彩文章,请在公众号后台点击“历史文章”查看

如何优雅地测量一只猫的体积?相关推荐

  1. 如何优雅地测量一只猫的体积,而不使其感到惊恐或受到伤害?

    本文讲述了14种方法来优雅地测量一只猫的体积,而不使其感到惊恐或受到伤害.其中的方法基于物理学,测量学,大数据等,这些方法,优雅而不失风趣.摘选将力争简洁明了. >>>> 方法 ...

  2. pix怎么抚养另一只猫_在工作和抚养两个孩子的同时,我如何在一年内获得第二学位并获得了5个开发人员认证...

    pix怎么抚养另一只猫 "The standard pace is for chumps. The system is designed so anyone can keep up. If ...

  3. 手语识别 机器学习_机器学习入门实践,让机器识别一只猫

    小天导读:如何让机器识别一只猫?本文从人认识猫的基本方法入手,讲解如何训练机器获得模型的主要步骤,并进行简单的实践,分享了机器学习的一个基本原理--梯度下降实现线性回归.一  是什么是机器学习,为什么 ...

  4. 用Python下载一只猫

    访问网站: http://placekitten.com/g/200/300 就可以得到一只猫的照片 你可以使用右键图片另存为将其保存到本地 现在用Python来实现 import urllib.re ...

  5. 几行代码养只猫,心情瞬间好多了

    或枯燥或有趣的技术学习,都不妨碍一只憨态可掬的萌猫卧在你的网页上 浏览博客的时候经常会看到一个二次元的小姐姐或轻轻摇头或眨巴眼睛似在与你互动甚是可爱,就像下边这样 曾想了解是如何实现的,奈何本身不懂前 ...

  6. 你确定自己不是那只猫吗

    成为猫与养猫 小的时候,小夕曾被告知兔子可爱是因为喜欢吃萝卜,导致小夕吃了好多萝北.上学后,会哄着小夕学习的就是好老师,强行让小夕背书的肯定是坏老师.找工作时,HR会给小夕画大饼,让小夕觉得自己即将去 ...

  7. 一只猫引发的互联网争论

    还记得不久前那条"蓝黑"or"白金"的裙子吗?在对于裙子颜色的争论稍微平息的时候,另一位主角华丽登场,这次,一只楼梯上的虎斑猫再次掀起争论. 事情是这样的,有人 ...

  8. 诗和远方:无题(五十二)- 写给认识的一个老姐的两只猫

    在网络上里认识了一个老姐,她养了两只猫,分别叫墨颜和金枪,于是我说我给两只猫写一首诗吧: 墨雨挥洒心系画,颜神并茂聚笔尖 与时逝去纸无迹,篱外细看意浮生 金穗稻满秋意浓,黑土深扎草人立 枪指何方谁可知 ...

  9. unity打开一片黑_黑花儿和白花儿——记我家的两只猫星人

    文|韩淑霞 我家有两只猫:一只叫黑花儿,一只叫白花儿,是儿子从宠物市场买来的.一想起它俩,我的心里就暖暖的,宛若想起了久别的老朋友. 白花儿早黑花儿十多天进的家门儿.才来的时候,它还站立不稳,一周以后 ...

最新文章

  1. 对不起,亲爱的,我将离开你
  2. 一次OutOfMemoryError: GC overhead limit exceeded
  3. (一)boost库之日期、时间
  4. 格雷编码Python解法
  5. oracle重新编译package,如何有效的编译数据库中的失效对象(Package,trigger等)
  6. 重置线程中断状态_记住要重置线程上下文类加载器
  7. 散点画三维曲面图_UG 复杂曲面合金零件的数控加工
  8. 在c#中用mutex类实现线程的互斥_面试官经常问的synchronized实现原理和锁升级过程,你真的了解吗...
  9. 物联网通信之Coap 协议
  10. 网课学习:PDF阅读器,Blumind思维导图
  11. 第九讲 数据采集:用八爪鱼采集微博评论
  12. 【联盛德W806上手笔记】十、ADC
  13. 中国大学mooc c语言作业,中国大学mooc程序设计入门——C语言:第三周测验(示例代码)...
  14. 使用WebGL 自定义 3D 摄像头监控模型
  15. End event threw exception
  16. 2022 年值得关注的 8 个人工智能趋势
  17. 2022年度安徽省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛试题
  18. 《OpenDRIVE1.6规格文档》2
  19. 搜索引擎site关键字的站内搜索
  20. vscode设置启动时不打开上一次目录

热门文章

  1. Java基础入门笔记-字符串
  2. Java基础入门笔记-数组对象
  3. 计算机组成原理个人笔记(一)
  4. 6.6.1最优二叉树(赫夫曼树)
  5. matlab表示时间集合,matlab集合操作
  6. 惠普打印机换硒鼓图解_佳能2900打印机硒鼓加粉图解教程,旅行诗人俊仔拆硒鼓加粉系列2...
  7. mysql 安装1607_mysql服务启动报1607error
  8. 计算机指令要素,【计算机系统】CPU指令执行流程与指令流水线原理
  9. k2p 官方固件_继斐讯K2P之后,红米AC2100也将成一代路由器神机?
  10. 天地图卫星地图_AutoCAD使用卫星地图