算法的局限

2014-10-11 17:54武健
中国信息技术教育 2014年19期
关键词:新手规则算法

武健

几乎所有学科都强调本学科对思维的培养。信息科技课程的目标在于培养人,需要一方面强调技术的价值与作用,另一方面要帮助学生逐渐成长为社会人,从儿童开始就要贴近生活、关注生活。教师需要帮助学生们从简单到复杂,从小处入手,逐步学会面对复杂的生活问题。在这个过程中逐步形成技术习惯,形成属于自己的、解决问题的“算法”。

技术总有着一定的适用条件。超出适用范围的技术是无法发挥自己的特长的,甚至无用、有负作用。一把十字改锥可以很好地拧螺丝,但如果用它在厚木板上打个洞,就会非常困难。这不是怨工具不好用,而是超出了使用它的条件限制。世界上还没有真正的万能工具。技术、工具、方法、算法等都有这样的特点,有着自己的适用范围。

如果把生活算法看成一种类型的行动规则、行动模式,那么它最大的局限性恰恰也在这里。老话讲“江山易改本性难移”,人们的思维模式一旦建立,摧毁这种模式就等于是摧毁这个人本身的原有认知。基于“系统不可能认识到自身存在的问题”这类理解。即使是人类这种有着高智力的动物,现有阶段对思维模式的重构也是困难的事情。

对生活算法来说,了解它的局限性,也是在关注到如何更好地应用它。

● 简化与失真

生活算法是对生活中问题解决步骤与方法的一种归纳、总结。从具体到抽象分别关系到了操作序列和事序,是针对问题解决中的方法、步骤的一种固定套路、模式。当人们心中形成了这种套路后,用逻辑模型、流程、图表,甚至自然语言呈现出来,并在实践中应用起来。这样看,算法是对方法与步骤的一种形式上的简化、抽象化。

首先,与人们用模型来理解事物一样,简化就会产生一定程度的失真。模型的形成过程是在真实物品基础上一步步简化下来的。像真实的瓶子简单化到线条模型,每一步只保留最核心的要素,经过若干次后会得到最终结果。这时会发现结果与原物品有很大差距,缺失了很多信息(如图1)。

同时,问题解决时表述问题与真实发生的问题间也存在着简化现象。真实问题,包含的内容是丰富的。像在“早上遇到车子出现故障”的这类问题中,我们是把许多自认为不相关、不关键的要素忽略后,才形成了有限的解决方案。如果不这样做的话,一个问题就在这些不相关的细节影响下出现无数种方案,事情就会变得无法解决。

其次,问题解决的操作序列或事序也存在着简化现象。问题有着充分的复杂性,能够表述出来的问题解决的操作序列或者事序,也需要从问题解决的具体过程中一步步简化、抽象而来。真实的解决过程是相对复杂的,而头脑中的是相对简化的。

再次,当我们把操作、方法、步骤这类程序性知识用语言说出来时,又会忽略一些要素,这也是一种层次上的简化。像很多人可以明确地说出“单击鼠标”的操作步骤有:看到屏幕上的图标→用手移动鼠标器→将指针移动到图标上→用食指按下左键。不过“看到屏幕上的图标”中就包含着用眼睛接收到信息、区别目标与其他不同的地方等更细致的步骤。语言很难将其全部表达出来,必要的简化同时也是人的特点。

对于教师来说,首先需要知道这种“失真”的存在。简化既是生活算法的优点,同时也会成为其缺点。在教学活动中,要注意根据其影响的大小,尽量避开失真对算法应用、算法学习的不良影响。教师还需要在恰当的时机,关注所忽略掉的那部分内容。

● 迁移与应用

归纳、总结算法是为了更好地解决问题,但是生活算法很难直接解决某个具体的问题。因为讨论的不是具体问题的解决方法,讨论的是问题解决的一般性。

在“方法、步骤、算法”的体系中,算法需要有一定的抽象程度,达到使复杂的问题简单化的目标,才会有助于一类问题的解决。

例如,在算法S(n)的学习时(如图2),从A-A1类事件中得到方法S1,从B-B1类事件中得到的方法S2……其中,A类与B类事件的相似程度关系到了学习迁移的程度,也关系到最终算法S(n)在应用时可接受的差异程度。如果A与B类事件相似度大,那么算法S(n)应用时,需要C类不能相差过远。在生活算法的学习过程中,既有特殊迁移的特点,也具备有一般性技能、知识学习的特点。

