2020-12-19

关于探探

前段时间比较有空,于是体验了下探探.

一个感受是付费引导蛮咄咄逼人的.
但是设计上基本上是以功能性障碍为主.

除开一些像like数的诱导消费存在之外,本身并不是又一个很好的持续性的付费动机.

所以感觉即使能破冰,会有下一步付费动机的可能性应该还是不大的.

就滑动看到的概率来说,可能不到10%.

不过除了这些点之外似乎也没有一个合理可行的付费点设计.

因为社交产品本身并不能够说成为一个付费产品.
对于大多数社交思路来说,还是一种冷启动的陌生关系为基础,本身就不存在什么特别需要倾注的价值前提.

即使有诸如交易性的倾向的话,也并不是一个能够成为付费点的东西.
毕竟很难屏蔽具体的交易和交流方式.

淘宝之类的能够做到平台独占和依赖性的原因主要在于交易频次.

而社交产生的价值不大可能是一个高频次的附加产品.

另外一个更本质性一点的就是社交产品的冷启动问题.

无论是号称兴趣为主的算法驱动还是其他地域之类的启动方式.
核心本质要解决的是初始信息流的产生的问题.

像微博知乎等产品,实际的体验其实跟加入的时间先后有相当的关系.

一个是平台本身的用户氛围.
一个是平台干涉的程度不同.

探探启动的一个众所周知的就是真实用户数的问题.

真实性一个是来源于平台本身的推送数据.
另外一个是用户本身.

对于后者有发现一个比较有趣的现象或者模式.

某一个match的结果用户,在某个时间点会重新制造profile.
也就是说会把照片和时间线信息等清空,然后重新用另外的人设和照片等装饰一番.

这个其实算是某种程度上反映了至少是一部分用户的平台玩法.

以一种另类的cosplay的方式做某种形式的生活体验.
因为原则上来说,一般不太会去关注或者说发现这些变化.

某种程度上来说,各种滤镜和PS的存在实际上也是这种身份重构建的一个思路.

所不同的是更多的是无意识的.

这可能也可以解释为什么说对于美颜的照片等形式用户会更愿意 暴露 自己.

一方面自然是处于某种审美性的满足需求.

另一方面可能更多是一种面具和无关性的防火墙设施.
跟真实身份的关联性其实并没有太多的关系,形成一个相对微妙的公开性的匿名形式.

对于平台推送数据的真实性这块其实并不是太好推断.

做过一些测试,例如范围限定尽可能地窄等.

确实是有可能出现推荐用尽的情况.

但是这里带来的一个疑问就是,隔天或者隔段时间这个是会被fill的.
而且另外一点就是,其实位置服务并没有授权,推荐能感知的可能更多的是ip/wifi等带来的geo信息.

即使假设说geo位置的推荐是可靠的,那么带来的另外一个问题是,用户数量的密度.

一个是不是真地有那么密集.
第二个是即使有,对应的状态选取是怎么确定的.

以几公里范围算,人口估计几十万.
推荐几十个算万分之一的话.

千万人口也就是几万用户.

似乎也算合理.

不过根据直观感受来说的话,应该有相当部分是fake profile.
所以如果据此反推的话,真实用户数其实比较堪忧.
而且从构造的各种人设来看的话,其实风格还是相对比较统一的.

可能某种程度上确实算是真实用户,只不过是类似游戏中的运营之类的性质.

另外一个就是关闭男女限制之后的一些体验.

在实际的十来个mach当中,大概有两个是男性.

一个的身份相对真实.
是一个类blue App的应该是算法程序之类的小哥,直接写在bio里.

另外一个是有些美颜过度的小哥,照片还挺多.
其他信息留白,这点倒是更像真实用户.
因为bot的话,其实更容易丰富信息,反而真人会有各种顾虑和限制暴露的想法.

所以这个倒有点意外.

有调研类的用户存在这点可以理解.
但是有潜在的blue用户这点倒是出乎意料.

当然,也有可能实际上是一些多样化的bot的情况.

在翻看男女的Albums的时候有一个比较明显的体验区别.

就是女性Albums下的留言其实是比较预期的风格的.

但是男性下面的女性留言则更显得普通正常一些.
如果单单看对话的话,可能和其他平台的交流没什么太多的区别.

当然,是也有部分风格是跟男性留言是类似的.
但总体来说,会更正常一些.

所以某种程度上来说,可能更适合以一种女性向的角度去设计的场景.
因为带社交交流性质和行为的用户更多的是倾向于女性立场的.

探探的另外一个主要部分是直播.

有时候觉得,如果单拎出来看的话,直播更多更像是一种谈话性的访谈节目.
主要是是主播和里面的观众的一些互动聊天.

当然,也存在一些主要是唱歌等才艺为主的.

但简单来说,可能更多的还是提供服务形式的差异问题.

它们有个比较共同的特质是会比较频繁地喝水.
这个也很容易理解.
因为强度放在那里.

有观察follow几个主播.
有些是几乎一天24小时都在的.
有些是有相对固定的时间段,比如晚上.

从直播间的一些聊天得到的消息是,大多数来说是有所谓工会组织的.
形式上就是从属与一个公司下面.

像某个几乎全天的主播就曾经说过,没事会去公司上播.

但似乎并不是有强制性的班次安排的.
更多的可能是一种类提成的形式.

因为有一些主播也谈过工会有表露过希望它加播的意向,但它自己选择了不.

至少说明多多少少还是一个双向的过程.

但多少少少似乎是除了主播之外没有其他职业的.
即使是其中一位非全天固定时段的,也说白天主要是休息.

当然,这可能更多的是一种防火墙措施.
尽可能地隔离真实情况所做的一些人设.

但是对于全天性的主播来说,上播的状态无论如何都是实际存在的.

查过下里面打赏的换算比例,大概是1:100.
follow的几位里面可能平均也就几万,几十万的样子.
也就是一天或者一晚上下来几百块.

如果勤快的话,确实收入也有一定.
只是不知道工会那边的比例分成怎么样.

对于才艺类的主播似乎大多数是艺校出身.

这个倒也不难理解.

一个是基本功还是能听出来一些.
第二个可能更现实的是,一般技校确实可能就业比较难.

所以某种程度上来说,确实可能是一个比较好的新兴行业.

一方是才艺就业.
一方是访谈消费.

某种程度上来说,可能是一个去掉中间商的bar的驻唱形式的存在.

或者说是一个没有酒馆的酒馆老板娘的形式.





2020-11-28

阴谋论

考虑以美元计价的黄金价格变动.

如果黄金价格下跌,那么也就意味着对应的美元计价的降低.

假如市场是教科书式的联动关系,那么对应的一些可置换的关系应该也是随之变化平衡的.

但是考虑人民币对美元汇率.

理论上来说,美元计价的黄金价格下跌,那么对应的人民币计价应该也随之调整.
不然的话人民币和美元利率之间就存在套利空间.

套利的结果是创造或者说盘活了更多的美元流动性.
而代价可能是对应的外汇储备.

而如果保持人民币计价黄金价格的对等性的话.
要么是有同样的卖出行为,以实际成交推动价格的趋同和汇率锚定.

要么是调整汇率,通过票面价格来实现联动.

前者的代价是黄金储备.
后者是比较微妙和敏感的汇率手段.

如果是通过汇率手段的话,理论上来说无论是离岸还是官方牌价,本质上都还是被动追踪美元的变化趋势.
也就是一定程度上的是需要根据美国货币政策来反应.

而相对宽松的货币政策预期跟国内的一些趋势来说,是不太合适的.

因为潜在的不良率.

那么剩下的就是要么通过黄金交易来继续同步.
或者允许汇率和金价的一定范围的背离,通过其他方式来控制套利规模.

如果不考虑人民币的进一步独立化国际化的话,那么套利规模应该是可控的.
因为这个应该算一直以来的模式.

