笨笨跳跳

Blue_sdo 发布的文章

面向对象思维的广义应用

诶嘿

面向对象思维本身是作为计算机程序里的一种程序设计方法,但是在大量的实践经验中我发现,他可以给学习和探索任何一个概念提供一个非常好的途经,以至于我认为它应该被推广开来作为一种普遍的学习方法论。

面向对象的基本思维很简单,通俗的说就是用制作蛋糕的模具制作各自各样的蛋糕,达到量产的目的。

首先确定研究对象,这里我们的研究对象有2个
我们把模具本身叫做——类Class
把生成的具体的某一个蛋糕叫做由类生成的——实例instance

由类生成的实例,一定具备2个东西
其一是属性,比如长度,宽度,高度,面积,体积,好感度,战斗力,生命值,坐标....诸如此类的一系列可以静态描述模具生产的产品的特征的值

其二是方法,和属性这种静态的值不同的是,方法是动作,在程序语言里表现出来就是一个函数,这个函数可以把以上的属性作为输入,然后执行某个逻辑后输出一些值。比如一个动作游戏里,所有的角色实例都有【攻击】这个方法,一旦玩家按下攻击键,程序就会调用【攻击】方法,调用攻击双方的生命值和攻击力等属性进行计算,然后重新调整这些属性。

注意,属性和方法是在实例这个产品身上的
但是是在类这个模具里里面回规定好的,因此才可以用模具量产

同时我们还知道,我们有时候需要多个模具。为了偷懒,避免重新定义一遍类,我们允许类和类之间可以继承。如果B类继承了A类,B类就自动具备A类规定的的所有属性和方法。在继承的基础上,我们可以添加新的属性和方法以此来拓展B类。
———
好了,以上就是基本概念,那么有什么用呢....
这个时候我们要重点强调一下【面向对象】,看到任何一个对象,先问自己,这是什么?
是类吗?
是实例吗?
有哪些属性和方法呢?

比如你在ps软件里使用的任何一个工具,比如画笔工具,你都可以在属性面板里调节它的属性,比如颜色、线条粗细......等等,它的方法就表现为你使用它这个动作,它在做什么事情......触类旁通可以很快学会所有的工具

再比如数学里的加减乘除,很显然是一个实例的方法
那这个实例是什么?类又是什么?
向量也有加减乘除吧?
它们都具有类似的运算方法,那么它们之间有什么关系呢
再深入思考一点,它们如果都是继承自某个父类的话,这个具有共同特征的抽象父类又是什么呢?

用这种思路来理解抽象的代数系统(集合的元素+运算 -> 新元素)
以及群、环、域的继承关系有会相当大的帮助

———
注意我们现在有2种学习方法,都很具有参考价值

一种是我们已经实现知道了“类”的实现,然后直接学习和使用由这个类生产的实例的属性和方法

还有一种是我们已经知道并了解学习了实例,但是我们不知道他的“类”是什么,我们需要根据这个实例的特征推测这个类出这个类

或者根据多个之类推测出他们的共同父类

也就是正向思维和逆向思维,并且我们知道正向和逆向有时候并不是一对一对应的,有时候是可以一对多的,比如 2的平方是4,4开根号是正正负2
我们有这种心里准备可以避免一些麻烦

这个逆向的过程也是抽象的过程
从我们已知的代数运算 抽象出统一理论——代数系统的这个逻辑(也就是推测它的类),可以帮助我们无师自通研究很多问题

——

关于性质:
研究化学物质的时候,我们会经常提到性质的概念,性质是某个物质表现出来的特殊特征

“化学是一门研究物质的组成、结构、性质、以及变化规律的科学”

但是我们上面可以看到,在面向对象的类是没有性质这种东西的,它只有
属性和方法。

属性实际上有点类似于物理性质,是一个静态的,可读的值
而像可燃性、腐蚀性这种、可以发光这样的用抽象的特征词描述的性质

这种实际上靠的是属性和方法的共同作用约束,这个很自由,程序里可以随便用方法函数去约数它能做什么事情

不要删除自己的历史

诶嘿

不要删除自己的历史

