linux内核的一些知识点(中)
内核为用户进程提供的交互接口,可以为用户进程提供受限制地访问硬件设备、申请操作系统资源以及创建进程和进程通信等能力。linux中的每个系统调用都对应一个系统调用号,调用号用于指明具体哪个系统调用。 系统调用既为应用程序提供了请求接口,又保证了系统的安全和稳定。用户空间的程序不能…
linux内核的一些知识点(上)
应用层通常专注于API的使用,认为将其看成是一个黑盒即可,但了解操作系统的一些机制将有助于我们更好地使用它,也有助于避免犯错误。 1969年,unix从贝尔实验室诞生,由一个失败的操作系统multics发展而来,它发布时带上了源码,以至于很多组织都对其进一步改进。它由C语言编写…
不确定世界的模型
我们生活在一个极其复杂的世界,不管是小到分子原子亦或是大到整个宇宙,其复杂程度都是超乎想象。或许你不曾深入去思考过身边事物的复杂性,那是因为你已经对你日常所见习以为常。所有在你出生之前发明的事物都是这个世界的自然组成部分,所以很多事物给人的感觉都是这个世界本来的样子。 像人类这…
现实世界的模型与理论
为了去分析理解现实世界的万物与人类的思想,我们引入了很多概念,从而形成概念体系。概念体系则被称为模型,将逻辑应用于模型得到的见解称为理论。比如数学有很多概念,这些概念组成数学模型,有很多应用在数学上的逻辑则是数学理论。数学模型非常严格,所以应用面非常广。一般模型理论的正确性可通…
大自然能否演变出一台计算机
按目前的科学解释,万物都是由原子和分子组成,大量的原子分子经过不同的组合从而形成不同的物体。从随机的角度来看,只要时间足够长就可以产生任意的物体。正所谓随机蕴含着万物,那么如果让大量原子和分子自由组合,经过很长时间是否就能产生一台计算机呢? 虽然说只要拥有随机机制并伴随很长时间…
了解无人驾驶汽车原理
无人驾驶汽车,又称自动驾驶汽车或轮式移动机器人,是一种运输动力的无人地面载具。我们理想的无人驾驶汽车是无需人类操作即能从地点A行驶到地点B,不管途中环境多复杂天气多恶劣都由机器自己完成。无人驾驶汽车的核心在于无人驾驶技术,如果说汽车工业是制造业的皇冠,那么无人驾驶技术就是皇冠上…
UMA架构与NUMA架构下的自旋锁(CLH锁与MCS锁)
我们知道自旋锁是实现同步的一种方案,它是一种非阻塞锁。它与常规锁的主要区别就在于获取锁失败后的处理方式不同,常规锁会将线程阻塞并在适当时唤醒它。而自旋锁的核心机制就在自旋两个字,即用自旋操作来替代阻塞操作。某一线程尝试获取某个锁时,如果该锁已经被另一个线程占用的话,则此线程将不…
再看计算机体系基础
CPU即处理器,是计算机中控制数据操控的电路。它主要由三部分构成:算术/逻辑单元、控制单元和寄存器单元。它们的作用分别为执行运算、协调机器活动以及临时存储。 CPU中的寄存器分为通用寄存器和专用寄存器,通用寄存器用于临时存放CPU正在使用的数据,而专用寄存器用于CPU专有用途,…
几大智能语义平台调研
云小蜜是一款面向开发者的会话机器人,支持在不同的消息端上实现基于自然语言处理(NLP)的智能会话。包含以下常用领域: 百度的DuerOS并不仅仅只是提供简单的机器人,而更像是一个操作系统,提供了软件和硬件的各种接口开发。主要有三大类: 小微客户机器人适用场景:用户导入业务领域知…
人机对话系统与自然语言处理
一两年前由于工作需要重点研究过自然语言处理与人机对话系统,本文将会列出的它们的知识点以及自己的思考。 对于普通企业,人机对话目前主要的应用是任务型人机对话系统。不管是nlp亦或是chatbot,学术上和工程上都有不同的实现手段。学术界上人机对话系统的研究成果以及最新的研究趋势在…
人工智能的本质是最优化过程
为了将事物和问题转化为最优化问题数学模型我们需要考虑三个要素:因素变量、约束条件和目标函数。我们根据事物和问题先找到影响模型的所有因素变量,然后再根据目的建立一个目标函数用来衡量系统的效果,最后还要找到客观的限制条件并作为模型的约束。 如上公式,实际问题的因素变量其实可以看成是…
这些年我坚持写作这件事
专注于人工智能、读书与感想、聊聊数学、计算机科学、分布式、机器学习、深度学习、自然语言处理、算法与数据结构、Java深度、Tomcat内核等。 坚持写作已经快接近5年了,文章涉及面也较广。已出版《Tomcat内核设计剖析》、《图解数据结构与算法》,即将出版《人工智能原理科普》。…
人类的数学抽象思维
如今的数学已经变得相当抽象深奥,但实际上数学却并非生来如此,数学的发展主要是由现实问题来推动,对数学进行抽象能使其成为通用性更强的理论。通过抽象思维从实际问题中提取出规律和概念,将更加本质性的东西提取出来是非常有必要的。这些规律能推广到其它很多学科上,比如物理、化学、计算机科学…
以向量和矩阵的视角抽象万物
从广义上,我们通过宇宙来定义万物,宇宙也是时间和空间的统一。对于整个物理世界,时间和空间是最重要最本质的两个维度。如果抛开时间维度,则可以通过空间来描述事物。空间能容纳事物,就好比现实世界中的人、建筑等都在某个空间内。 空间概念也可以推广到其它领域中,比如数学的空间就是点和几何…
聊聊香农的信息熵
我们生活在一个极其复杂的世界,不管是小到分子原子亦或是大到整个宇宙,其复杂程度都是超乎想象。或许你不曾深入去思考过身边事物的复杂性,那是因为你已经对你日常所见习以为常。所有在你出生之前发明的事物都是这个世界的自然组成部分,所以很多事物给人的感觉都是这个世界本来的样子。 像人类这…
计算机如何从 0 发展而来
现代计算机已经发展的非常复杂,要理解计算机的运行原理都已经变得异常艰难,虽说我们无法亲自去制造他,但我们可以了解下计算机系统是怎么从0发展而来的。 逻辑门是计算机的基础元件,通过它可以完成逻辑运算(也称布尔运算),这类运算输入输出都只有0和1。 执行“与”操作,两个输入一个输出…
一文了解人工智能——学科介绍、发展史、三大学派
在介绍人工智能之前,我们要先了解智能到底是什么?智能,其实就是智力和能力的总称。世界著名教育心理学家霍华德·加德纳提出了著名的“多元智能理论”,他认为人类个体都独立存在着八种智能,分别如下: 视觉—空间智能,指对线条、形状、结构、色彩和空间关系的敏感以及通过平面图形和立体造型将…
人工智能如何自己玩游戏?
近些年来,人工智能在各类媒体大肆宣传报道下又大火了起来。以大众的眼光来看,人工智能看似已经无所不能了,自动驾驶、智能机器人、人脸识别、语音翻译以及下围棋玩游戏等等,这些都不在话下。 正所谓外行看热闹内行看门道,实际上,目前的人工智能所用到的技术主要是一些机器学习算法,属于弱人工…
计算机的本质是什么?逻辑?数学?
1946年,在美国的宾夕法尼亚大学诞生了第一台现代电子计算机ENIAC。虽然在今天看来ENIAC计算能力连手机,甚至是十几块钱的计算器都比不上,但它在当时却是相当强大。ENIAC的体积非常庞大,得好几个大房间才能放下它,耗电也相当恐怖,一开机全城家家户户电灯都要变暗。 之所以称…
一文了解人工智能神经网络的原理
人脑可能有1000多亿个神经元,每个神经元都可能在几个方向上互相连接着,这么大量的神经元及连接就形成了一个超级大型的网络。我们就是因为这些网络而存在各种各样的思想和意识。 大脑神经元即是脑神经细胞,主要包括细胞体、树突、轴突、突触等。 细胞体,由细胞核、细胞质和细胞膜组成。它是…