但是如果以人民币目前的经济地位需求预期来说的话,过于弱的市场化特性可能并不是一个很好的信号.
尽管在当前新冠疫情的格局下,可能有其他因素能够减弱这方面的顾虑.

但长久来说,非市场化的汇率关系多多少少会有一些隔阂.
因为它并不一定能即使反应市场的某些情绪,从而使得货币本身能够成为一种主要的套利动机,进而对基于此的一般商业因素引入更多的货币方面的不确定性因素,增加风险考虑.

而如果弱化管制的话,那么价格的背离一方面会促使人民币作为美元流动性的一个媒介,持续不断地制造流通的美元.
一方面可能对外汇储备有一定影响,一方面从数值方面来说,是人民币对美元的升值关系.

这个倒也不是说完全是坏事.

因为从人民币作为一种通用国际交易货币这个理念来说,本币升值某种程度上能作为一种国际信用增加的背书.
另一方面地位提升下的外汇的变动可能反而是一个需要且健康的去依赖过程.

但这个是建立在人民币的国际信用接受程度上的.

如果不是的话,可能效果就是相反的.

这样的话,黄金的跟进交易可能就是一个相对风险因素没那么多的一个策略.

因为一方面规模上的可控没那么多道德负担.
另一方面这种可控带来的交易成本和代价某种程度上来说也是相当有弹性的.

2020-11-22

微妙的历史转折点

这两天在想一个问题.

说到直播带货可能都会提到一个渠道能力.
点在于一个是面向终端的全网最低价优势.
另一方面在于能拿到这个价格的对上有厂商对议价能力.

而桥接这两点的逻辑在于老话题,流量来源.

所以这一套理论的核心价值还是在于流量变现.
建立一个买家和卖家之间的通道.

那么基于这一套逻辑考虑为什么电商平台需要介意/介入直播这种方式.
因为电商平台本身就是这么一种通道.

而如果说直播的通道性比电商更好的话,那么又应该是体现在什么地方?

2020双十一的一个数据是,天猫成交近5千亿.
10月21到11月11的21天内,淘宝top 30带货销售总额是253亿,其中薇娅113亿,李佳琦78.7亿.

那么简单比较的话,直播所占的贡献比例只是不到5%.

所以单纯从这个数据来看的话,并不见得对于传统电商的营销渠道来说,有什么特别重大的变动.

考虑另外一组数据.

天猫双十一销售破亿的品牌超过450个,210万个线下小店参与.

也就是有大约至少9%的整体成交是来源于头部的这几百个品牌商家.

算10%头部,剩下90%由这210w商家构成的话.
那么也就是平均每个商家21w左右的销售额,日均1w.

考虑到直播本身的特性,理论上来说是不太可能覆盖到这210w的长尾商家的.
所以,253亿的构成应该大部分跟450个商家有一定的重合度.

那么以这个数据为基础的话,实际上直播通道的是这些头部商家和终端消费者的路径.

而从体量上来说,即使算总共450亿的存量,那么整个直播也就占比就是56%左右.

从整个平台的角度来说,直播带来的或者说转移的成交是有限的.
因为平台的GMV体量主要是中小商家累计起来的.

但是如果以头部大商家的角度考虑的话,那么相当于可以有一半左右的渠道流量从平台切换到直播.
而直播本身的特性代表了这种转化率会比传统平台的广告等宣传手段更快速见效,并且更具有预测性和数据反馈.

从成本和周转周期角度看的话,直播的渠道是更优于传统电商或者说互联网广告等推广模式的.

但是这个会是或者说应该成为平台考虑的点么?

假设头部商家从平台流失到直播,对于平台来说,仅从整体数字上看其实并没有太大的影响.

除非实际的中小商家的真实有效成交量并没有那么高.

但即使砍掉一半,从数字的角度来说,问题也不算很严重.
因为不够也就是10-20%左右的折损.

换一个角度.

直播本质上来说是一种娱乐消费品的衍生物.
与其说是一种电视销售的变种,不如说是另外一种形式的访谈娱乐节目.

只不过受访者是商品本身而已.

所以它带来的一个约束是时间的独占性质.

从移动互联网或者更早的PC软件时代,存在感和独占性就一直是所谓互联网模式的一个主要核心.
只不过PC时代主要是利用工具性侵入,而移动互联网的App则更赤裸裸一点.

依靠App推送广告通知已经不太能有效触达用户了.
一方面是因为包括OS在内的各方对隐私权利的各种心思.

另一方可能更实在的是各家的信息推送已经实际上overload了认知.
触达的有效性已经可能基本上谈不上存在了.

所以各种植入性的变种会更依赖于用户的使用习惯和倾向.

就像某种程度上来说,游戏本质上就是完全独占地侵入和植入了用户习惯.
因为使用的行为本身就是一个消费理念的植入过程.

或者说游戏的付费行为本身就是一个不简单的购买行为.

所以以这个思路看待直播的话,本质上就类似于游戏的时间付费性质.

给定一定的转化率,那么观看参与人数就是直接的成交量估算

理论上,再根据这个数据就可以得出一个比如说user value per second(UVPS)的概念.

相较于一般的所谓LTV,这可能就是一个更血腥的KPI指标.

在这个基础上,假定有一个稳定的UVPS.
那么从运营和商家的角度来说,时长就是一个相对确定性的销量换算.

在给定的时长内,曝光越多产品,那么相应的直播收入就越高.
而UVPS越高,那么商家在给定时长内能换算的销售额就越高.

于是在UVPS上,直播和商家是存在着某种程度的共同利益.

提高UVPS和时长.

而提高时长就意味着在用户行为中所占的比例越高.

在当前移动手机消费作为一个主体趋势和道路不变的前提下,用户时间并不具有太多的可变弹性.

沉浸于一个App的另一面就意味着放弃另外一个App的同等使用时间.
变相地,就是缩短了使用时长.

这个对于依赖于流量和粘性的商业模式来说,都不算是一个好的信号.

所以,如果基于角度考虑的话,平台实际上是限于两难局面的.

一方面如果直播成为一种习惯,那么就存在用户行为改变带来的间接的流量模式支持的失效.

另一方面直播本身并不构成一个大的营收比例,做了也不过是维持活跃度和粘性.
某种程度上来说是属于成本性的客户维系支出.

这么看的话,直播确实算是一个比较有趣的东西.

因为从市场量来说,它并不算是一个增长.
甚至于某种程度上来说,将会是一个倒退.

但是又确确实实地可能不得不往这个方向走.

微妙的历史转折点.

2020-11-04

细节

前段时间去汶川逛了下.

除了一些惯常的政宣强化之外,还注意到了另外一些东西.
那就是绿水青山就是金山银山这类美丽中国的概念.

回忆了下,这个应该也有段时间了.
而且考虑到环保问题,感觉也还是有相当到连续性的.

像汶川和映秀这类,一个是遭受了严重自然灾害.
一个是本来就没有什么经济支柱.

通过发展旅游业去作为一个经济依赖,也算个常规或者说久已有之的思路.

毕竟不是所有地方都能够有特色经济产出,或者能够有天时地利人和做招商引资.

尤其在现在城市越来越规模化的情况下,本来小城镇一方面就因为就业机会不多,加上人口的结构变化,更多地会像中心城市靠拢.

而投资环境本来就是跟着人走的.
没有人口,也很难会有成功有效的投资.

尽管有一些举国体制下的特例存在.
但终究不能作为一种普遍可适的渠道/方案.

所以,与其去大兴土木做一些几乎没有回报率的事情,倒不如保持现状.
然后赋予旅游业的意义.

但是也并不是每个地方都有旅游资源或者说能够吸引人,存在开发机会.
像映秀本身就可能是个典型的普通地不能再普通的地方.

那么这种情况下还存在靠旅游支撑经济收入的可能性么?

