在理论背景下,计算机科学与数学有何区别?


15

我是计算机科学专业的大学学生,对数学学习充满热情。我坚信计算机科学或理论计算机科学是数学和逻辑学的直接分支,并且我认为计算机科学学位实际上必须始终以数学为导向。如果我错了,请纠正我。

坦白说,我觉得有没有很多在2个科目差异坦率地说,因为每个“计算”涉及“计算”,虽然每次“计算”可能不是“计算”。再次请提供大量信息和证据,如果我在这里误会了,请及时更新。谢谢


5
回复:“每个“计算”都涉及“计算””:这似乎与我切向相关,因为CS研究实际上并不包含进行计算,而数学研究也不真正包含进行计算。
ruakh

“尽管每个“计算”可能都不是“计算”。”“如果Church-Turing命题成立并且我们(人类)只是图灵机,那么是的,每个计算只是图灵机和(人类思想产生的一切都只是机器的输出...
Bakuriu

1
完成学业。您将意识到,计算机科学家和数学家以不同的方式思考和解决问题。那是你的答案。
拉斐尔

1
我觉得统计资料处于相似的位置。在最理论的形式中,它是数学的一个分支,在其应用形式中,“仅”使用数学来解决非数学问题,并且没有明确的分界线。
RemcoGerlich '16

1
IMO CS更注重实践,而数学则更具理论/抽象性。我想说,CS的大多数研究都关注/侧重于实践方面,并且在许多情况下是由直接工业需求驱动的,而有些公司则在后面。因此,就像其他人所说的那样,CS通常不会做数学研究人员正在做的事情。
xji

Answers:


18

理论计算机科学是理论计算机科学家的工作。数学是数学家的工作。除此之外,没有任何可接受的定义。有人可能会争辩说,理论计算机科学是数学的一个特定分支(或多个分支),受(至少最初)受有效计算问题的影响。

功能分析,范畴论,代数几何,代数数论等许多数学领域显然不是理论计算机科学。但是,有时这些领域会应用于理论计算机科学。如果有一群理论计算机科学家决定研究它们,那么它们的某些部分便可能成为理论计算机科学的一部分。

另一方面,可计算性理论并不一定是理论计算机科学的一部分,这取决于以哪个理论计算机科学社区作为参考。理论上计算机科学(或至少称为“理论A”的部分)传统上是关于可以有效计算的内容,而不是根本可以计算的内容。

许多数学定理不具有计算内容,在某些情况下,这可以变得很精确。一个例子是川村得出的结论,即ODE通常很难解决。并非每个数学证明都具有建设性的内容是不对的–实际上,确实存在一些非建设性的数学技术,例如在其任何其他形式中使用紧凑性或选择公理。

如果您对数学陈述和证明的计算内容感兴趣,则可能需要研究反向数学有界算术(有时称为可行数学可行算术)。


评论不作进一步讨论;此对话已转移至聊天
拉斐尔

(理论上的)计算机科学的许多领域显然不是数学(从某种意义上说,它们并不是数学家所做的)。
拉斐尔

范畴论显然不是计算机科学理论吗?在我的大学里,该课程完全由计算机科学系教授(尽管数学系也进行了一些研究)。
帕尔GD

8

计算机科学对软件工程而言就像化学对化学工程一样。

实际上,大多数科学领域都具有一门或多门工程学科。生物学产生了生物医学工程,基因工程等。物理学产生了航空航天工程,电子工程等。之所以没有一对一的对应关系,部分原因是工程学经常依赖于多个科学分支,而且科学的各个分支实际上并没有真正的区别。

数学与计算机科学的关系与数学与物理的关系几乎相同:这是两者的基础。可以将理论计算机科学视为数学的一个分支。但是理论物理学也可以...


我可以追溯到一个时代,当时所有从事计算机科学工作的人都是“真正”的人。他们“真的”是工程师,或者“真的”是数学家,或者“真的”是语言学家,或其他。当时,图灵是正确的。
别名

在当前趋势下,这是否意味着不必成为一名优秀的程序员就可以成为数学家?
汇率过高的情况,

拥有良好的数学基础对于成为软件工程师和对于化学工程师或土木工程师而言同样重要。
别名

作为软件工程师,当您说出良好的数学基础时,您是否认为这些是数学上足够的主题,那么它应该足够强大,并且能够在构建软件时根据需要应用这些概念?
汇率过高的情况,

如果您将其发布为问题,则可能会以“主要基于意见”的形式结束。您需要多少数学在一定程度上取决于您的工作。
别名

6

一言以蔽之,我要说的是与计算复杂性有关的关注点。

在数学中,您只关心可能性和正确性。在TCS中,您不仅担心这个问题,而且担心这个问题的计算难度,包括时间复杂性,可近似性,空间复杂性,I / O复杂性等。

就像使用任何规则一样,您可能可以在某个地方找到一个奇怪的例外,但是在我看来,这总体上是非常准确的。


这丝毫不妨碍计算机科学成为数学的一个分支。如果CS不适合,您对“数学”的定义太狭窄。
2016年

@Wildcard:尽管计算机科学也不是数学的分支……就像物理学也不是。人们不将计算机科学家称为数学家,计算机科学家通常也不将自己称为数学家。哎呀,有些人甚至质疑统计学是否被认为是数学...我不会尝试打开那种蠕虫,但是这些肯定足以表明我对数学的定义并不算“太狭窄”意味着...
user541686 '16

公认的物理学定律仅来自观察,假设,真实世界的实验,更多的观察,假设的修正,更多的真实世界的实验,更多的观察,以及假设的发展为“理论”的状态等。CS从定义正确公理出发,到基于这些公理的定理(或算法)的证明。它不会因对现实世界的观察而失效,也不会因实验而失效。因此,它是数学,不是科学根据的科学方法。
通配符


很公平; 非常感谢您的链接。尽管比较清楚地看到我的定义与Wikipedia之间的关系是很不错的,但我还是希望在术语之间使用我自己的区分(并不是唯一的区分)。本质上,我将科学定义为Wikipedia:“ ...关于宇宙的可测试解释和预测”,我将其涵盖“自然科学”和“社会科学”,但不包括“形式科学”,因为它们是先验的,而不是先验的可测试的。同样,我对“数学”进行定义,以使其涵盖所谓的“形式科学”(包括CS)范围内的所有内容。
通配符

1

数学是对定义及其后果的研究;结构和图案。计算机科学是完成事情的艺术和科学。数学家研究问题是为了理解其背后的抽象结构。另一方面,计算机科学家希望找到一种解决类似问题的通用方法。

计算机科学的某些子领域与数学重叠。其他人则更接近统计,工程,科学甚至社会科学。


1

作为Pseudonym的回答的补充,我要补充说,计算机科学像物理学一样,具有一种经验性的组成部分,而数学却没有,也没有。

与物理学不同,计算机科学的经验部分与时间和空间有关,但是由于它们与语言有关,因此是后验的。这意味着我们对用数学术语形式化(因为我们是科学家)感兴趣,这与语言经验和语言体验有关。从哲学上讲,这个定义只是一个对话的开始,但是我认为它会有所帮助(这就是为什么我决定发布它)。

也就是说,相邻(或互补)场之间的边界绝不是绝对的。科学总是比我们的学术分类所能表达的更加丰富和复杂。


0

与Mehrdad就他的回答发表评论后,我觉得我应该提供自己的答案;实际上,这个问题有很多哲学方面的观点,它们的解释比现代计算机科学家中流行的分类更为广泛。

要解决您的确切声明(添加重点):

我坚信计算机科学或理论计算机科学是数学和逻辑学的直接分支,并且我认为计算机科学学位实际上必须始终以数学为导向。如果我错了,请纠正我。

您的分类与Wikipedia和许多现代计算机科学家不同,但这是否意味着错误? 不必要。甚至维基百科本身也承认对此主题的反对意见,包括我自己的观点。


首先让我们考虑一下定义。(添加了重点。)这些摘录均摘自Wikipedia;这些摘录均摘自Wikipedia。每个摘录的第一个单词或短语中都提供了链接。

科学是系统的企业,它以可检验的关于宇宙的解释和预测的形式来建立和组织知识

当代科学通常细分为研究物质宇宙的自然科学。研究人类和社会的社会科学;以及研究逻辑和数学的形式科学。由于形式科学不依赖经验观察,因此经常被排除在外。

并进一步(从另一个页面):

数学(源自希腊语“知识,学习,学习”)是对主题的研究,例如数量(数字),结构,空间和变化。关于数学的确切范围和定义,数学家和哲学家之间存在着各种各样的观点。

数学家寻找模式并用它们来构想新的猜想。数学家通过数学证明来解决猜想的真伪。

...

如今,即使在专业人士之间,也没有关于数学定义的普遍共识。

...

许多哲学家认为数学在实验上是不可证伪的,因此也不是一门科学。

现在,关于CS:

理论计算机科学是一般计算机科学和数学的一个分支或子集,它侧重于计算的更多抽象或数学方面,并包括计算理论。


根据Wikipedia关于“科学分支”的文章,

与其他科学不同,形式科学不关心基于现实世界中的观察(经验知识)的理论的有效性,而是关心基于定义和规则的形式系统的属性。

那里的分类继续将理论计算机科学指定为形式科学数学的分支。

但是,鉴于明确的事实是,数学没有公认的定义,但肯定包含数学(形式)证明,因此将“形式科学”分类中的所有内容都包括在“数学”定义的范围内就不会太过分了。似乎做到了。


我自己的定义(分类)将“形式科学”从“科学”的范围中排除,原因是上述理由不依赖于经验观察。

此外,我自己对“数学”的定义在其范围内包括了包括计算机科学在内的全部所谓的“形式科学”。

我将在这些术语之间做出区分的是科学是经验主义的。数学是基于主要假设的推论得出的。

科学的有效性基于观察的准确性。

适用性数学取决于初级假设的适用性。


您认为化学是物理学吗?
user541686

@Mehrdad,否:物理学主要涉及能量和能量形式的变化。化学主要处理物质和物质形式的变化。它们确实有一些重叠(应用上相似)。尽管我想知道这个问题是否旨在作为戳戳?
通配符

等一下 在我的回答下,您一直都在与我争论CS是某种数学,因为两者都是基于公理而不是观察值或其他任何东西,但是现在我问到化学反应,您只是在忽略自己的逻辑,告诉我化学反应是实际上不是物理学,因为它“主要处理物质”而不是能量?显然,CS处理计算,而数学处理真理/逻辑/任何事物,那么为什么不在那里应用逻辑呢?(没关系,您也错了,例如“物质状态”是物理问题,而不是化学问题。)
user541686

物理和化学都是经验科学的分支。CS,算术,一阶逻辑,代数,微积分,几何,图论,三角学,关系论都是数学的分支。当然,其中许多都包括分支。例如,trig包括球形trig。CS有许多分支。它仍然是数学的一个分支。(此外,我不知道您为什么要强调物理;我从未声称“物理”和“科学”是同义词。)
Wildcard

并不是要说的是,数学的各个分支之间存在牢固而快速的分界线。我也不主张经验科学的各个分支之间有固定的分界线。还有就是数学和科学之间有着明显的分界线,因为方法是根本不同的。(数学从定义上正确的假设出发,科学从经验出发。)如果数学的主要假设与经验观察相符,则数学甚至可以应用于科学。
通配符
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.