关于脑机接口该如何实现的考虑

脑机接口,已经是最近最热门的科技热点了,因为埃隆马斯克的炒作和推动(炒作说的是他本人并不懂技术,宣传中有了很多夸大和不实之词,推动说的是因为他的炒作和带动,有了更多的资金进入了这个领域,实际上起到了对这个技术实现的推动作用),也因为大家希望能够获得更长久的生命或者更好更丰富的生命表现形式,换而言之就是人类想要得到永生。

本文分为几个部分:

1、有创接入,直连模式

2、无创接入,感应模式

3、脑神经元接入与分析

4、Neuralink的做法与现状

5、朋友圈评论

6、外部肌体较长时间接入的一个例子

7、他人的分析

8、几个相关原理

阅读本文需要一段时间,不过,相对较为容易理解,基本上有初中的物理化学知识和生物学知识就可以阅读了。

首先我们从埃隆马斯克推动的就是脑机接口切入,这也是大家最容易想到的一种实现方式:

1、有创接入,直连模式

为什么要在有创接入后面加一个直接连接模式呢?

因为如果是后面提到的无创接入,是不考虑或者没有办法做电路信号的直连的,毕竟隔着头皮和骨头。有创接入的优势就在于可以直连,也许能获得更强更准确的信号信息,进行读取或者交互(交互是一个存疑的点,为什么存疑,就是因为写入的目标无法确定)。

可以说,随着当代科技的发展,我们在很多地方看到了所谓脑机接口的表现形式,诸如这些

还有这样的(因为大家认为脑部的不同区域有着不同的作用和功能,于是就需要从不同的区域进行读取,但是,科学验证当一部分脑部发育不完善的时候,其他部分有可能会更强大一些而取代部分这个发育不完善的脑部原有的部分或者全部功能,所以,这真的是一个超级复杂甚至有可能是这个宇宙中最复杂的有机体,没有之一):

于是电影里面我们可以看到这样的:

这是头上的接口,外面要用头皮和头发覆盖。

然后看看芯片:

嗯,这是电影《终结者外传Sara前传》第二季第一集中的截图,芯片来自 Cameron的芯片,Cameron是TOK715型机器人,被认为是T-888的改良版本。以它为例,就是因为这是一种大家都相对比较认可的脑机接口的实现方式,虽然Cameron是机器人,但是,其主要数据都存储在这个芯片里,脑部主要是从这个芯片获取数据信息然后按照定义好的逻辑执行推进,完成她机器人的指令目标,甚至超指令目标(也就是超越指令以外的高层次的目标——电视剧编剧的需要,实现上未必不可能,但是一定是相当于类似彩蛋做法或者隐藏功能做法的特殊指令集才能达到这样的效果,实际上从剧本上来看,这个概率是很低的,天网skynet不可能自己写入这样的程序,反人类的人类程序员在这里并没有看到任何反抗天网的意愿因此还不可能提前进行这样的程序预设,关于机器人杀人的事情,青润曾经在过去的一篇文字中进行过相关的分析,如果有必要,后续还会写一篇进行补充,可能用到的标题就是:能够主动犯错的机器人如何实现)

这些都是有创接入方式,而所有的有创模式都没有直接说明里面是如何连接脑神经细胞的,于是有了一些是使用很细的电线,也有一些其他的连接方式。

对于生命体来说,有创方式必须要考虑生命体自身的修复机制,以及神经系统和排异反应等问题。关于这几个点后面会做一些科普性的介绍说明,以帮助更多的朋友了解为什么是这样的,为什么需要这样。

除了有创接入模式以外,其实还有一种方式,就是无创的接入方式,通过无线电信号的获取捕捉脑电波并发送对应频率的信息获取与大脑脑电波之间的互动和干扰来取得交互,这也是科学界和产业界一直在推进的一种形态:

2、无创接入,感应模式