映秀的解决方式是爱国主义教育基地.

这个某种程度上就是一种举国体制的扶贫倾向.

不管是以什么形式或者说口号理由,实际上带来的是一个相对固定的人流和潜在消费.

即使说有相当部分是财政支出转移的,那至少也是一种合乎正当的转移方式.

而且考虑创造人流带动消费轮转,本身就是一种比较典型的凯恩斯主义.
只不过这里的信用扩张是以一种前所未有的形态出现而已.

所以如果把绿色中国,美丽中国,扶贫,内循环等糅合在一起看的话.
其实就是某种保持现有村落结构的一种近似维稳的情况.

通过一些概念实现大城市和小城镇之间的双向流动.

说双向流动可能也不太准确.

因为就目前或者近期来说,一般也只是增加中心城市到小城镇的消费支付,以此来可能性地减少小城镇的人口流出和消亡.

一个能预想到的好的结构是重新变得相对对等.
即解决的城市规模不断膨胀的问题,又解决城镇不断消失衰落的问题.

某种程度上来说还是一种平均的思路.

因为如果不尽可能地保护城镇的存在的话,对于整个居住结构会是一个相当大的问题.

村落城镇城市的形成总是由于定居聚集产生的.

把每个定居点考虑为网络结构节点的话,那么整个版图作为一个网络结构就存在稀疏性的差异.

群居点如果靠近的话,那么就又可能合并或者产生新的中心节点.

理想的情况下当就是合适的密度使得每个群居节点都不大不小恰好适当.
这样不管对自然压力还是居住舒适度来说都是有一个合适水平.

但是像现在经济发展不平衡,人口不断涌向超一线和一线等.
村落的消失只会让这个网络变得更加稀疏,使得节点越来越膨胀.

而单位面积人口的数量跟生存竞争性压力是有一定正相关的.
因为资源不能无限制或者说一直跟人口增长保持线性以上关系.

当边际为负的情况下,就存在不舒适感了.

所以提城镇化,美丽中国不过是要把格局重新回到一个相对平坦的局面.

如果这么考虑的话,那么美丽中国其实不失为一个积极的方式.
与之相比的就是行政性副中心等强制性分流的消极方式.

但是这么一个看似完美的方案具有实际的可行性么?

如果说是以纯旅游资源,或者更抽象地说,依靠内循环去抚平地区差异的话.
那么反过来说,需要有一个相当程度的力量去对抗造成差异的根本原因.

这个就需要相当细节了.

2020-09-06

平均

制度化的优势在于可预见性. 
对于行为评价的可期性约束带来的对后果的浮动范围的一个可控选择.

所以它带来的一个问题就是对于超越预期的不期待.

因为从整体上来看,目标的确定性并不要求具体到个体的超越性要求.
设计构建之初的指标化和数值化使得对于目的明确的架构来说,并不对这种above average有更高的期望和要求.

但是事实上的制度实现会往往会使得这种个体要求呈现一种往上浮动的情况.

这个基于的一个条件在于需求和供给的不一直平衡性.

在给定约束和候选的情况下,候选之间的评价标准往往并不跟约束相关的评价标准所有直接关系.

满足需求的一个前置和唯一前提在于满足基本约束即可.
但是这个排序的优先顺序并不是同一个概念.

一个top N的选择并不要求或者说限定N的分布形态.
或者说跟整体的分布形态保持一致.

一个极端但并不算不现实的例子就是,一个无学历需求的岗位所最终确定的是高学历的人.

所以这个事实上的超越性结果来源在于竞争排序的分布形态.

考虑这种学历需求的结构.

理论上来说,这个应该是一个金字塔型结构.
因为无论如何在每个层次,人数只能是减少而不会凭空增多.

那么理想的匹配情况就是每个层级都是相对满足的.
也就是说理论上刚刚好供需平衡.

存在一个向下兼容的情况的话,也就因为这个层级k的无法向本层级以及上一层级做适配.

而无法向上做适配的原因一在于不是适格主体,或者说不具备相应的适配条件.

另一个原因就是递归性的,具有资质但是不具备相应层级的需求.
或者说因为上一层级同样存在这种过度供给的情况.

类似的.

如果把社会的不同侧面看作是这种金字塔群结构的话.
那么一个个体n它可以从属于k个不同的金字塔的不同的阶层i.

对于所处的每一个金字塔结构来说,存在适格和不适格两种状态.

不适格状态的一个引申意义就是,对于不适格的个体j,对应的就是一个连锁的被动适格阶层k的一个潜在不适格处理.

也就是说,j可能向上往一个空闲的阶层跻身,或者向下抢占k所本能占有的下层阶级位置.

数值化以下就是对于个体individual i,一个k作为标识的层级pyramid p序列,以及以m为标示的在某个p_k中的阶层class c.
如果以某种score s表示的话.
一个综合数值化就是\sum p_k * c_m * s_n 

而不适格就意味着至少存在一个项
从p_k *c_m*s_n降为
p_k*c_(m-1) * s_n.

对应的存在递归的m-1层级的另一人从
p_k*c_(m-1) * s_n.变为
p_k*c_(m-2) * s_n.

直至存在一个q使得m-1=0

也就是说一个不适产生的最坏影响是
p_k*s_n * \sum_{q=0}^{q=m-1} c_{m-q}-c_{m-q-1}

即自m阶层以下的每个阶层的相对差额累计.

考虑p不是相对独立而是一个互相影响的交叉动态系统.
比如消费降级的i,减少的score的意义实际上是另外一个p里的需求阶层的缩减.

也就说假设p之间是一个cascade的过程.

那么整体scroe的缩减可能是个非常快速的过程.

但是它必然是一个链条很长的计算序列么?

在考虑有级联的情况下,整体score的数值取决于两个方面.

一个是m.
评价的是饱和层级的高度纵深.
也就是m本身的位置和向下触达的最深饱和层级.

一个是触发波及的阈值.
也就是某个p对另一p的各层级的饱和程度影响.

所以本质上来说,它的结构稳定性取决于每个层级的吸收能力.

考虑一个构造一个稳定系统.

那么前面说了,稳定性来源于每个层级的缓冲吸收能力.

当然,还有层级变动的频次.
少变动的话自然不存在说变迁造成的计算问题.
但这是相对静态的.

而系统一旦动态化,那么就必然需要重新计算均衡点.

如果每个层级的buffer空间都足够的化,那么也还是相对静态化的.
因为不存在溢出的propagate和横向的被动计算.

但是要求每个层级都存在buffer是不太现实的.

从propagate的角度来说,越上层的一旦产生downward,那么其对score减值的影响就越大.

所以从这个角度来说,上层的buffer优先级更优于下层.

而金字塔结构也决定了,相对地即使按照百分比,上层的百分比绝对数值需求也低于下层.
buffer的效率或者说需求更economic一些.

从相邻层级的角度来看,两个层级的绝对数值越接近,那么对应的就要求下层的buffer空间越多.
因为不然的话,就必然继续递归地向下波及.

于是这个要求的就必然是层级之间的数量需要有一个绝对值间的显著差异.
这样才能存在一个相对合理的代价去容纳和阻却影响.

按照这个思路如果简单用幂级的话,也就因为着给定总数的话,层级并不会太多/深.
或者说总体来说,对于大部分不会有太大的差异.

也就是它应该是一个更扁平或者说平均主义的一种金字塔形态.

那么对于p之间的波动影响呢?

如果每个p都是这种平均设计的话,实际上的影响就在于一旦发生挪动时候的计算复杂度.

而这个跟p的cluster密度有关.

一个显而易见的情况就是,如果p的变动只影响自身的话,那么就无所谓波动影响.

所以设计上,要么尽可能地独立p的存在,要么从根本上地限制p的多样性.

p的cluster/多样性越低,那么计算就越简单明了.