在生活算法的学习过程中,如果对某一套操作序列、事序或具体的条文进行死记硬背,学习者只有面对高度相似的问题时才会更好地应用。而理解型的学习会在低相似或陌生的问题中起到作用,有着更高的灵活度。

从这个角度来看,在教师引导下的生活算法教学不是直接去讲什么是目标分析法、爬山法、启发法……而是要结合真实生活情境,针对算法的学习过程和应用过程,让学习者自己从理解中去总结,形成属于自己的算法。即使自己领悟的算法相对简陋,其意义也远大于死记硬背。

算法的学习既包括学习的过程,也有应用的过程。无论是学习过程,还是应用过程都不能脱离生活。从这个角度看,在技术课的教学设计中需要强调情境学习,技术与情境结合,不能绝对分离。这也是生活算法强调来自生活、走近生活的原由之一。

● 定势与束缚

算法是通过实践得到的行动规则,但严格遵守的规则并不是对所有人都有促进作用。

德雷福斯(Dreyfus,1997)提出了专业技能形成的五个阶段:新手、高级新手、胜任者和精通者、专家。研究表明大多数人的大多数技能在高级新手状态(如图3)。明确的流程与规则对于大多数人来说是有益的,但对于专家级别的人,有时强规则反而会变成一种束缚。

在德雷福斯的一项研究中,邀请经验丰富的飞行员给新手制定了一套规则。新飞行员的确能够利用规则提高自己的业绩,但是要求这些专家严格遵循自己制定的规则时,他们的表现则明显变差。我们身边也有这样典型的例子。在计算机教师培训时,如果要求熟练的操作者要像小学生一样,用画图程序、用笔刷工具、按照固定步骤地去完成一幅作品时,很多人都会感到别扭。这些教师会不断地与自己熟练掌握的Photoshop、Fireworks等软件作比较,从而感到很别扭。在课堂中也有类似情况。让教师尴尬的是一些学生高手经常倾向用自己熟悉的工具、方法来完成任务,而不是课堂中教师讲的……

算法这种行动规则,对不同的人也有着不同的作用。其中新手、高级新手认为有益的、必须遵守的,而对于精通者或者专家级的人来说可能就是一种定势的束缚。

教师在这其中就起着重要的作用,需要根据学习者的情况把握课堂中的要求,使生活算法成为学习者应用技术、解决问题更好的支持,而不是一种束缚。

21世纪研究人类行为学的诸多推论之一认为,人类的大脑思维绝非计算机那种“数据计算性模式”,而是一种“模式性思维”,也就是先决定几个要点,以及这几个要点之间的利益与优先级。对任何事情,就寻找其与各个要点之间的类似性,根据类似性的程度高低,套用自己的思维模式。生活算法既有所长,也有所短。打破思维定势,发挥其优势是信息科技教师需要不断尝试的。

当我们手里只有一把锤子时,世界上所有的东西都是钉子。所以我们需要有更多不同的技术,需要用更多种形式的思维来面对周围复杂的世界。endprint

几乎所有学科都强调本学科对思维的培养。信息科技课程的目标在于培养人,需要一方面强调技术的价值与作用,另一方面要帮助学生逐渐成长为社会人,从儿童开始就要贴近生活、关注生活。教师需要帮助学生们从简单到复杂,从小处入手,逐步学会面对复杂的生活问题。在这个过程中逐步形成技术习惯,形成属于自己的、解决问题的“算法”。

技术总有着一定的适用条件。超出适用范围的技术是无法发挥自己的特长的,甚至无用、有负作用。一把十字改锥可以很好地拧螺丝,但如果用它在厚木板上打个洞,就会非常困难。这不是怨工具不好用,而是超出了使用它的条件限制。世界上还没有真正的万能工具。技术、工具、方法、算法等都有这样的特点,有着自己的适用范围。

如果把生活算法看成一种类型的行动规则、行动模式,那么它最大的局限性恰恰也在这里。老话讲“江山易改本性难移”,人们的思维模式一旦建立,摧毁这种模式就等于是摧毁这个人本身的原有认知。基于“系统不可能认识到自身存在的问题”这类理解。即使是人类这种有着高智力的动物,现有阶段对思维模式的重构也是困难的事情。

对生活算法来说,了解它的局限性,也是在关注到如何更好地应用它。

● 简化与失真

