Between Us 3 人类的进化

博客讲述人类进化历程,从6500万年前祖先适应辐射,到与黑猩猩分化,再到直立行走、使用工具。介绍能人、直立人等阶段,指出集体学习使人类不断积累知识、改进技术,虽曾遇托巴山火山喷发灾难,但人类仍崛起并快速发展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

人类的进化 

 6500万年前,自然灾害消灭了恐龙,我们的祖先展开了适应辐射。板块构造的缓慢运动持续把欧亚大陆和美洲大陆拉开,扩大了大西洋的面积。灵长类动物占领了美洲大陆,由于被巨大的大西洋阻隔,美洲大陆的灵长类动物开始独立进化成了“新世界猴”。然后,大约在4500万年前,澳大利亚从南极洲中分裂出去。尽管在美洲,哺乳动物比大多数有袋类动物要更有竞争力。澳大利亚的有袋类动物还是发生了适应辐射。这就意味着之后,美洲拥有了猛犸象和剑齿虎的时候,澳大利亚则遍布巨型袋鼠,袋狮以及河马一样大的代熊。然后,大约在4000万年以前,一直漂浮在南大洋(南极海)的岛屿,印度,撞上了欧亚大陆。巨大的冲击使板块挤压,形成了世界上最高的山脉,喜马拉雅山脉。与此同时,在非洲,灵长类动物持续进化。在2500~3000万年以前,猿人的进化历程与旧世界猴子产生了分歧(所以我们并不是从猴子进化而来的,它们就像是我们的表哥)。另外,我们也不是从黑猩猩进化而来,黑猩猩也是我们的表哥,不是叔叔。我们人类并没有比黑猩猩进化地更高级,相反,我们和黑猩猩大约在700万年以前从共同的祖先分化开来,然后黑猩猩进一步分化除了单独的物种——倭黑猩猩。了解这个我们共同的祖先,能够很好地解释我们与其他灵长类动物所拥有的共同特征。例如,我们都有相当大的大脑,与我们的体重相比,我们的眼睛都位于头部的正面,从我们开始在森林中生活开始,深度知觉使我们能够出色地分辨出远处的那一根树枝离我们有多远etc..灵长类动物还拥有等级制度,一种社会秩序,不论领导者是雄性还是雌性,来决定谁能够优先获得食物,配偶和其他好处。

  所以,我们进化过程中的近亲黑猩猩,能够很好地解释一些我们所拥有的共同行为。一方面,尽管所有的灵长类动物都拥有等级制度,拥有98.4%相同DNA的人类与黑猩猩是最容易集结在一起发动革命反对雄性领导者的物种。我们也是容易集结成群,来看守我们的领地,攻击不知情的外来者同类,而不是出于直接的生存需要。人类观察到,黑猩猩会寻找其他群体中落单的雄性,各种踢、揍,撕拽对方的身体,把孤立无援的受伤者留在原地,让它们等死。出身卑微的人类,自然也少不了这样的行为。尽管事实上,一步步不完美的进化过程确实造就了我们的高智商(嘿嘿嘿),但我们仍旧,拥有太少的前额叶皮层来控制冲动(呜呜呜),而制造冲动的肾上腺却又太大,攻击性和嗜血欲望,肯定是我们和祖先拥有的共同点。

  尽管在700万年前,我们和黑猩猩共同的祖先都更适合于生活在森林中,通过攀爬树木来躲避危险。非洲东部地区的气候变化使环境变得更冷更干燥,许多森林变成了林地和开阔的草原,在草原上的生活意味着,我们的祖先躲避食肉动物要依靠奔跑,而不是爬树。所以人类种族的进化历程与弓形腿的黑猩猩分离开来,我们开始直立行走,使用直立向前的双腿进行移动。

  大约从400万年前的第一个南方古猿开始,人类就已经直立行走了。这同样解放了我们的双手,南方古猿个子并不高,直立高度只有1米多一点,脑袋只比现代黑猩猩大一点。大部分南方古猿都是食草动物,牙齿适合磨碎坚硬的水果和树叶。南方古猿可能通过肢体动作和原始叫声与同类沟通,但由于喉部较高,它们无法发出复杂语言所需的基本音位。

  230万年以前,能人(没错就是这两个字),登上了历史舞台。其个头并不比南方古猿高出多少,但它们拥有显著更大的大脑,尽管与之后的物种相比仍然要小很多。能人会把石头砸成尖锐的碎块来切割东西,现在,大量的物种都会使用工具。大量的这些技能,并不是由于个体的独立智慧而自发产生的,而是通过模仿来散播这种知识。一定程度上,这种社会学习形成了文化。但是,一代又一代成功的黑猩猩并没有把知识积累下来,不断地调整认识、改进认识。同样,虽然能人使用石头作为切割工具的能力使我们震惊,但在能人存在的数千年里,我们没有发现技术性的飞跃。

  直立人的时期也是如此,直立人出现在大约190万年以前,他们拥有更大的大脑,更高的身高,甚至似乎具有智慧,适应性非常强,能够在旧世界中不同的环境中生存。直立人甚至可能是第一个试图笨拙地使用火的物种。但同样,这个时期仍没有什么技术性的飞跃。工具能够搞定所有事情,只要没坏就不会想去改进。直到178万年以前,我们确实发现,肯尼亚的直立人制造出了一种全新的用途更广的水滴状的手斧;

  150万年以前,这些水滴状的父子很快变得很普通,质量变得更先进,拥有平滑的边角可以作为镐,杀猪刀等多功能工具使用。考古学家把这看作是人类调整和改进技术的第一个可能象征。这种技术可能是通故宫社会学习传播的。一丝丝微小的新事物诞生了。人类并不是因为头脑超级聪明,而凭空走到今天这一步的,而是在过去25万年的积累中不断前进的。这叫做“集体学习”,一个物种获取更多的知识,通过一代又一代的传递和积累,这就是短短几千年内,我们飞速前进的力量。如果没有直立人的集体学习,这种进步会非常缓慢,非常细微,这可能是由于交流、抽象思维、群体大小或仅仅是大脑能量的限制。

  但在接下来的200万年,事情开始逐步发展,先驱人、海德堡人和尼安德特人制造出了第一个可以随取随用的炉火,第一个有锋刃的工具,最早的木质长矛,最早的复合工具,把石头绑在木棍上组合使用,所有这些工具都出现在智人诞生以前。

  大约25万年前,尼安德特人甚至移动到了气候更寒冷的地带,在那里它们不得不发明衣服来蔽体保暖。它们使用复杂的工具来制造尖锐的武器,刮片,斧头和木柄,并随着时间的推移,不断改进着自己的工艺。尽管自然选择的进化是一种学习机制,使得物种能够一代又一代更加适应环境,伴随着大量的尝试错误和死亡。集体学习使得调整,适应和进步在更快的水平上进行,大大加快了物种每一代和代与代之间的进化速度,而不用等着你的基因慢慢突变。解剖学上与人类相似的智人大约存在了25万年,在这段时间内,我们的日常生活已经从制造石器扩大到捕鱼、贸易etc..

  到4万年前,我们拥有了艺术,包括壁画、装饰用的珠子和其他形式的珠宝,甚至还有目前世界上已知最古老的的乐器——用猛犸象牙齿和鸟类骨头雕刻成的笛子。所有这些产物都是“集体学习”的结果。只要你的种群中存在着有潜力的创新者,能够不断地产出新点子,并且能把自己的观点与其他人分享,你很有可能会取得技术性的飞跃。而现在,我们正处于这样的一个时代,这颗星球上有70亿个创新者,我们享有可以同步讯息,交换思想的互联网技术,所以我们的文明正在以史上最快的速度发展着。

  总而言之,集体学习对于我们的生存是非常有用的,但之后,7万四千年以前,灾难发生了。如今位于印度尼西亚的苏门答腊岛上的托巴山发生了超级火山喷发,使天空布满尘埃,气候冷却了下来。植物和动物,也就是食物,全部死亡。基因研究表明,这场灾难使人类人口数目降低到寥寥几千人。所以由于这场灾难,人类并不完全是近亲繁殖的。但在非洲的两大主要黑猩猩种群中,基因的多样性要比所有人类种群都要丰富。所以这个小小的种族英雄般地崛起,广泛分布在非洲。6万4千年以前,占领了丰富多样的地形环境,并持续在不断创新。

  从宇宙诞生之日起的138亿年里,宇宙的复杂性一直以强有力的态势凶猛增加。但在短短数千年的时间里,集体学习,使所有一切都变得超乎想象~