所以某种程度上来说,制度化本质上就是一种平均主义的内涵.

因为简单可控的一个便捷实现就是变量和计算尽可能地少和直接.

2020-08-23

问题与问题

最近在用quic-go写个代理.

开始的想法是兼容socks5协议之后,透明地端对端.
只不过传输部分从tcp变为quic.

因为看接口是兼容io.ReadWrite的.
所以最简单的想法就是直接copy到服务端之后再考虑协议解析.

写了一部分之后发现socks5协议其实算是支持重定向的.
response部分带有bind的地址和端口信息.

理论上client端应该是利用这个信息重新连接到指定地址和端口做流量copy的.

这样的话从协议角度,client端还是会利用tcp去连接对应服务端口.
所以从协议角度来说,需要让这段response里的IP/port信息是本地的端口.

也就是一般实现的,socks5的client会在这个response后复用现有连接.

那么这里的一个问题是,服务端可能并不知道这个local listening的端口是什么.

当然,这里可以约定一个固定端口.

但是更flexible的是能够有一个机制适应这端口.

所以无非就是intercept一些协议,把本地端口信息给对端, 然后在原始协议里echo回来.
要么是local端在解析response的时候modify回本地信息.

但这样的话就意味着两端有一个协议上的握手阶段.
以为遵循的是原始socsk5里的握手协定.

当然,实现上可以把modified的response speculate地返回给发起方,然后再去连接对端.
因为实际上如果能正常连接的话,返回的响应内容是预先知道/固定的.

但这里但问题就是,其实就没有必要跟对端但协议也是走socks5了.
因为如果把socks5的整个流程放在本地,local完成之后再起一套新的协议走quic的话就简单很多.

所以目前的做法是在本地走完socks5的流程之后,再简单地把目标host和port通知quic,然后就直接互相copy后续的流量了.

因为目前这个协议是没有做校验/鉴权的.
所以理论上来说从协议角度,可以去连接比如内网的机器.

当然,这个对于socks5的非鉴权模式也是有这个问题.

而这类tunnel服务的另外一个可能更现实一点的问题就是,如果能把tunnel目标的信息部分更改/替换为特定的服务ip端口的话,实际是很容易定点发现的.
因为只要这个服务目标单一,凡是连接过来的都是susceptive的.

连接内容加密的话或者说明文部分特征不明显的话,相对来说问题没那么明显.
但问题可能就是加密协议的白名单机制了.

另外一个问题就是,想tcp这类有状态的协议,通过构造异常中断连接回比较轻松.
以为需要关注的包的数量不会太多.

但是udp的话因为本身无状态,所以如果要track的话成本会比较高.
因为像quic这类encapsulate可以无限做下去,只要还有允许的协议存在.'

所以最坏的情况可能就是udp整个被去掉.

当然,理论上来说也可以把类似udp的逻辑over tcp,同样embed在合法的协议里面.

如果是到这样一个地步的话,可能就是服务注册制了.
未经允许的服务不得运行,保证协议的可读性和可控豁免.

某种程度上目前的网站备案制就是了.
像云服务上未备案的对应http服务等.

这些其实没什么好说的.
毕竟也没有什么解决方案.

只是个纯粹问题.

另外一些就是关于go本身的一些体验或者说不太便利的地方吧.

原则上来说,go的设计会比较适合做服务端尤其是这类网络方面的应用.
因为netpoller和syscall的隐式coroutine调用会使得写的时候认知负担没那么重.

比如如果是java等写网络io,通常需要select配合线程调度去把io尽可能地并发处理起来.
而go则是把这类syscall的G调度suspend,等ready的时候再resume回来.

虽然这类行为在其他语言上也不是不能实现模仿.
但是也只是针对network的一个特殊场景.
以及局限在语言和库提供的表达能力上.

但是像http.get之类的就依赖于库的表现了.
而且从一般调用上来说,即使提供了异步接口,还是需要写一些逻辑去做简单调度.

比如,
// search something
result = http.search()
// audit log
audit.log(event)

其中search是blocking的.
也就是意味着当前线程是被block的.
而一般这个线程会是属于一个有限数量的线程池资源里的一个.
block的结果就意味着可能负载能力的一个限制.

变通的一种方式是
http.server()
    .then(()->audit.log())
这类promise/future的回调方式.

但它本质上也是需要对应blocking的底层是提供了类似epoll这类有限blocking的实现的.
像如果里面涉及到文件io读写的话,又不是pollable的话,就是block谁/哪个线程池的问题了.

而这里的认知负担就在于需要比较清楚一个方法调用的开销和block状态.
以便是否需要做异步化.

这个就是go的syscall调度的隐式coroutine的一点优势了.
runtime层面就会做这些关键调用的suspend和resume.
所以可以比较不用太关心这类资源的使用问题.

但是goroutine的问题在于,它形态上是一样完全异步的过程.
一旦go出去之后是没什么控制权的. 
而有时这种有时需要的.

比如
go rpc(endpoint1)
go rpc(endpoint2)
这种race访问同样服务的不同实例,以期减少/抹掉服务异常导致的tail latency的场景.

你需要得到早返回的一个,同时尽可能地cancel另外一个.
以标准库的方式的话,可能就需要

go rpc(endpoint1,chan1,ctx1)
go rpc(endpoint2,chan2,ctx2)

select {
  case <-chan1: ctx2.cancel()
  case <-chan2: ctx1.cancle()  
}

而这种场景下,其他语言可能就是
promise.race(
  promise.ask(()->rpc(endpoint1)),
  promise.ask(()->rpc(endpoint2))
).join()

当然,后者这里可能只是库封装程度的问题.

但是考虑如果要在go里实现类似的风格的话.
你需要额外的ctx和chan对象,或者合并为一个struct.

所以最终形态可能是
ctx := ...
promise = Go(func(){rpc(endpoint)},ctx)

如果还需要又返回值和异常信息的话,ctx需要带的东西会更多.

目前标注库里的context接口是之后err和一个等价join/wait的Done() channel的.

所以如果要cover场景的话,至少还得扩展出cancel和value等部分.

而更麻烦的一点就在于,go没有范型 .
所以ctx对不同value要么需要单独适配,要么一个interface做type assert.

以及标准的error结构更多只是一个message的作用,你需要有其他机制/风格去带上堆栈信息.
比如直接堆栈成string带过去.
或者有在err的时候附带print stacktrace的风格.

当然,这里的范型问题只是个编译器问题.
就目前来说go的compiler生成的代码也不少.
做一个类型生成应该也不是太大的问题.

就像现在实际上对每个struct的value function都有生成一个对应的pointer value的版本的.
只要有用到的话.

由于没有运行期动态生成代码的方式,所以实际做类型擦除之类的应该也没什么问题.
毕竟像interface本身实现的机制就有点类似了.

其他的一些认知负担可能就是pass by value的一些点了.

因为如果pass by value,那么调用之间都是copy by value的.
像有深度调用链条,而每一层只需要一部分的就有可能逐步地下层少一些字段/小一些的结构.
所做的只是栈上/gstack上的动作.

理论上来说除了一些特殊的slice/map/chan之类的对象的话,其他都可以栈上解决.
没有/比较少gc的问题.

但是因为前面一些问题的存在,直观上写不逃逸的代码会比较麻烦或者说恶心.
尤其像匿名function,需要多一层参数传递.

而且有时候不看compile optimization decision也想不到.

而这么做的效果/代价其实也可能根本划不来.
一个是维护成本/可读性问题.
一个是拷贝的累计代价问题.

所以这个怎么说呢,也是一个问题和解决方案的事情.
大多数时候其实也不太现实.

只不够可能是确实有解决方案存在而已.


2020-07-06

殖民与其他

看到篇文章,谈后疫情时代航天机会的.

文章本身倒没什么,更多的是某种澳大利亚立场,认为航天尤其SpaceX等带来的一些想象力问题.

