www.teandq.com
晓安科普

科学知识的范围(科学知识的范围包括什么)深度揭秘

2023-09-13Aix XinLe

随着世界技术变得更加先进,编程已成为许多人想要学习的一项关键技能。然而,有一个常见的误解,认为编程不需要任何数学知识。这种说法并不完全正确。虽然

科学知识的范围(科学知识的范围包括什么)深度揭秘

 

随着世界技术变得更加先进,编程已成为许多人想要学习的一项关键技能然而,有一个常见的误解,认为编程不需要任何数学知识这种说法并不完全正确虽然你可以在没有数学的情况下进行编程,但学习数学可以使编程更容易理解,并且它可以解开整个物理宇宙的秘密。

然而,魔法并不是真正的数学开发人员经常避免学习数学,因为它看起来很可怕,但他们没有意识到数学是所有编程的基础,从简单的代码到计算机图形和神经网络等复杂的程序理解数学概念是真正工程师与新手的区别我们不是数学天才。

我们恰恰相反,这使我们具有独特的资格来教授任何程序员都需要理解的十个基本数学概念1. 数字系统

纵观历史,人类曾使用过各种方法来计数事物,但大多数都是以数字“10”为基础我们手上有十根手指,这就是我们用来数数的例如,在数字423中,四在百位上代表四乘以百,二在十位上代表二乘十,三在个位上代表三乘一。

然而,计算机采用双数字系统(也称为二进制)工作在基数 2 中,位值的概念与基数 10 的工作方式相同,但由于只有两个符号可供使用,因此每个位置都乘以 2以 2 为基数的前几个数字是 1、2、4、8、16、32、64、128 等。

每个数字都是前一个数字的两倍了解基数 2 对于理解其他数字系统(例如十六进制,基数为 16)至关重要十六进制使用数字 0 到 9 以及 A 到 F 来表示数字例如,十六进制中的数字 A 表示以 10 为基数的数字 10。

十六进制通常用于更简洁地描述二进制值,因为每个十六进制数字可以转换为四位Base64 数字系统通过引入二进制值的附加字母和符号来提供更复杂的编码方案因此,开发人员可以将包括图像在内的二进制数据作为文本字符串传送。

其应用扩展到电子邮件附件和网页内容编码计算机采用基数 2,但仍需要以基数 10 表示数字才能便于人类理解因此,应用程序和界面中的数字缩影以 10 为基数为了在二进制系统中显示它们,必须将数字转换为 2 基数。

2.布尔代数布尔代数代表了计算机科学和编程中的基本构造,在编写代码时几乎总是使用它它是代数的一种变体,涉及只能有两个可能值(真或假)的二元变量在本次演讲中,我们将讨论布尔代数的基本元素,以及如何在编码中使用它们。

布尔代数中存在三种运算符:合取、析取和取反合取运算符(AND)用于融合两个或多个布尔值,并且仅当所有输入值都为 true 时,结果值才为 true另一方面,析取运算符(OR)用于合并两个或多个布尔值,如果任何输入值为 true,则结果值为 true。

否定运算符(NOT)用于反转布尔值,如果输入值为 false,则结果值为 true,如果输入值为 true,则结果值为 false为了阐明布尔代数的概念,让我们假设一个相关的例子想象你正在努力争取一个重要的人。

我们可以利用布尔变量“富裕”和“有吸引力”来定义你如果你既富有又漂亮,你很可能会找到一个重要的人然而,如果你既不富裕也不有吸引力,你可能不得不向一个模范的重要人物支付报酬如果你很富有或者很有吸引力,你仍然可以找到一个重要的人,但你的选择会受到更多限制。

我们可以使用 if 语句在代码中演示此逻辑,或者我们可以使用维恩图直观地描绘它

维恩图是一组元素的图形表示在这种情况下,我们可以使用维恩图来显示布尔值的各种组合真值表是另一种直观地表示布尔值的方法真值表是展示输入值和结果输出值的所有可能组合的表3.计算机科学中的浮点数在计算机科学领域处理数值时,最普遍的方法之一是利用浮点数。