感应模式,也就是感应连接模式,或者说所有的无创接入模式,都是通过信号感应来实现读取,这里面涉及到的就是法拉第的电磁感应原理,甚至更多的进行交互的,当然,经过了几十年的研究,也仅仅是读取,而写入基本上还处于梦想阶段,虽然有些科学家进行了一些写入操作,但是也都仅仅是基于表象的浅层操作,短信号一发出就结束的方式,没有长连接的实现,毕竟是脑部神经系统,长连接什么时候可以实现,目前还是个未知数。

具体的比如我们可以看到下面这些表现形式:

还有这样的:

以及这样的:

可是,深入思考一下会发现,这些可能都不靠谱,上面的很多都是一个一个的传感单元,用此来获取脑电波的各种信息,而这样获取的信息应该是所有脑电波的综合波形,而不是一个一个具体的脑电波的信息,脑电波中的所有信息综合起来的波形,其中被去除的干扰项,应该而不是有可能,就是一个一个的小的独立的脑电波信息,而不是什么所谓的干扰项,因为脑细胞本身的复杂性加上脑电波的多样性和繁冗性,使得我们无法简单的通过一个波形来确定这样的脑波代表着什么样的行为,而人类的任何一个行为或者感受也都是伴随着很多的人体行为以及思考并行的,比如说,青润的多个发明都是在走路锻炼身体的过程中产生并定下来的,走路的时候,四肢的动作,加上眼睛看到的内容,而大脑里却在思考一个乃至十几个需要思考的问题,每一个问题又伴随着几十个甚至上百个可行性以及需要解决的问题,任意一个时刻,脑电波里面的电路信息都是复杂多样,甚至都无法用复杂来形容的复杂才能说明这个东西的复杂性。当这个问题得到阶段性解决的时候,青润会打开手机,进行录音,描述确定下来的信息过程,然后看一下佩戴的运动手表记录的心率、步行姿态和数据,确定是否要立刻回去进行整理还是继续运动思考后面的问题,而继续运动思考后面问题的过程中偶尔还是会想到前面这个问题,对其进行一些再次思考和弥补,修订其中可能又会出现的被发现的新的此前思考不足的问题——这句话很拗口,不过,确实是复杂性的表现之一。

3、脑神经元接入与分析

我们先来看一个谷歌AI自动重构3D大脑的最高精度绘制神经元的动图:

青润认为:脑神经元电波的反应有可能会是这个世界上唯一没有无效干扰信息的自干扰信号复杂系统。

也就是说,里面的每一个扰动应该都是有效的信息,而不是无用的信息,而且是多个信息的互相叠加,如果要精确解读,那么每一条信息都必须分离出来,必须解析清楚,只有到这个时候,脑机接口才是真正可以接近实用阶段的产品。当然,有人会说可以同步进行,是的,是可以同步进行,但是,空中楼阁一定会有人吹其多么好,却因为其抢占了更多的资源而让基础不得不延迟更久一些(这个对比,应该都能看懂吧)。

脑电波神经元的反应有可能会是这个世界上唯一没有无效干扰信息的自干扰信号系统,也就是说,里面的每一个扰动应该都是有效的信息,而不是无用的信息,必须分离出来,必须解析清楚,只有到这个时候,脑机接口才是真正可以接近实用阶段的产品。

而在信号读取中,脑电波的每一个波动都会是多个信号载体的叠加,要从这里面把所有的信号都有效的剥离出来,至少目前还没有看到有效的操作原理方面的可能。

所以,所有的科学家在研究的时候,都是先把复杂问题简单化,简化为动一动手指,动一动眼球,听到某一个简单具体的声音后,看脑电波的变化来捕捉差异。这都需要反复大量的数据信息的采集和不断地反复验证,因为绝对是一个超长投入周期,甚至几十年仍然不可能有有效成果出现的产品方向。

于是也有了一些小的成果,比如帮助行动障碍人士,完成对轮椅的行动控制:

另外还有通过大脑活动来进行人体四肢操作的实验探索:

上面这些功能到目前为止仍然处于测试阶段,应该还没有能够全面实用化,可见脑电波数据的读取,哪怕仅仅是一个对人类很简单的前进后退转向的动作,都何其复杂。

(另外,注意一下,以上操作都是脑电波信号读取,不涉及到写入的问题。)

也基于对此的考虑,青润曾经批评过埃隆马斯克,因为他不太懂技术,因此,他的很多产品设想是因为技术积累到了这个阶段才能得到实现,如果他再早五年来提出此前他已经成功的这些技术构想,他一定是一个失败者,而不是现在这样的世界首富之一,也不会被称为硅谷钢铁侠——关于这个观点,有朋友赞同,也有朋友不反对(其实就是未必赞同了),极少有朋友直接提出质疑,毕竟,历史是不能假设的。

历史虽然不能假设,但是历史是可以验证的,因为很多成功者的想法,并不是只有他一个人能想到,往往在他之前也有很多人想到过,只是最后失败了。具体的例子这里不多举了,其实是可以查询到不少信息的,但是大部分人估计没有什么兴趣了解,也和本文有些偏差,毕竟本文主要是介绍脑机接口的科普,而不是介绍埃隆马斯克其他技术的形态,有时间将来可以在其他文字中进行一些分析,当然,都允许质疑。

4、Neuralink的做法与现状

现实中Neuralink就在这样做:

最近又出来了新闻:

经过在老鼠和猪的脑部实验,而且仅仅是简单的进食操作的少量验证,埃隆马斯克就敢宣布一年内接入人脑,这确实是商业炒作的行为和手段了。一句话,埃隆马斯克不是特斯拉,最多是爱迪生式的人物,甚至还不如爱迪生,爱迪生还要亲自做一些实验,而埃隆马斯克只负责对外吹牛,没见他亲自参与过任何一个技术的测试推动。

基本上可以确定,Neuralink的方式就是下面这样的:

据报道,https://tech.ifeng.com/c/7p37dD2MUhn

Neuralink所用神经蕾丝的宽度大约是 4 到 6 微米,是人类发丝直径的四分之一,对大脑造成损伤的可能性较小,因此可以植入更深的脑区。此外,分布在 96 根神经蕾丝上的 3072 个电极还为大量数据的传输创造了可能,这也使得它更能推动人们对脑的理解和脑疾病的治疗。Neuralink 还开发了一种每分钟自动嵌入 6 根神经蕾丝的神经外科手术机器人,从而实现脑机接口连接。

而人的脑部神经元以及突起等组成部分的数据是这样的:

神经元的胞体(soma)在于脑和脊髓的灰质及神经节内,其形态各异,常见的形态为星形、锥体形、梨形和圆球形状等。胞体大小不一,直径在5~150μm之间。胞体是神经元的代谢和营养中心。

神经原纤维(neurofibril):在神经细胞质内,存在着直径约为2~3μm的丝状纤维结构,在银染的切片体本可清晰地显示出呈棕黑色的丝状结构,此即为神经原纤维,在核周体内交织成网,并向树突和轴突延伸,可达到突起的未消部位。在电镜下观察,神经原纤维是由神经丝甜神经微管集聚成束所构成。神经丝(neurofilament)或称神经细丝,是直径约为10nm细长的管状结构,是中间丝的一种,但与 其他细胞内的中间丝有所不同。在电镜高倍放大观察。可见神经细丝是极微细的管状结构,中间透明为管腔,管壁厚为3nm,其长度特长,多集聚成束。分散在胞质内,也延伸到神经元的突起中。神经丝的生理功能是参与神经元内的代谢产物和离子运输流动的通路。神经微管(neurotubule)是直径约25nm的细而长的圆形细管,管壁厚为5nm,可延伸到神经元的突起中,在胞质内与神经丝配列成束,交织成网。