然后想到的是如果外层空间已经能够商用居住或者至少能够商用了的话.
对于当下的社会现状可能就会有一种根本性的变化吧.

空间上的合理合法的居住隔离.
商业上的空天范围的一层隔离信道.

就像诸多高达背景设定一样.
代表联邦的旧势力和新型阶级的自然隔离.

当然所不同的可能是现实先有了矛盾.

像BLM或者平权运动你很难说是错的.
因为宏观上来说,即使是过度平均主义化,本身也是一种相对良性的发展.

之前还有篇文章谈inefficiency的.
大意是疫情暴露的商业决策上,过于强调效率而忽视了风险配置.

某种程度上来说,这是另一种全球化配置要求.
像供应链的容灾配置架构.

过往的全球化追求的是效率和价格要素的平衡需求.
而inefficiency指责的实际是这种平衡方程的变量要素的过于单一化.

尽管着眼点在于或者说是由于风险因素引出的.

纯粹点来说,就是过往既有的解法在于optimize某个目标.
是一个主动converge的过程.

而这就决定了是有polarize倾向的.

平均主义或者说过度的平均主义从形式上来说是对这种倾向的regularize.

尽管它并不能保证本身或者后果是非optimal的.

但是它本身的问题在于会把解带回到类stochastic的情况.

一个理念或者说一种思想只要不是存在特别明显的漏洞总是能被人们找到合理的解释从而接受的.
甚至于即使存在明显的逻辑上的不自洽,依然能够被人接受的.

因为人的决策是一个复杂的多因素,而且是含有自身以外其他人所不得知的隐藏加权性质的.
而在构成一个群体的时候,更容易地各自消减形成一个看上去可能根本不合理的群体相消之后解局面.

所以你可以看到在即便疫情严重的情况下,也可能还是会有狂热的聚集活动.
即使可能分别属于不同的群体特征.

但因为都是群体性的,所以反映出来的不合理表现其实是各个个体某种合理诉求被消弭之后的情况.

停工停产带来的迫真生活诉求.
闲散人员的消遣诉求.
投机主义的机会主义诉求.

甚至可能是某种政治上的冷血性诉求.

在支撑制造业的口号与企业复工带来的经济人文风险的矛盾.

在本来经济复苏不明朗的情况下,企业很难说能够主动地去承担风险.
或者说对对应风险的抵抗能力是企业能力之外的.

一个是本身的营业利润成本压力.
一方面是人员的人身赔偿风险.

所以对于企业来说,保守的只能是削减开支等待变化.

尤其本身经济在某种程度上已经是到了缺乏创新支持的时候.
有一个合理的结构中止,加上可能财政政策上的一些倾向性.
企业尤其制造业在不明朗或者统一步伐的前提下,是很难打破这种囚徒困境的.

而对应的制造业工人作为末端消化者面对的自然是基本的生活问题.

所以即使不太可行,作为以制造业工人为基础的决策倾向来说的话,也只能是推动复工复产.

至于病情方面,如果不能支撑到11月,那在政治层面上就没什么特别的意义.
而反过来说,只要还能支撑到11月,后面能不能继续其实关系不是很大了.

对于racist的支持也是类似的道理.

固然一方面有本来自身的某种stereotype.
但是从宏观的角度来说,制造业工人的这种stereotype可能更为深厚.

那么作为争取者来说,也不太可能去往反方向提倡的.

在这种平权运动的冲击下的是另外几方面的人.

支持,中立,反对和投机的部分.

过激化导致可能是一些有支持立场的往表面中立转化.

毕竟在troll化的当代,你很难用道理划清界限.
第一时间妥协可能是尽早结束争端的唯一解决方式.

在这种情况下,如果一个阵营策略是讨好过激方的话,那么政策承诺上也一定会有一些倾斜.
而这种倾斜对应的可能是这种社交暴力的进一步的维持和增强.

那么对于表面中立的部分来说,即使另一阵营可能也谈不上合适.
但选择非过激阵营的要素位置会有某种程度的倾斜上升.

所以你很难说这个插曲会有什么样的具体影响.

也许有.
也许就只是个插曲,对结果影响并不显著.

而即使最终地,会有某种全球化的重新解构,那应该也是针对多样性/风险规避的重新组织.

在成本控制之外的,对于地域风险依赖的一种偏好.

如果是更为保守的风险偏好的化,那么即便还会有全球化或者说跨国合作常态的化,也会是一些非壁垒性产品的世界工厂配置.

因为只有足够成熟通用低门槛的东西才能够做到elastic的异地部署.

这样的话,在没有排他协议的前提下.
也不能说全球化消失了.
甚至于应该说它增强了.

在本来劳动密集意义上的工业殖民全球化转向一种风险偏好驱动的工业容灾性殖民.

当今的技术细分程度,一旦作为工业附属依赖经济,可能就不是一个容易有第二条路的时代.

2020-06-20

玛利亚之墙

按人口数折算了下几个国家的累计确诊人数比例.
美国巴西是差不多1%,英国0.4%,德国0.2%.

国内官方数据是8w,按16亿折算的话是0.005%.

用这个数据看的话,无论如何国内外是不能相提并论的.

那么基于这个基础上考虑人口流动的策略.

在没有疫苗的前提下,高比例携带群体往低比例携带群体移动的话.
直觉上来说应该是要把低比例部分往上提的.

虽然存在着不通的变种,感染性也许有不太一样的地方.

但从另一个角度来说,相当于把低比例群体的浓度提升了.
这样的话,如果说存在一个爆发阈值的存在.
那么比例的提升就意味着概率的增加.

而从武汉的经验来说,国内大概是经受不住国外这种感染比例的.

至少从人群居住密度来说,是基本要瘫痪的.

以城市住宅楼算,一梯四户,每户三口算.
一层就是12人.
按平均25层算,一栋楼就是175人.

按美国1%的比例的话,基本上高层住宅就要封闭隔离的.

即使按千分之一算,大致也约等于一个小区至少有一例.
这种差不多就是3月份非武汉地区的情况.

所以以目前的防疫观念和制度来说,流入带来的潜在风险是不可控.
或者说不能具有系统性风险的.

而对于流出来说,只要存在回流的情况,那么结果也应该是类似的.
作为一种密切接触的同化过程.

所以从这个角度来说,人员上的流动是不太可能有比较正常化的可能的.

那么在国内外人员交流流动存在成本上升的情况下,作为一个企业来说,operation方面的成本应该也是随之增加的.

所以选项无非就是整体或者某种体系性地整块迁入或者迁出,做成本方面的切割.

对于主营或者运作非决定性依赖国内的,在这种成本无限上升的情况下,所能做的也就只有撤出.
而同样的,对于在国际市场上不能可靠地生存下来的,回流自然也是唯一的选择.

用一个词来形容可能就是内卷.
一种自然地有意无意的泾渭分明的趋势.

或者说某种程度上的被动性地闭关锁国也没有什么太大的问题.

而同样的,在这种前提下,之前的一些国际化一带一路之类的,也存在的类似的问题.

因为本质上来说,这是一种经济利益和社会结构稳定性方面的一个抉择.

这是人事/商业交流方面的.
那么,对于纯物的贸易交流呢?

这个估计依赖于检验检疫方面.
在可能的传播渠道进一步展开的前提下,物的交流受限可能不一定马上受到影响.
但存在着一种不确定的预期.

所谓的黑天鹅.

在这么一种围城的情况下,更多的可能是靠自身内部的经济运转来维持.

但是基于类似的理由以及近期北京的事件情况.
同样存在着一种不确定的中断节奏的可能性.

处于这点考虑的话,风险偏好理性上来说会相对偏向于保守.
因为对于中断或者中止的后果是非常难以控制和预料的.