这些数字实体为程序员提供了平衡精度和范围的选项,因为这些值的存储容量是有限的如果不熟悉浮点数,人们可能会质疑计算机如何生成无意义的结果,例如将 0.1 和 0.2 加起来得到 0.30004解释在于科学领域,根据测量的范围,数字的范围可能很大。

为了避免完整列出这些数值,科学界使用科学记数法,即指数将数字提升为四舍五入值,从而创建更简洁的数值形式考虑到存储容量的限制,计算机的运行方式与浮点数类似特别是,单精度浮点数需要 32 位,而双精度浮点数(Python 和 JavaScript 等编程语言中的默认值)需要 64 位。

这就是为什么它们被视为“浮点数”,因为数值在小数点之前或之后没有固定的位数浮点数是编程中广泛使用的数字格式然而,由于其二进制性质,特定值(例如 0.01)无法以这种格式精确表示因此,在使用浮点数执行运算时,可能会出现微小的误差,通常称为舍入误差。

为了避免这些不准确的情况,程序员必须了解浮点数的限制并相应地对其代码进行调整这可能需要改变操作顺序、采用更高精度的数据类型或应用舍入函数来纠正任何差异必须承认并解决这些问题,才能在计算任务中产生准确可靠的结果。

4. 对数对数函数是代数中的基本概念,经常在高中数学课程中教授为了更好地理解这些功能,请考虑一根实际的原木,例如一块长木头原木的长度从 16 英尺开始,逐渐锯成两半,直到达到 2 英尺的长度观察通过日志绘制的线是如何逐渐弯曲而不是完全笔直的。

在计算机科学中,这条渐变曲线代表了多种算法的操作,包括二分搜索然而,有趣的是,如果已知原木被切割的次数,则对该值进行 2 次方即可得出原木的原始长度在这种情况下,使用了四次切割来实现 2 英尺的长度;因此,2 的 4 次方就得到了原木的原始长度。

这称为求幂相反,对数是指数的精确逆运算假设我们不知道指数,但知道圆木的原始长度,并且我们想要确定圆木必须被切割多少次才能达到 2 英尺的长度这可以使用原始长度的以 2 为底的对数来计算,得到的值为 4当以 2 为底时,它被定向为二进制对数。

然而,在数学中,以 10 为底的常用对数更为普遍对数函数的应用超出了数学范围,包括科学、工程和计算机科学它们协助解决与增长率、声级和地震震级等相关的问题此外,它们还用于金融,例如计算利率和复合增长5.集合论

对于那些刚刚接触计算机科学或编程领域的人来说,集合论可能看起来很陌生然而,本质上,它是对不同的、无序实体的集合的研究本文旨在更深入地探讨集合论的复杂运作及其在计算机科学和编程领域的作用关系数据库展示了集合论实际应用的一个主要例子。

在这些数据库中,表是由唯一的行数组组成的资产这些表可以通过集合论以多种方式组合例如,如果您希望选择两个表上匹配的记录,则将采用内部联接(也称为交集)相反,如果您的目标是从两个表中获取所有匹配记录,则将使用完全外连接或集合论中的并集。

当合并左连接和右连接时,这些概念结合在一起通过合并两个集合之间的差异的交集,形成一个新集合,该新集合仅包含两个集合共有的元素至关重要的是要理解,上述结构在元素数量方面是有限的,属于离散数学的范围相反,连续数学,例如几何和微积分,处理实数和近似值。

集合论在计算机科学和编程领域发挥着至关重要的作用,因为它能够组织和操作数据了解集合论后,我们可以对数据集执行各种操作,包括排序、过滤和聚合6.线性代数线性代数是理解计算机图形学和深度神经网络所必需的数学分支。

要理解它,您必须首先了解三个基本术语:标量、向量和矩阵标量是单个数值另一方面,向量是数字列表,与一维数组相当最后,矩阵就像一个网格或二维数组,包含数值的行和列向量和矩阵的迷人之处在于它们表示点、方向和变换的能力。

向量可以表示三维空间中的点和方向,而矩阵可以表示这些向量发生的变换考虑一下:当您在视频游戏中移动玩家时,灯光和阴影以及图形都会发生神奇的变化但这不是魔法;而是魔法它是分布在 GPU 上的线性代数线性变换可能是一个复杂的问题,但让我们检查一个特定的场景。