此外,还有较短而分散的微丝。微丝(microfilament)是最细的丝状结构,直径约5nm,长短不等,集聚成束,交织成网,广泛的分布在神经元的胞质和突起内,其主要功能具有收缩作用,适应神经元生理活动的形态改变。

树突(dendrite)是从胞体发出的一至多个突起,呈放射状。胞体起始部分较粗,经反复分支而变细,形如树枝状。树突的结构与脑体相似,胞质内含有尼氏体,线粒体和平行排列的神经原纤维等,但无高尔基复合体。在特殊银染标本上,树突表面可见许多棘状突起,长约0.5~1.0μm,粗约0.5~2.0μm,称树突棘(dendritic spine),是形成突触的部位。一般电镜下,树突棘内含有数个扁平的囊泡称棘器(spine apparatus)。树突的分支和树突棘可扩大神经元接受刺激的表面积。树突具有接受刺激并将冲动传入细胞体的功能。

轴突(axon)每个神经元只有一根胞体发出轴突的细胞 质部位多呈贺锥形,称轴丘(axon hillock),其中没有尼氏体,主要有神经原纤维分布。轴突自胞体伸出后,开始的一段,称为起始段(initial segment),长约 15~25μm,通常较树突细,粗细均一,表面光滑,分支较少,无髓鞘包卷。

可以看到,脑神经部分的连接基本上是微米到纳米级别的,而我们最近都听说了光刻机可以雕刻到几纳米级别的芯片,而纳米级别的导线到现在还没有出现。那我们怎么连接呢?于是有了一个新的概念:“神经蕾丝”(Neural Lace)。

其实“神经蕾丝”这个概念源于科幻小说家莱恩•班克斯(Iain Banks)的文学小说系列,班克斯是马斯克最喜欢的科幻作家之一。在小说里,人们的大脑中通过“神经蕾丝”技术植入网状物,从硬件上将人脑和计算机连接起来,让它们直接通信。这样人的大脑活动就类似于信息一样可以上传和下载。

Neural Lace大概的样子是这样的:

再深入放大一点可以看到这样的:

可是,目前的线也只有4-6微米,距离纳米还有1000倍的差别,如何用1000倍的粗线来获取千分之一的信号源,同时这个信号源可能还是处于波动中的,并不是固定稳定的模式,并区分出来信号源中多个叠加信号,这个差距还是很大的,还有很长的路要走。

关于更多的“神经蕾丝”(Neural Lace)的介绍可以看下面这篇文字:

植入式脑机接口技术——现实中的“神经蕾丝”计划 - yue li的文章 - 知乎 https://zhuanlan.zhihu.com/p/26116728

5、朋友圈评论

随后,青润发表了朋友圈评论观点

今天去截图才发现有一个作评论的朋友把自己的评论删除了,那我就复现一下,评论的大意是:照这样说,解刨学和现代手术都是错误的。所以,他非常不认同我的观点。

6、外部肌体较长时间接入的一个例子

我没有单独对他做回复评论,只是做了上面这样一个评论,他欠缺生命科学方面的知识和认知,不懂得短时间创伤修复是为了让整个肌体能够更长久的更高质量的存活下去。而短时间的创伤,允许肌体自我修复,这样也是对自然生命肌体机能的尊重。而这种接口属于长时间的创伤,类似于很多癌症患者晚期或者手术后挂的尿袋以及导流管:

这就是尿袋,前面的接头是要接入身体的,去年青润做了一个肾结核的经皮肾镜手术,手术后,就挂了5天的这个,基本上每天要对创口进行重新检查,消毒,保障不会发生外部侵入式感染,5天后摘下来的时候,还是喷出了大量血水。佩戴的图我就不贴了,想了解的朋友在经过很多医院手术区的时候都能看到这样的病人。其实很痛苦,当然,这种头部的硬链接,不会因为摆来摆去而痛苦,但是,却会因为接触神经系统太近,带来更大的感染风险。

