目录

  • 1 信息与信息技术
    • 1.1 探索信息的真谛
    • 1.2 信息的度量
    • 1.3 信息技术
    • 1.4 计算机的信息表示与编码
    • 1.5 第一单元测验与练习
  • 2 计算与计算机系统
    • 2.1 探索计算之源
    • 2.2 从历史走向未来-计算机的发展史
    • 2.3 微型计算机系统
    • 2.4 外部存储设备
    • 2.5 输入输出子系统
    • 2.6 第二单元测验与练习
  • 3 软件定义的时代
    • 3.1 软件的性质及发展史
    • 3.2 操作系统
    • 3.3 应用软件
    • 3.4 第三单元测验与练习
  • 4 媒体信息的智能处理
    • 4.1 “媒体”的概念
    • 4.2 中文信息处理
    • 4.3 音频信号处理
    • 4.4 数字图像处理
    • 4.5 视频信息处理
    • 4.6 计算机图形处理技术
    • 4.7 新一代的人机交互技术
    • 4.8 第四单元测验与练习
  • 5 数据科学
    • 5.1 数据科学与Python
    • 5.2 数据库技术
    • 5.3 第五单元测验与练习
  • 6 算法、程序与问题求解方法
    • 6.1 问题解决与过程
    • 6.2 问题求解方法
    • 6.3 算法
    • 6.4 程序设计与过程
    • 6.5 第六单元测验与练习
  • 7 计算机通信与网络技术
    • 7.1 缩短世界的距离—通信与网络技术的历史回顾
    • 7.2 数据通信的基本原理
    • 7.3 计算机网络
    • 7.4 Internet基础
    • 7.5 Internet宽带接入方式
    • 7.6 第七单元测验与练习
  • 8 “互联网+”时代
    • 8.1 “互联网+”行动计划
    • 8.2 物联网
    • 8.3 云计算
    • 8.4 大数据:预测未来
    • 8.5 第八单元测验与练习
  • 9 信息安全与数据加密
    • 9.1 信息安全的基本内涵
    • 9.2 信息安全与数据加密
    • 9.3 数字签名
    • 9.4 第九单元测验与练习
  • 10 人工智能与应用
    • 10.1 人工智能概述
    • 10.2 人工智能主要的核心技术
    • 10.3 人工智能应用与国内知名生成式AI产品使用
    • 10.4 神经网络的一些基本知识
    • 10.5 卷积神经网络的层结构
  • 11 Office应用
    • 11.1 Office操作实践讲解
  • 12 问卷调查
    • 12.1 问卷调查
问题解决与过程

第六章 学习目标

★ 理解问题解决的过程与方法;

★ 掌握算法、程序的基本概念

★ 理解结构化程序设计的三种基本结构的流程图表示

★ 了解算法设计的基本方法、程序设计的一般过程;

★ 简单了解数据结构。


§6.1问题解决与过程

1.什么是问题解决

人类社会实践领域中,存在各种各样的矛盾和问题。不断解决问题是人类社会发展的需要。问题求解的技术以及思维过程与任何领域、任何人都有关。人们在日常生活中发现问题、提出问题、分析问题,并运用一些知识加以解决

A.什么是问题

问题意味着个体处于这样一种情境:对于面对的问题,试图解决它,但应用已有的知识或现成的方法又不能解决。这种情境称为问题情境。

纽厄尔和西蒙认为:问题虽然有简单或复杂、具体或抽象之分,但每个问题都包含三个要素: 

(1)起始状态:一组关于问题已知条件的描述;

(2)目标状态:即问题要求的答案;

(3)障碍:在起始状态与目标状态之间存在一系列需要加以克服的因素。

由此可以将“问题” 定义如下:

问题是在起始状态与目标状态之间存在某些障碍需要加以克服的情境。

               

B、问题的类型

问题分为两类 :结构良好问题和结构不良问题

(1)结构良好问题:这类问题有两个基本特征 :

a.问题的明确性。问题界定清晰,条件清楚,目标明确 。

b.解法的确定性。是指问题解决过程中每一个步骤都有明确的定义,不允许模棱两可的解释。在各学科中,结构良好问题一般都是与一定的知识领域相联系。