考虑一个立即驻留在 0.2X 3Y 处的 2D 矢量,表示图像中的一个孤立点缩放、平移、旋转、剪切和其他线性变换的应用是一个可能的探索途径然而,假设目的是将点更改为 4X 6Y在这种情况下,需要缩放因子的矩阵表示,同时将精确点修改为列向量。

通过使用矩阵乘法,可以将该点移动到所需的位置广泛利用这种操作的一个领域是密码学,更具体地是RSA加密此外,深度神经网络依赖于向量作为表示特征的手段通过矩阵乘法,数据可以在网络节点之间传播尽管这些转换背后的数学看似简单,但处理大量数据所需的计算能力却是惊人的。

数学研究对于理解计算机的魔力来说是不可或缺的7.组合学组合学是计算和理解模式的艺术它处理集合的组合和排列,并用于从应用程序算法到全局数据库的各种应用程序在本文中,我们将探讨组合学的概念及其在各个领域的相关性。

组合学就是对事物进行计数,尤其是在将集合组合成组合或排列时例如,如果您有一个像 Tinder 这样的应用程序,您可能需要计算所有可能的匹配组合,作为更复杂算法的一部分,该算法计算出向最终用户显示的内容同样,如果您正在构建一个全球分布式数据库,您需要计算出您在全球范围内需要多少个数据库分区。

最终,这一切都是为了理解模式是如何出现的斐波那契数列是组合数学工作原理的一个很好的例子斐波那契数列的公式如下图所示编写一个生成它的函数是一个很好的练习,可以让您掌握组合学的概念谷歌的工程师使用相同的逻辑在谷歌地图等工具上渲染图块。

斐波那契数列也很普遍,我们可以在鹦鹉螺壳的螺旋或葵花籽的排列中看到它组合学与图论密切相关图论涉及图的研究,图是用于解释事物之间成对关系的数学模型图论广泛应用于计算机科学、电信和社交网络分析8. 统计人工智能是一个严重依赖统计学原理的研究领域。

该领域涉及开发可以从数据中学习并根据该信息做出预测或决策的算法和模型从本质上讲,机器学习是一种执行统计分析的复杂方法本文旨在阐述统计在人工智能领域的重要性,并概述一些对于任何寻求人工智能职业的人都至关重要的基本统计概念。

当您与 ChatGPT 等人工智能聊天机器人交互时,系统会根据统计模型计算符合输入提示的概率,从而生成响应必须清楚地掌握集中趋势的度量,即均值、中位数和众数,它们是必要的统计工具此外,理解标准差的概念至关重要,因为它有助于研究数据集中的值与平均值的接近或远离程度。

线性和逻辑回归是人工智能中常用的两种关键统计方法在线性回归中,目标是预测连续值,例如以货币形式表示的损失或收益输入和输出变量之间的相关性是线性的,主要目标是找到最适合数据集的线另一方面,逻辑回归在不同的问题场景中有效,例如分类,例如区分热狗和非热狗的图像。

在这种情况下,输入和输出变量之间的关系不是线性的,而是一个预测布尔变量为真或假的概率的 sigmoid 函数9. 复杂性理论复杂性理论使我们能够了解算法理想情况下应该使用多少时间和内存大O符号在复杂性理论中用于表示复杂性。

关于时间复杂度,输入表示执行给定任务所需的步骤数例如,从数组中提取单个元素将得到 0 of 1,这是常数时间,非常快速且简单相反,遍历数组会得到 n 的 0,其中 n 是数组的长度如果在该循环的每次迭代中,我们再次遍历同一个数组,则会产生 N 平方的 0,这明显降低了效率。

像二分搜索这样的复杂算法,每次迭代都会将搜索空间减半,从而产生对数时间复杂度了解复杂性的衡量是技术面试的基础,也是一般情况下的必要考虑因素当试图理解复杂性理论时,必须理解时间复杂性算法的时间复杂度表示完成任务所需的步骤数。