生活算法是对生活中问题解决步骤与方法的一种归纳、总结。从具体到抽象分别关系到了操作序列和事序,是针对问题解决中的方法、步骤的一种固定套路、模式。当人们心中形成了这种套路后,用逻辑模型、流程、图表,甚至自然语言呈现出来,并在实践中应用起来。这样看,算法是对方法与步骤的一种形式上的简化、抽象化。

首先,与人们用模型来理解事物一样,简化就会产生一定程度的失真。模型的形成过程是在真实物品基础上一步步简化下来的。像真实的瓶子简单化到线条模型,每一步只保留最核心的要素,经过若干次后会得到最终结果。这时会发现结果与原物品有很大差距,缺失了很多信息(如图1)。

同时,问题解决时表述问题与真实发生的问题间也存在着简化现象。真实问题,包含的内容是丰富的。像在“早上遇到车子出现故障”的这类问题中,我们是把许多自认为不相关、不关键的要素忽略后,才形成了有限的解决方案。如果不这样做的话,一个问题就在这些不相关的细节影响下出现无数种方案,事情就会变得无法解决。

其次,问题解决的操作序列或事序也存在着简化现象。问题有着充分的复杂性,能够表述出来的问题解决的操作序列或者事序,也需要从问题解决的具体过程中一步步简化、抽象而来。真实的解决过程是相对复杂的,而头脑中的是相对简化的。

再次,当我们把操作、方法、步骤这类程序性知识用语言说出来时,又会忽略一些要素,这也是一种层次上的简化。像很多人可以明确地说出“单击鼠标”的操作步骤有:看到屏幕上的图标→用手移动鼠标器→将指针移动到图标上→用食指按下左键。不过“看到屏幕上的图标”中就包含着用眼睛接收到信息、区别目标与其他不同的地方等更细致的步骤。语言很难将其全部表达出来,必要的简化同时也是人的特点。

对于教师来说,首先需要知道这种“失真”的存在。简化既是生活算法的优点,同时也会成为其缺点。在教学活动中,要注意根据其影响的大小,尽量避开失真对算法应用、算法学习的不良影响。教师还需要在恰当的时机,关注所忽略掉的那部分内容。

● 迁移与应用

归纳、总结算法是为了更好地解决问题,但是生活算法很难直接解决某个具体的问题。因为讨论的不是具体问题的解决方法,讨论的是问题解决的一般性。

在“方法、步骤、算法”的体系中,算法需要有一定的抽象程度,达到使复杂的问题简单化的目标,才会有助于一类问题的解决。

例如,在算法S(n)的学习时(如图2),从A-A1类事件中得到方法S1,从B-B1类事件中得到的方法S2……其中,A类与B类事件的相似程度关系到了学习迁移的程度,也关系到最终算法S(n)在应用时可接受的差异程度。如果A与B类事件相似度大,那么算法S(n)应用时,需要C类不能相差过远。在生活算法的学习过程中,既有特殊迁移的特点,也具备有一般性技能、知识学习的特点。

在生活算法的学习过程中,如果对某一套操作序列、事序或具体的条文进行死记硬背,学习者只有面对高度相似的问题时才会更好地应用。而理解型的学习会在低相似或陌生的问题中起到作用,有着更高的灵活度。

从这个角度来看,在教师引导下的生活算法教学不是直接去讲什么是目标分析法、爬山法、启发法……而是要结合真实生活情境,针对算法的学习过程和应用过程,让学习者自己从理解中去总结,形成属于自己的算法。即使自己领悟的算法相对简陋,其意义也远大于死记硬背。

算法的学习既包括学习的过程,也有应用的过程。无论是学习过程,还是应用过程都不能脱离生活。从这个角度看,在技术课的教学设计中需要强调情境学习,技术与情境结合,不能绝对分离。这也是生活算法强调来自生活、走近生活的原由之一。

● 定势与束缚

算法是通过实践得到的行动规则,但严格遵守的规则并不是对所有人都有促进作用。

德雷福斯(Dreyfus,1997)提出了专业技能形成的五个阶段:新手、高级新手、胜任者和精通者、专家。研究表明大多数人的大多数技能在高级新手状态(如图3)。明确的流程与规则对于大多数人来说是有益的,但对于专家级别的人,有时强规则反而会变成一种束缚。

在德雷福斯的一项研究中,邀请经验丰富的飞行员给新手制定了一套规则。新飞行员的确能够利用规则提高自己的业绩,但是要求这些专家严格遵循自己制定的规则时,他们的表现则明显变差。我们身边也有这样典型的例子。在计算机教师培训时,如果要求熟练的操作者要像小学生一样,用画图程序、用笔刷工具、按照固定步骤地去完成一幅作品时,很多人都会感到别扭。这些教师会不断地与自己熟练掌握的Photoshop、Fireworks等软件作比较,从而感到很别扭。在课堂中也有类似情况。让教师尴尬的是一些学生高手经常倾向用自己熟悉的工具、方法来完成任务,而不是课堂中教师讲的……