(2)结构不良问题:这类问题在结构上具有不明确性。例如问题界定模糊,条件不清楚,目标不明确,在解法规则和答案上具有模糊性和开放性。

实际情境中的真实问题,许多都是结构不良问题。为了解决这种问题,学习者要自己明确问题的目标,并确定解决问题所需要的信息和技能。

C问题解决的特征
问题解决是指利用某些方法和策略,使问题研究者从初始状态的情境达到目标状态的情境的过程。

问题解决具有三个基本特征:

(1)目的性:问题解决具有明确的目标,它总是要达到某种特定目标。

(2)认知性:问题解决是通过一系列认知操作实现的。有些自动化的操作或活动,如做操等,虽然也有目的及一系列操作,但没有认知成分,不能称为问题解决。

(3)序列性:问题解决包含一系列认知操作,如分析、联想、比较、推论等。简单的记忆提取等单一的认知活动不能称为问题解决。


2. 问题解决的过程

解决问题的活动十分复杂,它不但包括整个认知活动,而且也渗透了许多非智力因素的作用。思维活动是解决问题的核心成分,存在着许多不同的观点。我们认为问题解决的大致过程可以划分为如下几个阶段:


⑴发现问题:认识到问题存在,并产生解决问题的动机。发现问题是问题解决的初始阶段和前提。 

⑵分析问题:明确问题的条件和要求以及它们之间的关系。通过分析问题,可以明确问题的关键,确定问题的范围及解决的方向。

⑶提出假设:在分析问题的基础上提出问题解决的方案,包括方法和途径。

⑷检验假设:用检验假设的方法确定所提出的假设是否可以有效地解决问题:一种是实践检验即按照假设具体进行实验解决问题,再依据实验结果直接判断假设的真伪。如果问题得到解决就证明假设是正确的,否则,假设就是无效的。另一种是通过创造性思维活动来进行检验即根据公认的科学原理、原则,利用思维进行推理论证,从而在思想上考虑问题对象可能发生什么变化,将要发生什么变化。在不能用实践检验的情况下,在头脑中用思维活动来检验假设具有特别重要的作用。 

⑸监控和评估:从问题解决一开始问题解决者就应进行监控,即检查自己正在做的事是否一步步地接近目标,以及时发现错误。

问题的解决一般是一个循环迭代的过程!!

3. 问题解决的艺术

A.导致问题求解困难的一些原因

(1)搜索空间中可能解的数目太多以至于无法采用穷举法找到最优解。

(2)问题很复杂以至于为了得到解答,不得不采用问题的简化模型,而实质上所得的结果可能是无用的。

(3)有些问题的可能解被严格约束以至于哪怕构造一个可行解都是困难的,更不用说找最优解了。

(4)世界上一切事物都在变化之中,复杂问题求解的条件也是随时间而变化的。

(5)复杂问题通常可能有多个解决方案,即存在着一个解的集合(解集)。

(6)求解问题的人没有做好充分准备或存在某种心理障碍,因而难以找到解答。

B、正确理解问题解决的步骤

从人们对事物的认知过程来看,对一个问题理解需要反复多次的认识才能逐渐地接近事物的本质。解决问题时不一定完全按步骤依次完成。这些步骤不是刻板的,各个步骤之间可以交叉,有时可以改变顺序,甚至可以跳过或增加某些步骤。

C、给问题建模

无论何时求解一个实际问题,都要首先抽象出问题的模型,然后用这个模型来找到解,即

问题 模型

通常处理的模型与实际问题有一些出入,因此找到两者之间的区别很重要。每个模型只是实际问题的简化,所以都会与实际问题有一些出入,否则模型就会像现实问题本身一样复杂和令人困惑。

D、选择正确的搜索空间

选择正确的搜索空间非常关键。如果一开始就没有选择正确的搜索空间而开始搜索,可能会增加很多不变的重复的解,或者根本就找不到正确的答案。

例:桌上有6根火柴棒,要求以它们为边搭建4个等边三角形


若从二维空间(桌子平面上)考虑,永远不可能找到正确答案. 只能在三维空间中考虑问题(图6-3)