一方面是由于疫情传播的模式和广泛程度有关.
另一方面是跟防控系统的反应模式有关.

一定程度上来说,可能就是病毒在现实里的一种免疫风暴作用.
在应激和过度应激之间,模糊不定.

如果说低风险偏好是一种共识的话.
那么对于低风险的具体定义可能就是对于中断和中止情况的损失承受能力的.

这种承受能力一方面是资金链的健康程度.
另一方面可能更多的是对于政策变化的生存适应性了.

而后者可能是一种更为微妙的情况.
因为实际上来说,企业对于政策并不是没有反作用能力的.

这样的一个指向结果可能就是更加地国家资本主义形态.

而经济层面的对其他结构体系的作用影响结果,可能并不是一个非常乐观的走向.

2020-06-07

不确定性

看到个视频,大意是个外国人谈自己无意识的种族歧视.

在来到国内之后因为初期语言不通被认为有障碍.
从而认为自己成为了少数族裔而切身感受到了被歧视的处境.

也就是说这里语境里的种族歧视racist和少数族裔minority是有内在关系的.

或者直接地说,少数族裔等同于种族歧视.

这个看起来是有点古怪的.

因为一般来说racist应该是跟某种stereotype有关的.
比如黑人的劳工历史.

在特定历史条件下的特定社会阶层所反映出来的一种固有社会印象.
从而基于这个印象作出了一系列社会性的连锁bias决策.

所以racist应该是跟某种人群的排斥性接受所关联在一起的.

但是如果把minority等价于racist的话,那么就意味着非majority的都是被排斥的.

这个初看是不太妥当和合理的.

但是仔细想下白人至上这类词的话,似乎也不是那么不可理喻.

对非majority的排斥性在于一种社会性身份认同的一个快速筛选过程.

简单地说,人类或者说大多数动物都有某种群聚性领地思维.
对于某个属地而言,对于群体之外的态度是排斥的.

这个主要是因为一种生存资源的独占性需求驱动的.

在人类社会可能就是某种形态的社会资源或者属性.

动物层面对于群体个体的认证是某种生物性的识别特征.
可能是气味也可能是其他.
表面是同属于一个部落的.

而人类社会实际上的识别方式会形式多样一些.
人种肤色这种显见的特色可以是一种直观的区分方式.
语言和口音也可以是一种区分方式.
甚至于citizen的行政级别划分也可以是一种区分方式.

或者其他更微妙的空气化/氛围化的划分方式.

那么基于这种排他性识别,相对于一个大致固定的群体来说.
自然对于某种尺度层面的majority,就存在对应程度的minority.

可以是人种也可以是性向,或者一些用来做排他识别的feature.

如果按照这种排他性作为minority的划分特征的化,说是racist也不算过分.

在这种广义或者可以说更为准确的定义下面.
种族歧视的范围是会别想象的广泛得多的.

比如地域,比如收入层次,比如居住区域.
只要是带有某种积极的权利不对等的划分情况存在的话,理论上都应该可以归纳到这种种族歧视的框架内.

那么反种族歧视的内核就应该对应的是类似平权运动之类的存在.

通过构造一种人为的对抗积极权利不对等的平衡架构.

但一个问题在于,维护这种政治正确带来但社会成本收益是什么.
或者说存在不存在值得不值得.

minority识别系统的存在在于维护保障majority的某种资源占有性.

而这种独占性是不能说一定就有益或者说有弊的.

比如商业上垄断.
甚至于说垄断本身也不一定就是有害的.

而平权的作用在于打破或者说弱化这种独占性.

形式上可能是削弱majority的既得利益,或者增加minority的获得利益.
取决于是零和还是非零和的.

本质上来说,就是一种平均主义的中庸化分配方式/制度.
一个简单的50-50的objective function.

所以这个损益计算取决于具体majority/minority的社会贡献价值体系的数值计算特征.

而实际上的计算会更复杂一些.

因为同一个个体在不通群体维度的majority/minority属性是不同的.
某个维度的平权调整可能或者说必然对其他维度的权值计算产生影响.

而一个平衡解可能本来就是不存在的.

一个例子就是学区学位.
你很难说一个个体,能入学和不能入学,哪个宏观收益会更大.

可能这个问题的本质在于有了太多的复杂的群分方式.
又或者根源上的资源稀缺性,或者说使用效率化.

所以有时候不得不觉得生产力高度发展后的按需分配,这种答案的取巧性.

你不可否认这是一个正确解.
但是可能并不是practical的.

因为它把constrain全部抹去了.

2020-05-05

关于Instagram

最近花了点时间在Instagram上,发觉有几点蛮有意思的.

一个是它的推荐反馈.

本来觉得冷启动的过程会比较漫长,但是意外的给人的感觉是实时反馈的.
也就是你在下滑的时候会发现前面的一些反馈动作在后续的瀑布流里面的权重已经有所提升.

这个挺有意思的.

按说如果是实时反馈的话,一个是对于网络质量其实并没有太大的信心.
而且是不太觉得会有这么高频的交互.

因为如果是实时高频交互的响应时间的保证和瀑布流的流畅性两个方面要做的事情会比较复杂.
推荐结果的响应效率,失败/超时的fallback,render的及时性和候选可替换性等.

很容易长时间的blank page.

所以估计是有一个基础的预处理推荐的集合,ranking之后preload/streaming到客户端.
然后在瀑布流的时候用一个local的ranker去重新排序和反馈/反应当前的偏好序列.

按体验上来说,估计这一个preload的recommend set会有至少7-8屏的量.
因为在之后确实容易出loading的状态.

而如果关掉重新启动app的话,除了首次loading会稍微肉眼可见的长一些之后,后续的几乎是无缝的.

另外一点就是点击推荐图片之后展开的列表项目,后续也是几乎是instant的.
但是交互比如like/save to collection,尤其follow会有一个相对明显的UI层面的状态翻转时间.

估计确实preload的部分会比较多,不然相对follow这种交互的延迟性来说的话,应该会比较惨不忍睹.

然后就是它的throttle/降级机制.

有那么一段时间调教的瀑布流都是各种妹子,日系美甲美发服装美妆.
即使比较倾向性的去激励其他种类的图片的话也很难出后续的推荐.

一个可能自然可能是前面的preload的原因,但另一个也应该是特征太dominant的情形.
一时走不出来.

正要感叹推荐系统的脆弱性的时候,短时间内尝试了比较频繁的整体下拉刷新刷新.

然后发觉貌似各系列的倾向性衰减了.
瀑布流的多样性明显回退 ,或者说丰富了起来.

也就是说,估计这种下拉刷新信号反馈进去了.
或者至少penalty了当前的ranker.

这点倒是意外地蛮实用的.

因为很多时候在其他地方其实很难去做这种explore.
数据的偏向性已经bias在一些高频的所谓兴趣点上了.

而且这个某种程度上是用户可控的.

理论上来说可以用一些自定义个collection去做这种不同的profile.
通过对某一类内容的集中反馈来切换不同的推荐profile形成不同的瀑布流.

当然,如果Instagram来做类似功能的话应该是不会这么生硬的.
就像它的商家橱窗导流交互.

虽然疑心这个可能更早是在Pinterest开创的.

Instagram的一类服饰类商家的图会有一种相对固定风格的摆盘.
也就是以成套服饰包括随身饰品等的形式摊放在一张图里.
然后点击图会对各个成分有个价签label.

一些非商家的话则可能是一些铭牌标签.

总之就是在点击这个二级兴趣反馈之后,会列出这种嵌入度很深的导购方式.

说嵌入式很深是指可能一般人不怎么想的话,去做这种由图片展开的二阶导购的话,会选择直接出一个列表.
然后列举各个部分的链接之类的.