算法采用的步骤越多,消耗的时间和内存就越多因此,了解如何衡量时间和内存的复杂性至关重要大 O 表示法经常用于表达时间复杂度它是定义函数增长率上限的数学符号符号 O(1) 表示恒定的时间复杂度,这表明无论输入大小如何,该方法都花费相同的时间。

相反,O(n) 表示线性时间复杂度,这意味着算法的运行时间随着输入大小线性增加类似地,O(N²) 表示二次时间复杂度,这意味着算法的运行时间随着输入大小呈指数增长例如,如果我们需要遍历一个大小为 n 的数组,则时间复杂度将为 O(n)。

然而,如果我们在该循环的每次迭代中再次交叉相同的显示,时间复杂度将为 O(n²),效率相当低二分搜索是一种更复杂的算法,每次迭代都会将搜索区域减半,从而产生对数时间复杂度理解不同算法的时间复杂度之间的权衡对于为给定任务选择最有效的算法至关重要。

10.图论当谈到数据结构时,图表是最强大、最通用的工具之一图表用于表示对象或概念之间的复杂关系,并且可以在从社交网络到交通系统的一切事物中找到在本文中,我们将仔细研究什么是图,以及如何在编程和数据分析中使用它。

在最基本的层面上,图由两种类型的元素组成:节点(也称为顶点)和边节点是图中的各个元素,而边是这些元素之间的连接例如,在社交网络中,一个人可能是一个节点,两个人之间的关系可能是一条边如果你爱你的妈妈,你的妈妈也爱你,这就是无向图的一个例子,因为这种关系是双向的。

另一方面,如果你爱你的 OnlyFans 女朋友,但她不爱你,这将是一个有向图,因为这种关系只是单向的边缘也可以加权,这意味着一种关系比另一种关系更重要例如,在交通网络中,某些道路可能比其他道路更快或更高效,并且这些关系可以通过加权边来表示。

确定图是有环图还是无环图是图论中的一个重要因素如果一个节点可以遍历回自身,那么它被认为是循环的,否则,它被称为非循环的这种区别具有重要意义,因为它影响可用于检查或操作图表的算法作为软件开发人员,从头开始构建图表是一项常见的活动。

然而,更重要的是了解如何遍历它们遍历表示探索图以定位特定节点或关系的过程可以使用多种算法进行图遍历,但最流行的方法之一是 Dijkstra 算法该方法用于发现通过图的最有效路线

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

科学科学知识的范围(科学知识的范围包括什么)深度揭秘

2023-09-13Aix XinLe79

科学知识的范围(科学知识的范围包括什么)深度揭秘随着世界技术变得更加先进,编程已成为许多人想要学习的一项关键技能。然而,有一个常见的误解,认为编程不需要任何数学知识。这种说法并不完全正确。虽然…

科学科学知识的范围(科学知识的范围包括人体吗)快来看

2023-09-13Aix XinLe152

科学知识的范围(科学知识的范围包括人体吗)快来看‍‍科学研究与技术运用均与伦理问题相关,伦理反思应该成为科技发展计划的重要组成部分,伦理原则和伦理评价应介入其中。这在新科学、新技术,如纳米科学与纳米技术、生物研究与生物技术、信息理论、复杂架构中表现得更是突出。…

探索驱动程序之家(驱动程序无法使用怎么办)深度揭秘

2023-09-13Aix XinLe81

驱动程序之家(驱动程序无法使用怎么办)深度揭秘开机界面可以设置自己电竞酒店网咖的logo,这个是不是很独特啊 ,有兴趣的可以研究下!以 ROG Strix…

知识知识付费小程序搭建(小程序开发一个多少钱啊)这都可以?

2023-09-13Aix XinLe174

知识付费小程序搭建(小程序开发一个多少钱啊)这都可以?2023年如果你接触过课源网创这个项目,那肯定不会拒绝搭建一个“轻狸知识付费小程序”,个人搭建,不需要任何企…

趣闻墙裂推荐趣闻轶事英文(辛弃疾的趣闻轶事)

2023-09-13Aix XinLe111

墙裂推荐趣闻轶事英文(辛弃疾的趣闻轶事)世界羽联(BWF)的章程设英语为世界羽联的官方工作语言。…