`
buliedian
  • 浏览: 1186864 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

“计算作为一门学科”的定义

阅读更多

“计算作为一门学科”的定义

摘自:《Computing as a discipline
刘建文略译(http://blog.csdn.net/keminlau
A DEFINITION OF COMPUTING AS A DISCIPLIN

Computer science and engineering is the systematic study of algorithmic processes-their theory, analysis, design, efficiency, implementation, and application that describe and transform information. The fundamental question underlying all of computing is, What can be (efficiently) automated . This discipline was born in the early 1940s with the joining together of algorithm theory, mathematical logic, and the invention of the stored-program electronic computer.

计算机科学和计算机工程是 对计算过程(algorithmic processes)的系统研究,计算过程包括描述信息和转换信息的理论、分析、设计、效率、现实和应用。这些计算(过程)的基本问题是什么是能够被有效 地自动化的。这一学科起始于上世纪四十年代初,结合了算法理论、数理逻辑和存储程序式电子计算机的发明。

The roots of computing extend deeply into mathematics and engineering. Mathematics imparts给予;传授 analysis to the field; engineering imparts design. The discipline embraces its own theory, experimental method, and engineering, in contrast with most physical sciences, which are separate from the engineering disciplines that apply their findings (e.g., chemistry and chemical engineering principles). The science and engineering are inseparable because of the fundamental interplay between the scientific and engineering paradigms within the discipline.

计 算学科的基础深深植根于数学和工程学,吸收了数学的“分析”和工程学的“设计”。同时,计算学科包含了自己的一套理论、实践方法和工程学;而一般的学科不 是这样的,像物理的科学是把理论学科与工程学科分开的(比如,化学与化工原理)。计算学科的科学理论与工程学不分开的原因是……FIXME

For several thousand years, calculation has been a principal concern of mathematics. Many models of physical phenomena have been used to derive equations whose solutions yield predictions of those phenomena-for example, calculations of orbital 轨道的 trajectories弹道, weather forecasts, and fluid flows. Many general methods for solving such equations have been devised-for example, algorithms for systems of linear equations, differential equations, and integrating functions. For almost the same period, calculations that aid in the design of mechanical systems have been a principal concern of engineering. Examples include algorithms for evaluating stresses in static objects, calculating momenta动量 of moving objects, and measuring distances much larger or smaller than our immediate perception.

几千年以来,算术一直是数学至为关心的内容。有很多物理现象的模型被用来创立方程式,并通过计算该方 程式对物理现象进行预测,比如像弹道轨迹的计算、天气广播和流体力学。很多解这些方程式的通用方法也发明出来了,比如,线性方程组、差分方程和积分方程的 算法。几乎在同一时期,算术用于辅助机械系统设计也成了工程学至为关心的内容。例子如静止物体压力评估的计算、运动物体的动力量计算等。

One product of the long interaction between engineering and mathematics has been mechanical aids for calculating. Some surveyors' and navigators' instruments date back a thousand years. Pascal and Leibniz built arithmetic calculators in the middle 1600s. In the 183Os, Babbage conceived of an “analytical engine” that could mechanically and without error evaluate logarithms, trigonometric functions, and other general arithmetic functions. His machine, never completed, served as an inspiration for later work. In the 192Os, Bush constructed an electronic analog computer for solving general systems of differential equations. In the same period, electromechanical calculating machines capable of addition, subtraction, multiplication, division, and square root computation became available. The electronic flip-flop provided a natural bridge from these machines to digital versions with no moving parts.

工程学与数学之间的一个一直以来合作的产品便是计算器(机械辅助计算的工具)了。最早的计算工具可追溯回千年以前;Pascal和 Leibniz在17世纪中期发明的机械式算术计算器。19世纪三十年代,Babbage曾构想过一架“分析机”,一种可以计算对数、三角函数和其它一般 的算术函数的机械装置。“分析机”没有被完成,它的思想却保存下来了。到二十世纪二十年代,Bush 建造了一台可解差分方程组的电动模拟计算机;同时期,可进行加减乘除和开平方的电动机械式计算机也被开发出来了。电子触发器(flip-flop)是从机 械式到电气式计算机的很自然的过渡桥梁。

Logic is a branch of mathematics concerned with criteria of validity of inference and formal principles of reasoning. Since the days of Euclid, it has been a tool for rigorous mathematical and scientific argument. In the 19th century a search began for a universal system of logic that would be free of the incompletenesses observed in known deductive systems. In a complete system, it would be possible to determine mechanically whether any given statement is either true or false. In 1931, Godel published his “incompleteness theorem,” showing that there is no such system. In the late 193Os, Turing explored the idea of a universal computer that could simulate any step-by-step procedure of any other computing machine. His findings were similar to Godel's: some well-defined problems cannot be solved by any mechanical procedure. Logic is important not only because of its deep insight into the limits of automatic calculation, but also because of its insight that strings of symbols, perhaps encoded as numbers, can be interpreted both as data and as programs.

逻辑学作为数学的一门分 支,主要研究推论和推理的形式原理的合法性的标准(criteria )。自欧几里德以来,逻辑是数学(证明)和科学论证的严谨工具。到19世纪人们开始研究通用逻辑系统,目的为了解决现有的推理系统的不完全性。在一个完全 的系统中,可以机械地判定一个命题的真值,不受自然语言的模糊性影响。1931年,哥德尔发表“不完全性定理”,证明不存在这样的系统。三十年代后期,图 灵探索了通用计算机模型——可以模拟任何计算机器过程的抽象计算机。图灵的发现类似于哥德尔的“一些定义良好的问题不能机械地解决”。逻辑的重要性不仅在 于它深刻揭示自动化计算的局限,还在于它深刻揭示了符号串(也可能被编码成数字)可以被解释成数据或指令。

This insight is the key idea that distinguishes the stored program computer from calculating machines. The steps of the algorithm are encoded in a machine representation and stored in the memory for later decoding and execution by the processor. The machine code can be derived mechanically from a higher-level symbolic form, the programming language.

后一个揭示是区分存储程序式计算机与计算器的关键点。算法的步骤可被编码成机器指令并存放于内存用于处理机执行时再进一步对指 令解码。(算法的步骤的)机器指令可以从更高级的符号——高级语言(通过编译系统)翻译而得。(KEMIN:这里是理解算法的本质的关键点。为什么说符号 串可以被解释成数据或指令是得益于对数理逻辑的研究呢?)(kemin:算法的本质——符号运算!可以拿算术运算来比较理解。二者都是算得一个结果的过 程,只是计算的材料和规则大不一样。符号是一般化了的数字,符号不仅仅有数字的语义,可被赋任何语义!而计算规则也可因问题而定。)

It is the explicit and intricate复杂的, 错综的 intertwining of the ancient threads of calculation and logical symbol manipulation, together with the modern threads of electronics and electronic representation of information, that gave birth to the discipline of computing.

在过去,算术与逻辑符号处理本有着错综复杂的关系和交互活动很长一段时期,再加上现代以来的电子技术(用电信号表达信息)便产生了计算学科。

We identified nine subareas of computing:
我们把计算学科划分为九个子领域:

  • 1. Algorithms and data structures
    2. Programming languages
    3. Architecture
    4. Numerical and symbolic computation
    5. Operating systems
    6. Software methodology and engineering
    7. Databases and information retrieval
    8. Artificial intelligence and robotics
    9. Human-Computer communication


Each has an underlying unity of subject matter, a substantial theoretical component, significant abstractions,and substantial design and implementation issues. Theory deals with the underlying mathematical development of the subarea and includes supporting theory such as graph theory, combinatorics, or formal languages. Abstraction (or modeling) deals with models of potential implementations; the models suppress detail, while retaining essential features, and provide means for predicting future behavior. Design deals with the process of specifying a problem, deriving requirements and specifications, iterating and testing prototypes, and implementing a system. Design includes the experimental method, which in computing comes in several styles: measuring programs and systems, validating hypotheses, and prototyping to extend abstractions to practice.

每一个子领域都有自己研究的问题对象、相关理论、抽象模型和设计实现问题。理论是子领域底下的数学模型,包括一些基本的支撑理论,像图论、组合论和形式语言。抽象 (或者叫建模)是理论实现的所有潜在模型;这些模型省略掉细节只留下本质的特征,目的为了能对模型的行为进行预测。设计包括分析问题、评估需求和限制、反复测试问题原型和实现系统的过程……FIXME

Although software methodology is essentially concerned with design, it also contains substantial elements of theory and abstraction. For this reason, we have identified it as a subarea. On the other hand, parallel and distributed computation are issues that pervade all the subareas and all their components (theory, abstraction, and design); they have been identified neither as subareas nor as subarea components.


The subsequent numbered sections provide the details of each subarea in three parts-theory, abstraction, and design. The boundaries between theory and abstraction, and between abstraction and design, are necessarily fuzzy; it is a matter of personal taste where some of the items go.

Our intention is to provide a guide to the discipline by showing its main features, not a detailed map. It is important to remember that this guide to the discipline is not a plan for a course or a curriculum; it is merely a framework in which a curriculum can be designed. It is also important to remember that this guide to the discipline is a snapshot of an organism undergoing constant change. It will require reevaluation and revision at regular intervals.

参考

分享到:
评论

相关推荐

    计算机数据结构考研-概述部分-- 总结者:刘尧涛

    本课程是一门专业技术基础课程,分析、研究计算机加工数据的...数据结构定义: 是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 本资源适合本科专科考研初学者和一般水平使用

    数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。

    数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D上的 关系 有限集合。 3. 数据...

    计算机视觉与计算机图形学.doc

    计算 机视觉是一门综合性的学科,它已经吸引了来自各个学科的研究者参加到对它的研究之 中。其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学 和认知科学等。 解析 视觉是各个应用领域,...

    《计算广告》pdf

    计算广告学是一门正在兴起的分支学科,它涉及到大规模搜索和文本分析、信息获取、统计模型、机器学习、分类、优化以及微观经济学。计算广告学所面临的最主要挑战是在特定语境下特定用户和相应的广告之间找到“最佳...

    计算机图形学研究报告

    关于计算机图形学的定义众说纷纭。 IEEE 对计算机图形学的定义为:Computer graphics is the art or science of producing graphical images with the aid of ...技术的一门学科,这里的图形是指三维图形的处理。

    计算机视觉概念结构

    计算机视觉是一门新兴的、迅速发展的学科。由于在工业和军事的实践中, 提出了许多新的课题, 特别是智能机器人的研制,计算机视觉日益受到了人们的关注。 从七十年代开始, 在进行基本理论研究的同时, 还注重研制实用...

    基于深度学习的计算机视觉ppt

    作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所 指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官...

    地理信息系统定义

    地理信息系统(简称GIS)是近20年来新兴的一门集地理学、计算机、遥感技术和地图学于一体的边缘学科,主要培养具备地理信息系统与地图学、遥感技术方面的基本理论、基本知识、基本技能,能在科研机构或高等学校从事...

    使用 python 和 OpenCV 的计算机视觉课程,超级详细!!!

    作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所 指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官...

    基于Windows平台的计算机隐秘取证系统的研究与实现

    计算机取证是一门计算机科学与法学紧密结合的交叉学科,是打击和预防计算和网络机犯罪活动的利器。 本文从取证人员在实际取证业务中遇到的问题,通过查阅大量的资料以及技术调研,提出了一种基于Windows平台的计算机...

    浅谈架构模式

    软件体系结构通常被称为架构,指可以预制和可重构的软件框架...MaryShaw在《软件体系结构:一门初露端倪学科的展望》中为“软件架构”给出了非常简明的定义:软件系统的架构将系统描述为计算机组件及组件之间的交互...

    人工智能的定义及发展历程.docx

    著名的美国斯坦福大学人工智能研究中心尼尔逊教授对人工智能下了这样一个定义:"人工智能是关于知识的学科――怎样表示知识以及怎样获得知识并使用知识的科学。"而另一个美国麻省理工学院的温斯顿教授认为:"人工...

    数据结构 复习资料哈哈

    1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。 3. 数据结构包括数据的 、数据的 和...

    机器学习认知-模型评估与优化

    机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的...

    软件工程的几种定义.doc

    1. 给出n种常用的"软件工程"、"软件质量"的定义并进行适当的解释。... 百度百科:软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量 的软件的学科。它涉及到程序设

    人工智能启航教案.docx

    人工智能作为一门学科有什么意义; 3.人工智能的主要学派与其争论焦点; 教学方法:课堂教学为主,充分利用网络课程中的多媒体素材来表示抽象概念。 教学要求:重点掌握人工智能的几种定义,掌握目前人工智能的三个...

    数据结构与算法实际应用.doc

    数据结构是一门研究非数值计算的程序 设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且 确保经过这些运算后所得到的新结构仍然是原来的结构类型。通过《数据结构与算法》的 学习,...

    数据结构期末复习题及答案

    数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。 ~0001 操作对象 关系 `0002 01B1 数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。 ~0002 数据...

    计算机专业相关课程描述.docx

    8 机器人技术 机器人学是一门高度交叉的前沿学科,机器人技术是集力学、机械学、生物学、人类学、计算机科学与工程、控制论与控制工程学、电子工程学、人工智能、社会学等多学科知识之大成,是一项综合性很强的新...

Global site tag (gtag.js) - Google Analytics