一句话,生命体机能是一个完整的机制保护自己,皮肤层是需要闭合的,如果被异物穿过,就会带来很多问题,我们也可以看到很多大树:

能不能存活,有时候真得是动物体和植物体也有很大的差别,但是即使能存活,其状态也是可以看出来有多么的不自然。

到了这里,我们需要谈到一个机制:

异物进入肌体时的吞噬机制

当有异物进入到有机体的时候,有机体会倾向于将异物包裹起来,吞噬消化掉,如果消化不掉就会形成珍珠这样的东西,以避免对肌体的其他干扰。

一个最简单的例子就是珍珠的形成过程:

异物进入生物机体后,生物机体的皮肤层会倾向于恢复原来的封闭状态以保护肌体不会被外部的感染源而侵入,于是就会将无法排出的异物包裹起来,在珍珠贝里面就形成了珍珠,在人的大脑上如果要强行让这个接口可以随时对外连接,那就必须不断地打破生物机体的这个机制,那就需要不断地破坏来保障这个开口的稳定性,结果是什么,目前不敢想象。

7、他人的分析

写到这里,基本上快要完结了,在看到这篇文字的第二天看到了一个科技资讯:

科技资讯:Musk对神经环路的解析干预难度估计不足

有些观点虽然还是支持微创植入,但是,很少有人考虑长时间创伤带来的后续影响问题,也许有人会说,科技的进展会解决这个问题的,但是,要知道科技的进展永远是需要以尊重自然规律为基础的,科技本身就是自然规律的表现形式之一而已。

还有去年斯坦福大学的一个采访:

https://user.guancha.cn/main/content?id=188607

专访斯坦福大学神经科学家:脑机接口只是看上去很美?

8、几个相关原理

8.1、大自然的规律与人类的发展

大自然几十亿年的发展过程,宇宙已经138亿年,这么多年其实都是宇宙规律在起作用,也可以称之为自然规律,而这个规律里面就有着生存竞争与自然淘汰。

人类在不断的发现宇宙的规则,从牛顿力学到量子力学,我们发现新的科学发现都是违背日常感知的,而实际上在量子力学之前,人类的科学发现基本上都是与日常感知相符合的。

比如,宇宙中速度最快的是光速,而宇宙诞生到现在只有138亿年,而宇宙的直径却有930亿光年,按照感知规律来说,既然最快是光速,那宇宙的直径应该是138*2=276亿光年才对,而现在确实是930亿光年的直径。

这么多年来,真正起作用的,就是这些自然规律或者说是宇宙规律,也就是我们上学时候或者读书时候可以学到的各种公理、定理等等。

而这些公理定理里面就有着动物皮肤的自然愈合机制,这是一种生命体的自我保护机制。

8.2、动植物皮肤的自然愈合机制

2008年获得诺贝尔生理学和医学奖获得者“哈拉尔德·楚尔·豪森”在对医学理论的研究中发现,自愈是人体和其他生命体在遭遇外来侵害或出现内在变异等危害生命情况下,维持个体存活的一种生命现象,具有自发性、非依赖性和作用持续性等显著特点,自愈过程基于其内在的自愈系统,以自愈力的表现方式,来排除外在或内在对人体和其他生命体的侵害,修复已经造成的损害,达成生命的延续。自愈并无是万能的,每个人体质不同自愈能力也不同,它们是相辅相成的,医学就是为了辅助机体自愈治疗疾病为目的而存在的。

对于包括人类在内的高等级生物,自愈系统包含免疫系统、应激系统、修复系统(愈合和再生系统)、内分泌系统等若干个子系统,当其中任何一个子系统产生功能性、协调性障碍或者遭遇外来因素破坏,其他子系统的代偿能力都不足以完全弥补,自愈系统所产生的自愈能力就必然会降低,从而在生物体征上显现为病态或者亚健康状态。自愈系统并非是万能的,每个人体质不同自愈能力也不同,它们是相辅相成的,医学就是为了辅助机体自愈治疗疾病为目的而存在的。