这种做法的也给问题就是在App上需求一个布局空间.
有需求就意味着在有限的移动屏幕上需要从其他地方腾挪/干掉一些元素来做这种布局.
而对于这种图片为主的应用来说,如果采用列表方式的话,就意味着可能整个屏幕只能容下这一张图片.

也就是实际上减少了其他的曝光信道.

这个很明显的例子就是Instagram的第三级导购的效果.

在商家图片上一般左下会有一个小的view list的按钮.
点击之后就是商家的其他跟当前不太相关的商品图列.
也就是更接近传统的商品列表的模式.

在这种模式下是几乎直接占据了一半的空间的.

当然以Instagram本身的层次来说倒是没什么太大的问题.
因为这已经是三级兴趣过滤了.

对于大多数第一级来说,后面的存在并不影响explore的效率或者说体验.

所以如果是Instagram来做不同profile的切换的话,可能会选择一种更符合直觉展开或者说破坏感没那么明显的方式.

比如通过信号反馈的连续性/偏差分布来看是处于一种专注某类的状态,还是更aggressive的探索浏览方式.
然后隐性地调整ranker.

2020-04-19

多层网络视角

考虑把每个individual看作某个equivalent set的一部分的话.
那么整个图就可以降级为一个次等规模结构的形态.

假设某个equivalent set R有P的概率infect关联节点.
对于infected的节点/equivalent se S来说,会有两个结果.

一个是S内部的一个再感染率.
一个是S对外部的感染概率.

S的外部传播过程是类似上级R的传播模型,递归渗透出去的.

如果这里假设S的内部感染率不影响外部的传播过程的话,那么这个就是一般的传染模型.

但是如果把S的内部感染率作为一个因素考虑的话呢?

原则上来说也是也给一般的传播模型.
因为可以视为是对外部感染率的也给加权修正过程.

复杂点可能是一个动态过程.
因为实际上存在内外两种感染路径.

在内部感染覆盖面积影响外部感染率的情况下,传染就是某种动态函数.

或者说是内部感染变化曲线的一个function composite.
因为外层感染驱动的一个因子被替换为内层感染基数的函数变化.

即原来的P常数变为一个跟内部基数相关的函数.

所以这种情况下,是一个稍微动态的一般传染模型.

但是,如果把S的结构复杂化一些.
比如S是某种由人组成的社群的话.
那么这里就有另外一个维度的图结构.

因为人作为个体I可以是任何组织定义下的S的一个成员.
也就是说,I可以是同时是多个不同S的一个成员.

在这种情况下,传播就类似与一个平行的结构.
只是在不同的图层而已.

这种结构怎么描述呢?

因为不同层次的I所处S会在图层合并演算的时候同时产生内部和外部的感染状态变化.
而对于单个图层的S的感染表达来说,就相当于多了一个没有解释性的特异mutation发生.

一个例子就是对于单图层的表达式来说,演算出来的内外部新增感染节点跟实际的感染节点对不上.
实际的感染数量更多.
而多出来的数量实际上是由另外图层演算出来的.
在做合并演算的时候累加进来的.

那么对于单图层的一个相对generic的描述就应该是
P(t) ~ f(infected(t-1) + mutation(t)), mutation(t) >= 0
t时刻的外部传染性是一个t-1时刻内部感染情况和某个变异函数控制的.

引入mutation的原因在于,如果整个多图层是可以具体描述的话,那么是没必要有单个图层的特性表达的.
因为整个系统是可表达的.

但是实际情况往往是并不能或者说并不确定具有怎么样的也给层次结构.
所以需要一个限定访问的也给一般性描述.

或者说用也给符号去代表这种高密度的关联但不确定的信息.

另外一点就是,从形式上来说,infected可以是一个稍微具有解释性的也给定量描述模型.
而mutation则是对于未知变量的一个approximate.

某种程度上来说可以是对infected描述的一个兜底修正形态.

对这个的一个举例就是所谓的出圈.
也就是某个特定小圈子的流行符号变成一个大众梗的时候.

形式上来说就是一般的小圈子内的传播模型套用,然后加上mutation的作用.
mutation的一个表现形式就是比如某个跨界的节点做了广泛广播的情况.
导致原来的单一传播图层形态变为多层的形式.

所以考虑这一点的话,某种形式上来说也可以解释超级节点的存在.

如果把一个平坦的复杂网络切分成这种分层结构的话,超级节点的存在不过就是这种多S的I的存在.

那么反过来,理论上来说就存在着这么一种情况.
某个I在各个层级中的S都属于一个有限小的集合.
也就是说,从任何一个单一的图层角度看的话,都是某种形态的无影响力或者说小透明.

但是,从理论上来说,只要穿透的图层足够多,是依然可以覆盖住所有节点的.
各个disjoint的S最终union可以是全集.

这里引申的另外一个问题就是,传染是不是可防可控的呢?
或者说信息的传播是不是可控的.

把mutation作为一个不确定性源的话.
那么要是的P是可控的,意味着infected即内部传播基数是任意可控或者说自由操纵的.
这样才能应对mutation的不定变化.

这是对外传播的情况.

对于某个S,存不存在对于其他S的P影响是可控的呢?

因为其他S的P形式上等价于一个合并后的P.
也就是依然可以用
P(t) ~ f(infected(t-1) + mutation(t)), mutation(t) >= 0
描述.

如果要让P是服从控制的话,相当于要能够控制其他S的infected.

这个理论上并不是一定不存在.

把所有S作为一个复杂的互相反馈系统的话,在假定其他infected没有自主调控性质的前提下.
是可能存在一个简化描述是以S的infected为驱动变量的.

但这里有两点.
一个是这个解并不一定都存在.

第二个是实际上每个S自身是带有一定自主性的.
也就是通常来说是应当认为是一个独立系统黑盒表示的.

所以要杜绝外部P对自身内部影响的话.
大体上是不太可能的.

除非是单层网络,也就是把mutation剔除/归零之后的一般传播模型.

这样的话就退化为简单的对内部传染性的控制上了.

2020-03-01

关于瘟疫公司的数值和其他

玩了下瘟疫公司,发觉它的数值系统蛮取巧的.

核心的主要几个数值,传染性,严重性,致命性.
一个两个主要驱动因素,DNA点数和时间.

如果再稍微精简一下的话,实际上算是一个单纯的时间函数.
因为主要的目标函数是一个覆盖率.

最终无非就是一个二阶的覆盖.
100%的感染率和在这个基础上的100%的死亡率.

而从因素上来说,死亡率不过是前者的一个玩法的衍生.
从感染概率变成死亡概率的计算,随之做对抗的就是所谓的解药科研速度.

一个单纯的adversary.

那么从时间这个基本元素反推从零开始的设计就是.

给定一个初始点和不同级别的感染概率分组/国家.
如果没有其他元素的加入的话,那么玩法就是简单的时间等待.
因为它是eventually converge的.

而为了破坏这种必然性,所以加入了港口机场等阻断性的因素.

如果从纯数值上考虑的话,这个其实就是对感染概率的干扰/加权函数的一个设计.
通过调整概率来使得单纯的时间函数具有一定的差异性.

像耐热耐冷等属性的话,实际上来说,在没有其他元素加入的前提下,本质上是一种趣味性的装饰性设计.
对于游戏本身的核心玩法来说,并没有什么直接的改动.

如果不考虑进一步对港口这类rectifier因素做异化,也就是脚本方面的对于不同阻断因素的文案化设计的话.
就需要考虑引入其他的数值体系了.

基于这个考虑,把科研速度以及衍生的一个sub metric 严重性作为一个补充玩法因素的考虑的话.
就是不用阻断设计,而是一种异化的对抗衰减函数.

因为实际上来说,解药这个因素相当于给出了一个time limit.
也就是一个bounded的传染预测上限.

在给定的time range和给定的一个传染概率情况下,是一个有一个概率范围内的胜率计算的.
所以一旦timeout开始,关卡的设计就在于传染性和二阶的致死率了.