很早之前,我有和好友们讨论一个观点,叫做——自己在他人眼中根本没有那么重要。我有遇见过人很多人,包括很多时候的我自己,在遇到一些生活的起伏以后,喜欢试图删掉自己过去的东西。或许感觉这事一件很庄严的事情,亦或是期盼这样的动作能在他人心中造成什么影响。或者只是对自己的某种鞭策或者说自我调整。但是殊不知,这些东西实际上还有一个称呼,叫做历史材料,简称史料。古往今来的各种伟人的历史,有的是人去记录。但是请注意,作为普通人的我们可没有人帮我们记录。自己的历史材料只能靠这些东西体现。一个人如果从这个世界上离开,很快就会被世界遗忘,能留存下来的关于这个人的一切,这个人的意志,这个人的思想,唯有靠这些文本视频等材料才得以保留。造物主不会关心任何生命的诞生,也不会怜悯任何生命的离去。生命的更迭的本质,是生物们为了抗争造物主设定的有限的生命,而为了无限延续自己所进化出来的某种能力(?亦或是造物主主动设定,这个暂且不提,之前另一个话题有讨论过)。但我们也知道,生物学的遗传其实对于人类而言其实有些落后了(?。众所周知,记忆根本不会被继承。这种手段也许对那些没有智慧的生命而言,是有效的,但是人类是不够的。人类的智慧本身的贵重程度实际上超越了其物理生命的意义,反而是更应该被延续下来的东西。于是这些历史材料便有了它们的意义——它们能让人们避免被世界所遗忘,在世界上留下自己曾经的足迹。

因此,若是为了本文开头的那些肤浅的目的,删掉自己留给世界的记录,是不妥当的。更何况,哪怕是那个目的其实也是没有太多意义的。我们分情况讨论

例如为了目的1,期望影响他人对自己的某些看法。正如本文开篇提到的,实际上自己在他人眼里根本没有那么重要。因为一个人应付自己的事情就有够精疲力竭的了,而对于身边的人,或许是茶余饭后的闲谈的焦点——但也只有那么一瞬。很快人们就会忘记今天讨论的事情继而转身投入到自己的视频里。
而对于微博或者自媒体这样的公众平台,就更不用说,大家都是擦肩而过的路人,为了期待对这些人改变某些印象而删掉历史材料,就是赔本买卖。因为即便是自己创作的东西,随着时间的流逝,未来的自己也未必能复现出来。删掉了就是没有了,甚至于自己都会忘记自己曾经这样想过。

不管你觉得这一份材料能体现过去的自己有多愚蠢使得想要删掉他,我的做法是都应该保留一份原本,哪怕是设置为非公开。

那么为了目的2呢?假如删掉他就是为了鞭策自己,或者说告别过去的自己?此时就要回到本文开头提到的历史材料的意义了。我们需要权衡这样的举措,究竟是保留还是摧毁更有价值。我的看法是,发生过的事情就是发生了,竭力掩埋有些自欺欺人?(看情况吧,实际上话虽如此,我自己也会删东西,我只是想讨论它的重要性。因为人的某些肤浅的冲动,是远远胜过绝对的理性的)

过去有一个教材的实践活动作业,叫做记录身边人的历史,特别是一些老人,他们的故事如果我们不去询问和记录就永远没人知道。很惭愧我没有很好地去贯彻这件事。但是事实就是如此,文化比起血脉,更需要传承。

所以,不要随便删掉关于自己的历史材料,这些东西只有对于我们自己和这个世界才有意义。对于周围路过的人而言,毫无价值

历史这种东西,总是在最边缘的地方,
但是有时候又是最重要的东西。

关于人的时间/寿命

诶嘿

人的寿命是很短的。但是倘若和地球上大多数的动物对比,又似乎相对较长。

万物皆有寿命。

为什么?

假使寿命是无限的——

假设你是造物主,现在要创造一个能够自动生成单位的全自动运行的程序(世界),如何保证程序不失控?

你会发现这是不可能的

要让世界保持相对稳定,必须让每个单位定期销毁,才能保证内存(世界)不会被撑爆。
当然也有更简单粗暴的办法,例如定期毁灭一次世界(清空所有单位)。

接着,地球上的单位是如何复制的?
也许是直接复制单位非常无聊,造物主允许复制期间发生一点变化,让新的单位和原有的单位有些不一样。这就是所谓的遗传学。
而且,造物主允许可以复制多份。也必须有这个要求,才能实现从几个单位分裂出无数个单位而且还不重样。

实际上,有限的寿命是保证1生多世界不会爆炸的不可避免的要求。

至少我是这样理解的。

一些感想

诶嘿
楔子 它有可能随时倒退回去,就像过去的百年一样。

前几年疫情有一阵子世界都在抵制中国
我当时说,风水轮流转,始终会转回来。
中国总会回到自己的位置。
所谓事物的发展是波浪式的前进和螺旋式的上升。
有一个规律是,当所有的主流观点都在倾向于某一方的时候,新人类们总会有逆反心理,使得某个时间以后,当新人类完全占据舆论主流的时候,主流观点会被完全逆转。周而复始迭代着每一代人。
那么今天转回来了吗?我不知道,但是可以肯定的是情况正在起变化。

那么今天我也要预判点别的。我是来泼冷水的。当人们都在敬仰甚至是崇拜专治的上位者的时候,甚至某些时候被媒体的渲染我也会发自内心产生一些敬仰的心理的时候。我不由得警兆大起。

和弱肉强食的丛林法则一样,这个世界本质是专制的。我认为这是人类的本性。所谓的科学自由和民主,是人类文明诞生中极其罕有诞生出来出来的进步——它有可能随时倒退回去,而这个世界照常运转,就像过去的百年一样。

现代中国的民主是被写入宪法的。但是实际情况里,及从小到大的生活里,毋庸置疑,专制和独裁是远大于民主的。回望过去,试想有多少东西是被人独裁定好的,小到你被指定班里里的座位,大到唯一能形式上提现一点民主的东西——选人大代表,也是假的。法律赋予了人民神圣而不可侵犯的选举权,从来就没发挥它本来的权威。

几年前国家为了某些目的强行进行了一次全网app实名认证。实际造成的结果就是全体国民的个人信息被泄露到境外网络且随意可查。永远也打击不完的电信诈骗就是这样来的。——我去查过。身份证,住址,曾经用过的密码,甚至精确到大学取快递的地址,无一例外全数泄露。这就是某种后果,还有可能更糟糕。那些义正严辞道貌岸然收集你个人信息的独裁者们,也许从来没考虑过你的隐私,你的人权。他们在意的是自己的地位不受侵犯,自己治下的领地绝对安全——哪怕是牺牲自己的子民为代价。

这是严重的后果。然而从小到大这样的事情少吗?为了某种冠冕堂皇的正义理由,毫不客气地侵犯你的总总权益——只是它们造成的后果从未像这次一样严重

我当然无法歌颂这样的君王,即便是表面上十分地歌颂。

它有可能随时倒退回去,就像过去的百年一样。
——————————

我中间有一个观点是即便倒退回去,世界依然照常运转。古代中国社会也有相当长的稳定时期,哪怕是西欧封建教皇统治时期也一样。更夸张一点的奴隶社会,对奴隶主而言也相对稳定。保持社会稳定这件事是可以建立在牺牲人权的前提下的。在这里其实我不是很关心中西方对比,也并不关心制度差异。人们拿来对比的主要原因是西方启蒙运动后人文主义觉醒,率先进入了资本主义体系下的民主制度,是因为有了一个先例所以我们总是有对比……但是我更关心的是假设没有这个先例,民主自由和科学的世界也应该是人类文明进步进程的一个重要阶段。我们现在有的抄作业,我们可以各种对比优越性......各种拉踩。但是请注意,当初启蒙运动或者是更要的古希腊时候,那个时期没有作业可以抄,那时候的人们的确是进化出了这种意识,思想解放后科学技术也蓬勃发展,所以后来有了工业革命....从历史可以看出抑制思想这件事情本身就是能够维护社会稳定的,也是统治阶级维稳的手段,但是它会阻碍新思想和新技术。还有更重要的原因是其实西方现在也在倒退....

————————————

所以我说要警惕倒退,倒退的结果并非不可接受,但是对文明来说可能是灾难。而且现在西方的体系也不一定是最优的状态,他们也不是这些理念的唯一权威。也许我们今天应该假设西方社会从未存在过,像当年1718世纪的人们一样从零开始重新去思考民主的社会应该是什么样的....当然这看起来很滑稽,应该没有人有闲心去研究这种东西,何况今天有写的不太好作业抄,没有人会原地重启。我也更在意人们的意识,当人们习惯于这一切不合理都是理所当然的时候,社会治安不好,就应该寄希望于中央政府。学生遇到不公,就应该寄托于学校处理(武汉大学事件)。这不就是回到过去那种状态吗,好的衙门好的清官带来的和谐社会。——但是人们自己的意识呢,为什么人们不能自发形成和谐,为什么我们不能像过去某些国家一样可以完全不用锁门也不担心盗窃。人们为什么不可以不依赖监控自发地形成内在的和谐。强有力的监管也许是必要的,但是不能总是强有力的监管......更不能建立在无视人权无视人类文明好不容易诞生出来的民主和自由的基础上。网络上有一个观点叫做中国自百家争鸣后,再也没有迎来自己的启蒙运动。习惯于逆来顺受的绝大多数国人,也许从未意识到社会主义核心价值观那16个字真正的意义,以及他们对于人类而言的重要性。我们总习惯于喊口号....总习惯于那些众人皆知的潜规则。而早已经完全无视了某些冬至真正的意义。今天我们也许科技发达,国力强盛,经济不好评价,但是思想呢....人与人之间的关系是不是越来越差了,男女对立,社会矛盾尖锐。社会主义核心价值观真正践行,就若当年启蒙运动一般,我们的社会绝不会是这个样子。

————————————

条件概率问题

诶嘿

条件概率问题

  1. 一个家庭有两个孩子,求当其中有一个是男孩时,另一个是男孩的概率(答案1/3)
  2. 一个家庭有两个孩子,求当其中有一个是出生在星期二的男孩时,另一个是男孩的概率(答案13/27)

这个两个问题本身并不不复杂,但是我想到了一些奇怪的东西。
我们知道,解概率问题的一般流程是:

!. 找到每个事件的不可拆分的最小单元,由这些事件组成的集合叫做基本事件空间,列出基本事件空间

例如投掷一枚骰子,基本事件空间为

Ω = {1点向上,2点向2...6点向上}

好像很河狸……那现在有一个问题,1点向左这个事件算在这个基本事件空间之内吗?
显然是不算的

所以投掷一枚骰子,完整的事件空间应该是

Ω = {1点向上,1点向下,1点向左,1点向右,2点向上,2点向上,2点向左,2向右 <以此类推...> 6点向右}

点数1或2或3或4或5或6
方向上或下或左或右

即 6*4 = 24种情况

【思考】对吗? 好像又不太对,显然,我们平常研究投骰子的问题,好像不会用这种概率空间……
于是问题出在哪里呢?

所以我们会发现,基本事件空间如何确定取决于研究的具体问题,并不是把一切可能的情况全部列出来,而对于具体的研究问题,事件上,我们根据具体的问题的限定词来修正基本事件空间

【问题1 】投掷一枚骰子,投出3点的概率?
这里的基本事件空间是

Ω = {投出1点,投出2点,投出3点,投出4点,投出5点,投出6点}

【问题2】 投掷一枚骰子,3点向上的概率?(由于这里多了一个限定词“向上”,于是我们的概率空间会被扩大)

Ω = {1点向上,1点向下,1点向左,1点向右,2点向上,2点向上,2点向左,2向右 <以此类推...> 6点向右}

然后你一定会奇怪,凭经验,这个问题的答案应该依然是1/6,这是为什么呢?
【经验修正】
因为我们的经验默认了一个大前提,只看向上这种情况的点数,这点被这个问题隐藏了,即1/6这个答案,我们对问题实际上是这样限定的:

投掷一枚骰子,当点数向上的时候,3点向上的概率?

我们把带有条件的概率称作条件概率,概率函数用P()表示,那么这个问题用条件概率可以表示为:
p(3点向上|点数向上)
根据条件概率公式:
P(A|B) = P(AB) / P(B)
即 当B事件发生的前提下,A事件发生的概率,等于AB事件同时发生的概率除以B事件发生的概率

$$ P(3点向上 \mid 点数向上) = \frac{P(3点向上 \cdot 点数向上)}{P(点数向上)} $$

p(3点向上且点数向上) = 1/24
p(点数向上) = 6 / 24

于是 二者一除,消去了分母24,是我们想要的结果1/6。

但是,问题还没有结束,我们回到一开始的问题,解概率问题的基本流程是

!. 找到每个事件的不可拆分的最小单元,由这些事件组成的集合叫做基本事件空间,列出基本事件空间

  1. 将概率问题的中文翻译成集合运算

这里我们认为 + 符号 等价于 ∪符号, * 符号 等价于 ∩符号
比如 A发生或B发生 翻译成 A∪B = A+B
A发生且B发生 翻译成 A∩B = A*B = AB
由于集合可以有运算律,我们可以混合运算

A(B+C) = AB + AC

利用代数公式变形,我们可以把难以理解的复杂问题转化为简单问题

  1. 将集合运算带入概率函数P(),使用概率公式
    例如 P(A(B+C)) = P(AB+AC)
    此时可以带入概率加法公式,即
    p(AB+AC) = P(AB) + P(AC) -P(AB * AC)
  2. 化简,得出档答案

这个过程有什么问题呢,你会发现,我们不存在带有条件概率符号的集合运算
即如果我们把条件概率和普通集合混合运算例如 (A+B) * A|B = ?
这个结果是什么?
我们发现集合运算上,这一块是空白的

于是当我们有一个符号P(A|B)
有一个可以被算出来的答案X
却发现中间的集合运算A|B是空白的

那这些集合运算去哪儿了? 集合运算有 A并B 有A交B ,但是 没有 A|B 这个集合运算

这是本文的最后问题
是否能够定义出集合运算A|B表示为一个新集合?
同时给这个运算提供运算律

思考: 我们知道集合运算有笛卡尔积 A X B = ....