皮肤的自我修复和完毕形态,就是这个自愈系统的一个子集,同时也是保护人体内部不受外部直接侵入的重要手段。

这个自愈的过程也是一种自我保护的机制,会伴随着疼痛麻痒的感觉,而在自我保护的过程中,也是一个排异反应的过程。

8.3、排异反应原理

这个涉及到比较深的免疫学方面的知识,我也只能引用一些相关信息来做说明:

人体的免疫系统对各种致病因子有着非常完善的防御机制,能够对细菌、病毒、异物、异体组织、人造材料等“异己成分”进行攻击、破坏、清除,这种复杂的免疫学反应是人体非常重要的一种保护机制。移植排斥反应是影响移植物存活的主要因素之一。

移植排斥反应是非常复杂的免疫学现象,涉及细胞和抗体介导的多种免疫损伤机制,发生原因主要是受体和移植物的人类白细胞抗原HLA(human leucocyte antigen)不同。因此,供者与受者HLA的差异程度决定了排异反应的轻或重。除同卵双生外,二个个体具有完全相同的HLA 系统的组织配型几乎是不存在的,因此在供受者进行配型时,选择HLA配型尽可能地接近的供者,是减少异体组织、器官移植后移植排斥反应的关键。

也就是说,任何嵌入到人体内的物质都会被认为是异物,都会产生排异反应,对异己成分进行攻击破坏和清除是人体非常重要的保护机制。

这是一场百亿年的自然选择与两百年的科技改造之间的对冲,一方面我们人类的改造要依托自然规律,另一方面我们要依据自然规律让人类更加强大以适应更多变复杂的环境,仅仅通过优胜劣汰的方式人类的改变速度太慢了,当代科技已经可以加快这个变化了。这是一个指数级的上升的过程,速度会越来越快,但是,需要谨慎对待,因为有可能大过滤器就在眼前了,如果人类无法通过这个大过滤器,那就是整体的灭亡。

8.4、有创脑机接口的实操

真有人在自己的脑袋上做了这样的实操,这是一个疯狂的科学家,但是,我赞赏他。

“疯狂”科学家菲尔·肯尼迪:为了研究“脑机接口”,他切开了自己大脑

https://36kr.com/p/1722359709697

原文链接:https://www.wired.com/2016/01/phil-kennedy-mind-control-computer/

36kr在2018年发表了上面这篇文章,大家可以过去看一下,最后的结果,很是悲剧。

当然,即使这是一个失败的过程,也是人类很伟大的尝试,毕竟人类是要加快自然选择的速度中推进这一切的演进,但是这个过程中必然会有大量的失败和风险存在,我向这位疯狂的科学家致敬,这是真正得科研精神。

想起2006年我也曾经在1000瓦的红外光照下实验我们的户外人脸识别设备的可靠性和有效性(2005年一月份,我所在的课题组曾经查到某国际标准网站上写着20瓦以上的红外光不建议对人直接照射,12瓦到20瓦之间的照射建议闭上眼睛,12瓦以下的红外光可以直接对人照射,是安全范围。于是,此后,那个实验,只有我一个人在做),那是一个让人回想起来就有点后悔的可怕经历,因为我没想到的是,实验完成后不到半年我就辞职了,是因为前老板的言而无信。

9、总结

总之一句话,青润更建议进行无创接入感应模式的脑机接口推动,不太建议有创接入的方式。

当然,也许未来科技会推翻青润的这个想法,那真的需要免疫学的极大突破了。

其他的有关内容,有兴趣的朋友可以回复,青润来进行力所能及的分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 学习之旅(5)——设置Setup文件目录