转载于:https://www.cnblogs.com/bbcfive/p/11069150.html

基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
### UF_VEC3_angle_between 函数的实现与使用方法 `UF_VEC3_angle_between` 是 NX/Open API 提供的功能之一,用于计算两个三维向量之间的夹角。它能够帮助开发者快速获取两个矢量间的相对关系,在几何建模、机械设计以及其他工程领域具有广泛应用。 #### 函数签名 以下是 `UF_VEC3_angle_between` 的函数原型: ```c double UF_VEC3_angle_between(const double vec1[3], const double vec2[3]); ``` - **vec1**: 输入的第一个三维向量数组 (x, y, z)[^3]。 - **vec2**: 输入的第二个三维向量数组 (x, y, z)[^3]。 - 返回值:返回两个向量之间夹角的弧度值。 #### 计算原理 该函数的核心逻辑基于向量点积公式来求解两向量间夹角 &theta;: \[ \cos(\theta) = \frac{\mathbf{v}_1 \cdot \mathbf{v}_2}{|\mathbf{v}_1| |\mathbf{v}_2|} \] 其中, - $\mathbf{v}_1$ 和 $\mathbf{v}_2$ 分别代表输入的两个三维向量; - $|\mathbf{v}|$ 表示向量的模长(即大小),可以通过如下方式计算得出: \[ |\mathbf{v}| = \sqrt{x^2 + y^2 + z^2} \][^3] 最终通过反余弦运算获得角度值。 #### 使用实例 下面展示了一个简单的例子,演示如何调用 `UF_VEC3_angle_between` 并打印结果: ```c #include <stdio.h> #include <uf.h> #include <uf_vec.h> extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); // 定义第一个向量 double vec1[3] = {1.0, 0.0, 0.0}; // 定义第二个向量 double vec2[3] = {0.0, 1.0, 0.0}; // 调用 UF_VEC3_angle_between 获取夹角 double angle_in_radians = UF_VEC3_angle_between(vec1, vec2); // 将弧度转换为角度并输出 double angle_in_degrees = angle_in_radians * (180.0 / M_PI); printf("Angle between vectors is %f degrees\n", angle_in_degrees); UF_terminate(); } extern int ufusr_ask_unload(void) { return (UF_UNLOAD_IMMEDIATELY); } ``` 在这个程序里,我们创建了两个互相垂直的标准基底向量 `(1, 0, 0)` 和 `(0, 1, 0)` ,预期它们形成的夹角应该是 π/2 或者说 90 度[^3]。 --- #### 常见注意事项 1. **单位化需求**:尽管 `UF_VEC3_angle_between` 自动处理了向量长度的影响,但在某些场景下预先对向量进行单位化可能会提高数值稳定性。可以借助之前提到过的 `UF_VEC3_unitize` 方法完成这一步骤。 2. **异常情况检测**:如果任意一方提供的向量全为零,则无法定义有效夹角。这种情形需要特别注意,并提前做好相应校验措施[^3]。 3. **精度控制**:考虑到浮点数固有的舍入误差问题,在比较所得角度是否接近特定值时建议引入一定容忍范围而不是严格相等判断[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值