算法这种行动规则,对不同的人也有着不同的作用。其中新手、高级新手认为有益的、必须遵守的,而对于精通者或者专家级的人来说可能就是一种定势的束缚。

教师在这其中就起着重要的作用,需要根据学习者的情况把握课堂中的要求,使生活算法成为学习者应用技术、解决问题更好的支持,而不是一种束缚。

21世纪研究人类行为学的诸多推论之一认为,人类的大脑思维绝非计算机那种“数据计算性模式”,而是一种“模式性思维”,也就是先决定几个要点,以及这几个要点之间的利益与优先级。对任何事情,就寻找其与各个要点之间的类似性,根据类似性的程度高低,套用自己的思维模式。生活算法既有所长,也有所短。打破思维定势,发挥其优势是信息科技教师需要不断尝试的。

当我们手里只有一把锤子时,世界上所有的东西都是钉子。所以我们需要有更多不同的技术,需要用更多种形式的思维来面对周围复杂的世界。endprint

几乎所有学科都强调本学科对思维的培养。信息科技课程的目标在于培养人,需要一方面强调技术的价值与作用,另一方面要帮助学生逐渐成长为社会人,从儿童开始就要贴近生活、关注生活。教师需要帮助学生们从简单到复杂,从小处入手,逐步学会面对复杂的生活问题。在这个过程中逐步形成技术习惯,形成属于自己的、解决问题的“算法”。

技术总有着一定的适用条件。超出适用范围的技术是无法发挥自己的特长的,甚至无用、有负作用。一把十字改锥可以很好地拧螺丝,但如果用它在厚木板上打个洞,就会非常困难。这不是怨工具不好用,而是超出了使用它的条件限制。世界上还没有真正的万能工具。技术、工具、方法、算法等都有这样的特点,有着自己的适用范围。

如果把生活算法看成一种类型的行动规则、行动模式,那么它最大的局限性恰恰也在这里。老话讲“江山易改本性难移”,人们的思维模式一旦建立,摧毁这种模式就等于是摧毁这个人本身的原有认知。基于“系统不可能认识到自身存在的问题”这类理解。即使是人类这种有着高智力的动物,现有阶段对思维模式的重构也是困难的事情。

对生活算法来说,了解它的局限性,也是在关注到如何更好地应用它。

● 简化与失真

生活算法是对生活中问题解决步骤与方法的一种归纳、总结。从具体到抽象分别关系到了操作序列和事序,是针对问题解决中的方法、步骤的一种固定套路、模式。当人们心中形成了这种套路后,用逻辑模型、流程、图表,甚至自然语言呈现出来,并在实践中应用起来。这样看,算法是对方法与步骤的一种形式上的简化、抽象化。

首先,与人们用模型来理解事物一样,简化就会产生一定程度的失真。模型的形成过程是在真实物品基础上一步步简化下来的。像真实的瓶子简单化到线条模型,每一步只保留最核心的要素,经过若干次后会得到最终结果。这时会发现结果与原物品有很大差距,缺失了很多信息(如图1)。

同时,问题解决时表述问题与真实发生的问题间也存在着简化现象。真实问题,包含的内容是丰富的。像在“早上遇到车子出现故障”的这类问题中,我们是把许多自认为不相关、不关键的要素忽略后,才形成了有限的解决方案。如果不这样做的话,一个问题就在这些不相关的细节影响下出现无数种方案,事情就会变得无法解决。

其次,问题解决的操作序列或事序也存在着简化现象。问题有着充分的复杂性,能够表述出来的问题解决的操作序列或者事序,也需要从问题解决的具体过程中一步步简化、抽象而来。真实的解决过程是相对复杂的,而头脑中的是相对简化的。

再次,当我们把操作、方法、步骤这类程序性知识用语言说出来时,又会忽略一些要素,这也是一种层次上的简化。像很多人可以明确地说出“单击鼠标”的操作步骤有:看到屏幕上的图标→用手移动鼠标器→将指针移动到图标上→用食指按下左键。不过“看到屏幕上的图标”中就包含着用眼睛接收到信息、区别目标与其他不同的地方等更细致的步骤。语言很难将其全部表达出来,必要的简化同时也是人的特点。