使用过Visual Studio的朋友都应该知道,VS对于编译后的obj文件以及链接生成的exe文件的存放方式是非常反人类的,所以我们有必要对这个设置进行更改。 首先要分清Filter和Folder的概念,在默认的文件目录中,我们看到的实际上是Filte…

JVM笔记详解之垃圾回收器

一:什么是垃圾回收机制(GC) 在C/C程序中,程序员在内存中主动开辟一段相应的空间来存值。由于内存是有限的,所以当程序不再需要使用该内存空间时,就需要销毁对象并释放其所占用的内存资源,好重新…

跟我一起学.NetCore之配置初体验

前言配置对于程序来说,绝对是必不可少,毕竟配置是应用或组件动态适应各种环境的最优方案,没有之一(我还年轻,我是这么认为的);之前可能用的最多的配置源是命令行、文件(XML、Json、INI),Web中对于Asp.Net程…

JVM笔记(JVM内存+垃圾回收器)详解

一:java代码的执行流程(引出JVM) 首先由程序员编写成.java文件然后由javac(java编辑器)将.java文件编译成.class文件.class文件可以在不同平台/操作系统上的JVM上执行再由JVM编译成可供不同操作系统识别的机器码(0,1二进制) 二:JVM来源 我们在下载JD…

跟我一起学.NetCore之Asp.NetCore中集成Autofac扩展

前言前两节针对.NetCore自带的依赖注入进行简要概述,对于日常开发的需求应该是能满足了,那为什么还需要引入第三方依赖注入组件呢,这里就从自带的依赖注入来分析,有什么样的需求满足不了?主要归纳为以下几点&#xff1…

C++ 学习之旅(7)——指针pointer

开门见山&#xff0c;如果把计算机的内存空间比作是一排房子&#xff0c;那指针就是房门号。指针实际上就是一个用来存储内存地址的整数&#xff0c;与类型没有关系&#xff0c;我可以定义一个void类型的指针&#xff1a; #include <iostream>int main() {int var 8;v…

leetcode509. 斐波那契数