当然,如果这里贪心的话还可以把传染性和致死率作为不同常见的关卡设计.
甚至在此基础上组合叠加出不同维度的关卡.

或者直接引入其他的文案概念.

但是这里有个比较明显的缺陷或者说漏洞设计.
也就是这个countdown的触发.

当然,某种程度上来说也可以说是一种feature.

因为不同countdown的触发几率和模式代表了不同节奏的关卡.

如果一直不触发这个倒计时的话,理论上就是原初的eventually converge的玩法形态.

所以这点可能就是引入 严重性 这个DNA点数转换metric的原因.
作为一个trigger概率的因素,以及一定的策略性抉择.

在DNA面板设计要素的选择中加入一些权衡因素.

但是理论上来说,在这个设计下你仍然有可能通过不消耗任何点数来完成第一阶段的感染.
这样的话实际上就是把这个玩法因素无效化了,变成纯粹死亡率和科研速度的converge速度对比.

只有两条或者两个函数组合的话,如果要做文章就需要在曲线曲率上动手脚.

比如再引入新生率之类的.
去调和差值累计函数.

但这样的结果是把budget设计打破了.

虽然打破好像也并不是太影响.
反而可能衍生出其他的玩法.

毕竟多一个数值评价项目就多一种关卡设计点.

游戏本身采用的是严重性这个点.
插入方式是DNA的点数对抗.

还有一个疑似的就是可能timeline上插入事件概率的设计.

DNA点数这个实际某种程度上算是一个失败/flaw的设计的.
如前面说的,使得传染性这个因素基本等于没有.

所以可能这个产品更核心的一个设计是timeline的event/news的插入.

这个实际上是各种概率调整以及关键节点的控制因素.
DNA这个数值系统更像是依附于这个没有明显数值表现的系统之上的.

而且本质上来说,调整的是某个underlying函数的概率演化系数.
从纯点数的ROI设计来说,是比较复杂的.

因为不同时间点的概率调整收益是不太好计算的.

一个例子就是格陵兰/抗寒系数的对抗解.

初始点设成格陵兰或者无效化传染覆盖率这个项目.

当时如果不把传染性严重性死亡率这几个作为一个严肃数值系统来看的话.
倒也不是说不过去.

而且感觉上也似乎确实有点这个意思.
所以说比较取巧.

实际上来说,它可能并不存在一个很严峻的数值对抗体系.
而是通过时间线事件和设置对应的一个DNA消耗点提示来引导游戏发展的.

但是实际上需不需要也并不是设计者自己完全清楚的.

因为这个系统概率性演化太多,要精确控制游戏进程的里程碑事件分布的话,可能得具体地模拟和调整才能解决.
也就是需要有一个既定的剧本节奏框架.

这点对于如果想以关卡设计来持续动力的话,可能成本有点高.

在不知道某个时间点玩家的大致决策链条来源的话,就很难能够主动的设计一些对抗点来控制游戏节奏.

从这个角度来说的话,如果真要设计里程碑事件点的话,就必须背后有一套相对严谨的数值系统.
这样的话,才能够根据一个实际点设计一个目标的数值要素系数分布,从而反推在阶段点与阶段点之间的约束.
从而文案化下来.

可能也只有这样才能相对更便捷地设计不同侧重点的关卡.

看它的新作Rebel的化,似乎有点这种趋势.

相对瘟疫公司来说,它明面上account的数值比较多.
并且明显引入了战争时间点这个关键里程碑约束.

但是体验下来的感觉是比较累.
因为感觉上是对于瘟疫公司的原有核心玩法并没有什么改动.
但由于增加了更多的事件-DNA点的解关系,显得有些疲劳冗长.

唯一的创新点在于战成部分对于概率玩法的要素生化和展现文案形式.

以一种可视化的方式,把概率的影响似乎转换为远近距离的一个数值代理.
这个倒可能反而可以单独剥离出来作为一个新玩法的基础骨架.













2020-02-07

积极意义

对于李文亮的死是没有太多悲伤和愤怒的.

它就是一个普通人,做了普通的事.
可能在后验的事实里证明,更多是一个热心甚至有点中二浪漫主义情怀的人.

会根据自己的认知演绎结果,顾及旁人.

那么为什么会有这种大规模的舆论推崇哀悼呢?

一个事实是当前疫情的蔓延情况很大程度上关联于各种不及时不恰当的反应措施.
这是一个基本被所有立场人接受的一个事实.

那么基于这个事实反推的如果之一就是,假设举措能够更迅速一些,结果就可能不太一样.

而李文亮所代表的事情就是当时可能的一个促因.

所以,这里面的逻辑在于,如果当时李文亮的发声产生了积极作用,那么现在的疫情情况可能就根本不存在.

基于这么一个因果关系.

普遍的悲伤情绪的一个点在于,为众人抱薪者,冻毙于风雪.

前半句是因果关系的复述.
后半句是对应的收尾写照.

缺失的 不可使其 是一个当然情况的否定实现.

一种自然朴素的伦理道德观念的错位证伪.
纯良风俗习惯的不现实性.

所以这种悲伤感可能更多的是一种道德层面的自然反应.

那么为什么是以悲伤这种形式表现?
或者说悲伤的内涵是什么?

悲伤对应的最直观的一种情绪表现方式是哭泣.

如果以婴儿的哭泣作为一种最为纯粹的样本来说的话.
其隐含的是一种吸引注意的求助信号和顺推的当前能力不可及达的含义.

也就是一种无能为力情况下的求助性情感表达.

于是,这种悲伤就可以理解为是对于道德结果的不预期状况的一种无力感表示.

在于对一个常识性的道德情况维护结果失败的无能力表达.

那么愤怒呢?

愤怒的点可能比较多.

一个是抱薪行为的非公平公正性对待.
一个是对不公正行为的作为者的其他行为的不合预期结果的迁怒.

这两者本质上可以说是同源于一类悲伤情感.
不能干涉非公正行为的无能感.
以及对不预期结果的反馈修正不能感.

一种一致性的无能为力感.

那么归结起来,各种悲伤和愤怒情绪指向的内涵都是统一的无能为力的求助性表示.

无能为力 这个词隐含的一个信息就是尝试为之而不可得.
也就是存在一种干涉性行为失效之后的状态.

回溯一下上下文.
一个已知的因果关系演绎是,为众人抱薪者,冻毙于风雪,而国恒忧.
一种预期是,存在某种/类干涉使得,为众人抱薪者不使其冻毙于风雪,仓廪实,知礼节.

那么存在这种干涉么?

考虑疫情暴露的问题.

预警应对及时性不够只是诸多不理想环节当中的一个.

也就说,即便当时预警生效的.
也不能说就一定没有后面这些事.

当然,理论上来说存在各个环节都有这种干涉并生效的情况.
但是这个从结果上来说,干涉的有效性也是或者说至少是概率性的,而非必然生效的.

而这种干涉本质上来说是一种对常规常理的一种重申性行为.
某种程度上来说可能不能称之为干涉,而是一种理所当然.

对于纯良风俗习惯的一般期待.

称之为干涉的原因在于,这种纯良风俗习惯的期待不能兑现.

而有多少环节是存在这种不能兑现的,是个微妙的问题.

换个角度来说,如果悲伤情绪的存在在于有不现实的预期的话.
那么,剔除这种不现实预期假设的话,其实是没有什么波澜的.

只是不见得有什么太多积极意义.






聊聊卡布里尼

最近看了部片叫卡布里尼,算是可能这段时间来比较有意思的一部电影. 故事也不算复杂,就是一个意大利修女去美国传教,建立慈善性质医院的故事. 某种程度上来说,也很一般的西方普世价值主旋律. 但是如果换一套叙事手法,比如共产国际的社会主义革命建立无产阶级广厦千万间的角度来看的话,也不是...