对于教师来说,首先需要知道这种“失真”的存在。简化既是生活算法的优点,同时也会成为其缺点。在教学活动中,要注意根据其影响的大小,尽量避开失真对算法应用、算法学习的不良影响。教师还需要在恰当的时机,关注所忽略掉的那部分内容。

● 迁移与应用

归纳、总结算法是为了更好地解决问题,但是生活算法很难直接解决某个具体的问题。因为讨论的不是具体问题的解决方法,讨论的是问题解决的一般性。

在“方法、步骤、算法”的体系中,算法需要有一定的抽象程度,达到使复杂的问题简单化的目标,才会有助于一类问题的解决。

例如,在算法S(n)的学习时(如图2),从A-A1类事件中得到方法S1,从B-B1类事件中得到的方法S2……其中,A类与B类事件的相似程度关系到了学习迁移的程度,也关系到最终算法S(n)在应用时可接受的差异程度。如果A与B类事件相似度大,那么算法S(n)应用时,需要C类不能相差过远。在生活算法的学习过程中,既有特殊迁移的特点,也具备有一般性技能、知识学习的特点。

在生活算法的学习过程中,如果对某一套操作序列、事序或具体的条文进行死记硬背,学习者只有面对高度相似的问题时才会更好地应用。而理解型的学习会在低相似或陌生的问题中起到作用,有着更高的灵活度。

从这个角度来看,在教师引导下的生活算法教学不是直接去讲什么是目标分析法、爬山法、启发法……而是要结合真实生活情境,针对算法的学习过程和应用过程,让学习者自己从理解中去总结,形成属于自己的算法。即使自己领悟的算法相对简陋,其意义也远大于死记硬背。

算法的学习既包括学习的过程,也有应用的过程。无论是学习过程,还是应用过程都不能脱离生活。从这个角度看,在技术课的教学设计中需要强调情境学习,技术与情境结合,不能绝对分离。这也是生活算法强调来自生活、走近生活的原由之一。

● 定势与束缚

算法是通过实践得到的行动规则,但严格遵守的规则并不是对所有人都有促进作用。

德雷福斯(Dreyfus,1997)提出了专业技能形成的五个阶段:新手、高级新手、胜任者和精通者、专家。研究表明大多数人的大多数技能在高级新手状态(如图3)。明确的流程与规则对于大多数人来说是有益的,但对于专家级别的人,有时强规则反而会变成一种束缚。

在德雷福斯的一项研究中,邀请经验丰富的飞行员给新手制定了一套规则。新飞行员的确能够利用规则提高自己的业绩,但是要求这些专家严格遵循自己制定的规则时,他们的表现则明显变差。我们身边也有这样典型的例子。在计算机教师培训时,如果要求熟练的操作者要像小学生一样,用画图程序、用笔刷工具、按照固定步骤地去完成一幅作品时,很多人都会感到别扭。这些教师会不断地与自己熟练掌握的Photoshop、Fireworks等软件作比较,从而感到很别扭。在课堂中也有类似情况。让教师尴尬的是一些学生高手经常倾向用自己熟悉的工具、方法来完成任务,而不是课堂中教师讲的……

算法这种行动规则,对不同的人也有着不同的作用。其中新手、高级新手认为有益的、必须遵守的,而对于精通者或者专家级的人来说可能就是一种定势的束缚。

教师在这其中就起着重要的作用,需要根据学习者的情况把握课堂中的要求,使生活算法成为学习者应用技术、解决问题更好的支持,而不是一种束缚。

21世纪研究人类行为学的诸多推论之一认为,人类的大脑思维绝非计算机那种“数据计算性模式”,而是一种“模式性思维”,也就是先决定几个要点,以及这几个要点之间的利益与优先级。对任何事情,就寻找其与各个要点之间的类似性,根据类似性的程度高低,套用自己的思维模式。生活算法既有所长,也有所短。打破思维定势,发挥其优势是信息科技教师需要不断尝试的。

当我们手里只有一把锤子时,世界上所有的东西都是钉子。所以我们需要有更多不同的技术,需要用更多种形式的思维来面对周围复杂的世界。endprint

猜你喜欢
新手规则算法
撑竿跳规则的制定
数独的规则和演变
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
新手如何练马拉松?
进位加法的两种算法
让规则不规则
碰撞:知名作家与新手司机
新手速来围观 养猪到底行不行?
TPP反腐败规则对我国的启示