一:论语 我现在应该还没到壮年 还在年少 应该。。。。。。。。。。。。。。。 二:题目 三:上码 class Solution { public:/**思路:动态规划5步曲1.确定dp数组以及下标的含义dp[i] 的定义为:第i个斐波那契数的数值是dp[i]2.确定递推公式状态转移方程 dp[i] dp[i-1] dp[i-2…

C++ 学习之旅(8)——一文搞懂指针、引用、函数参数的传值调用、指针调用和引用调用

废话少说&#xff0c;直接上代码&#xff1a; #include <iostream>int main() {int a 5;int* ptr &a;int& ref a;std::cin.get(); //设置断点 }为了避免混淆&#xff0c;我建议在定义指针时写int* ptr而不是int *ptr&#xff0c;同理&#xff0c;定义引用写…

.NET Core 下使用 Kafka

安装CentOS 安装 kafkaKafka : http://kafka.apache.org/downloadsZooLeeper : https://zookeeper.apache.org/releases.html下载并解压# 下载&#xff0c;并解压 $ wget https://archive.apache.org/dist/kafka/2.1.1/kafka_2.12-2.1.1.tgz $ tar -zxvf kafka_2.12-2.1.1.tgz…

leetcode70. 爬楼梯

一:题目 二:上码 class Solution { public:/**思路&#xff1a;分析题意:爬到第一层楼有一种方法,爬到第二层楼有两种方法那么由第一层到第三层需要跨2步,由第二层到第三层需要跨一步;那么到第三层的方法可以由 到第一层和第二层推导出来(因为只剩下最后一步了)动态规划五步走…

发现一款.NET Core开源爬虫神器:DotnetSpider

没有爬虫就没有互联网&#xff01;爬虫的意义在于采集大批量数据&#xff0c;然后基于此进行加工/分析&#xff0c;做更有意义的事情。谷歌&#xff0c;百度&#xff0c;今日头条&#xff0c;天眼查都离不开爬虫。去开源中国和Github查询C#的爬虫项目&#xff0c;仅有几个非常简…

leetcode746. 使用最小花费爬楼梯

一:题目 二:上码 class Solution { public:/**思路:1.分析题意给出的数组的下标代表楼梯的台阶数2.动态规划五步走1>:确定dp数组以及下标的含义dp[i]:表示到达第i层所需要花费的体力2>:确定dp数组的递推公式那么如何得到dp[i](花费的体力)呢&#xff1f;dp[i]由dp[i-1]或…

SS CMS 全新跨平台 V7.0 版本正式发布

今天&#xff0c;我们很高兴宣布基于.NET CORE平台的全新 SS CMS V7.0正式发布&#xff0c;新版本采用.NET CORE模块化和高性能实现&#xff0c;用于创建在Windows&#xff0c;Linux、Mac以及Docker上运行的Web应用程序和服务。SS CMS 7.0 之旅在此&#xff0c;我们简单回顾一下…

leetcode62. 不同路径

一:题目 二:上码 class Solution { public:/**思路:1.分析题意:2.动态规划五步走:1>:确定dp数组和其下标的含义dp[i][j]为到达二维数组下标为i&#xff0c;j的路径条数,i和j为下标2>:确定dp数组的递推公式那么dp[i][j]是如何求解出来的呢?只能是两个方向左边:dp[i-1][j…

推荐一本基于ASP.NET Core 3.1的实战来了

第一本基于 ASP.NET Core 3.1 的实战书来了我脱产花费了一年时间创作书籍《深入浅出 ASP.NET Core》&#xff0c;终于上架了。目前天猫、京东等主流平台均有销售。这本书是基于.NET Core3.1 平台&#xff0c;从 ASP.NET Core 的基础入门,通过项目实战结合 ASP.NET Core 源代码解…

leetcode63. 不同路径 II

一:题目 二&#xff1a;上码 class Solution { public:/**思路:1.分析题意:这里有障碍物,所以我们的做法会有点变化&#xff0c;如果这个障碍物出现在左侧或则右测的话那么我们确定的是其障碍物包括其后面的下标将均为0,如果障碍物出现在上诉区域外的话&#xff0c;那么就直接…

C#刷剑指Offer | 从上到下打印二叉树

【C#刷题】| 作者 / Edison Zhou这是EdisonTalk的第288篇原创内容我们来用之前学到的数据结构知识来刷《剑指Offer》的一些核心题目&#xff08;精选了其中30道题目&#xff09;&#xff0c;希望对你有帮助&#xff01;本文题目为&#xff1a;从上到下打印二叉树。1题目介绍题目…

跟我一起学.NetCore之自定义配置源-热更新-对象绑定

前言上一篇针对不同的配置源进行举例演示&#xff0c;感受到不同配置源和不同数据格式使用统一操作的便捷(即没有什么加一层解决不了的&#xff0c;这个不是我说的)&#xff0c;这里接着说说自定义配置源、配置热更新、配置绑定对象相关操作&#xff1b;配置源回顾&#xff1a;…

leetcode343. 整数拆分(思路+详解)

一:题目 二:上码 class Solution { public:/**思路:1.分析题意:将一个数拆分为几个数相加的和 然后求取这几个数相乘的最大积,这个就很动态规划也就是我们可以得到多种结果&#xff0c;要在多种结果中取最优2.动态规划:1>:确定dp数组代表啥&#xff0c;以及下标的含义dp[i…

C++ 学习之旅(14)——构造函数constructors和析构函数destructors

首先我们看下一个简单的类&#xff1a; #include <iostream>class Entity { public:float X, Y;void Print(){std::cout << X << "," << Y << std::endl;} };int main() {Entity e;e.Print();std::cin.get(); }输出结果如下&#xf…