深入学习《大学计算机》系列之第1章 1.2节——问题描述与抽象

一.欢迎来到我的酒馆

        第1章 1.2节,问题描述与抽象。

二.问题描述、抽象与建模

        什么是抽象?为什么要抽象?什么是建模?建什么模?

1.什么是抽象

        看到上面一大堆问题,如果直接给出定义,很难记住,而且我们也不太愿意去记。我们可以拿生活中的例子来帮助我们理解,例如,早上去买菜,别人问你买了些什么?你会说买了一些蔬菜和水果。可能你买了很多的胡萝卜,白菜,玉米,茄子,还有草莓,西瓜等等。当别人问你买了些什么,你一般不会把你所有的都挨个讲出来,而是简要地回答买了一些蔬菜和水果。从这个例子中,我们关注的是菜篮子里的本质特征,即水果和蔬菜,而忽略了菜篮子里水果和蔬菜的种类、形状等,再比如水果是酸的还是甜的,这些我们都忽略。简单的说,抽象,抽:抽出;象:形象,特征。抽象,把象都抽掉了,剩下的就是质,就是本质性的东西。抽象是抽出事物共同的特征。
在这里插入图片描述
        我们还以刚才的菜为例,如果我们的问题背景是吃什么,我们可以从菜篮子里抽象出水果和蔬菜;如果我们的问题背景是研究版面设计,用形状表达就可以了,蔬菜用矩形,水果用圆形表示;如果我们的问题背景是研究营养搭配,用不同的颜色,蔬菜用紫色,水果用红色表示。从这里我们可以看出,抽象是面向问题的简化描述方法,具体怎么描述,取决于我们研究的问题。
在这里插入图片描述

2.为什么要抽象

        为什么要抽象?不抽象不能解决问题吗?抽象是人们求解问题时的认知过程和思维方法,从个别中把握一般,从现象把握本质。我们以人口普查这个问题为例,对一堆人群做人口普查工作。我们需要对人进行抽象,去掉人的爱好、性格、这个人的声音、这个人长得什么样等特征,而要抽象出:姓名、年龄、性别、地址等这些人共同具有的本质属性来表现不同的人。我们把这些共有的本质属性抽取出来形成一个框架,这个框架既可以适用于北京地区的人口普查,也适用于上海的人口普查,其它边远地区的人口普查也适用。在以人口普查为背景的问题下,我们对人抽象,形成一套适合所有地区人口普查的框架,减少重复工作。
在这里插入图片描述

3.什么是建模

        建模,先来看看书本上是怎么定义建模这个名词的。建模是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。凡是用模型描述系统的因果关系或相互关系的过程都属于建模。建模是把现实中的系统进行模拟或者抽象,通俗来讲,就是把实际的事物用合适的形象表示出来。理解起来还是有点难,我们可以简单的概括一下,建模是一种过程,它可以将复杂的事物简化为可理解的有限图示。
        从上面的描述中,我们可以提取出两个关键词:模型,建模。模型是指为了一定目的,对事物原型的一种抽象,例如航空3D模型是对现实中飞机的一个抽象表达,再比如城市交通模型是对城市交通系统的一个抽象表达。建模,即建立模型,我们对模型有一个输入,那么会得到一个输出,这样一个过程称为建模,用模型来描述相互关系的过程。例如,我们举一个例子,人口增长预测数学模型,这个模型是用来预测人口增长的,我输入第n年,会得到一个人口的增长数据表,这个过程就是建模。
在这里插入图片描述

4.建什么模

        模型有很多种,不仅仅是我们上面举例的数学模型,建模有很多种:

  • 数学建模。用计算得到的结果来解释实际的问题。
  • 数据建模。是数据特征的抽象,是数据库管理的教学形式框架。
  • UML建模。用于面向对象设计的建模语言规格说明,是表示标准。
  • 可视化建模。用图形化的方式描述所开发系统的过程。
  • 3D建模。通过虚拟三维空间来构建出三位数据的模型。
  • 业务建模。以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,业务建模强调以体系的方式。

二.面向计算机的问题分析

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 00:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 00:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 00:22:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 00:22:03       20 阅读

热门阅读

  1. powershell执行策略不受限制

    2023-12-16 00:22:03       37 阅读
  2. 10 种隐藏元素的 CSS 技术

    2023-12-16 00:22:03       32 阅读
  3. 【Centos】

    2023-12-16 00:22:03       41 阅读
  4. Python httpx库入门指南

    2023-12-16 00:22:03       33 阅读
  5. 变量未声明,值是undefined吗?

    2023-12-16 00:22:03       35 阅读
  6. Android 13 - Media框架(22)- MediaCodec(三)

    2023-12-16 00:22:03       38 阅读