解决问题的方法
关于解决问题的方法在很多领域都有过研究。以下列出了很多相关的方法,但这不是 一个完整的列表。它来自不同的学科和领域,在此列出是为了提供灵感以供将解决问题作为一个独立学科的进一步研究,同时也对正在进行的游戏设计中的问题提供一些关于解决方法的具体建议。
此外要记住的是,很多方法最好是结合在一起或者是迭代着使用。例如,当我们确定了一个问题的范围,有时候就明确了下一步要做的事情就是寻求专家的帮助。或者,如果 "跟着钱走"这一招不管用,再试一次,但换成跟着行使权力的人走。
制作清单
解决一个大项目或大问题的常用方法是将之分解为小的部分,或者是步骤,将这些部分或步骤按顺序制成清单,然后开始一个个将完成了或解决了的部分从清单上划掉。
找到固定模式
很多问题都有一个存在于其结构中的隐藏的固定模式,或存在于其他地方的反射模式。如果我们找出这些模式并加以分析和利用,就能解决,至少也能缓和问题。
逆向工作
对终点没有一个清楚的认识,就很难达到它。所以有时候解决问题的最好办法就是清楚地定义出来一个理想的最终状态是怎样的,然后将其解构,逆向工作,将它与最开始的状态联系起来。这样我们就得到了一个通往成功的路线图,不再需要盲目地一头扎进问题中。
制作表格
如果一个问题,或其中包含的数据可以被改写或重新组织成一个表格,通常解决方案会变得更清晰。要制作表格,我们就必须将元素归类,因为表格必须按照行或列来排布。这样由于元素被合并或重组,它们之间的关系也就变得清晰。这个工作可以很简单,比如我们可以重新排列组合购物清单,将可能被放在同一货架的东西排在一起,以此加快一趟慢吞吞的购物之旅的速度;也可以用列表法来解决一个复杂的演择逻辑难题。这些难题旧特定形式的表格来鉴别丢失的信息。就像在真值表和解决方案矩阵中事物的相互关系会变得明晰,因为每个人能够和他的角色相互匹配,比如我们要解决这样一个问题:某人的孩子的哥哥是张三的叔叔,而你需要基于张三和卖鹦鹉给张三侄子的李四之间的关系来找出鹦鹉的主人。
画一张图
从新的角度来看一个问题通常能带来解决问题的曙光,有时候把问题转化为一个具体的东西:比如使用图像,就能帮助我们找到解决方法。详细的图标也能帮我们生成高效的计划。比如一张新建筑的蓝图就能帮助我们解决一共需要买多少块砖的问题。不管怎样,试着将问题用一个新的系统或思路来表达可以是一种强大的解决问题的方法。
先猜测再检验,也就是科学方法
科学方法的核心跟一个命名更随意的解决问题的方法其实一回事儿,这个方法就是先猜测再检验(guess and check)。也就是说,对于结果可能会是怎么样的做一个合理的猜测,然后通过实验来验证这个猜测是否接近正确。注意,在使用这个方法时迭代很重要。几乎没有猜测(或假设)是绝对正确的,通常当出现少了什么或有什么乱了的情况时,可"再走一遍这个流程重新猜一次,再检査一次准确性。
"跟着钱走"
当面对一个现实世界中神秘或混乱的事件时,侦探和记者们常用的解决思路无非是"跟着钱走"。这也就是说,仔细分析谁能从这个有问题的状况中获利,这往往揭示了任何的秘密,并且能提示解决它的方法,能够当作线索的不仅仅是金钱和动机。通常,将注意力集中在一个元素上并且清晰的确定这个元素在整个问题的范畴中的位置能够帮助解决问题。
制作流程图
这在解决动态的问题或者是需要达到一个移动的目标时尤为有效。流程图能帮助理清整个流程和因果关系并将之可视化。一个游戏的设计文档总会包含至少一个流程图。
改写问题
有时候认知偏差会让我们困在看问题的某一个角度上,从而无法看到解决方法。换一些新的词语来描述这个问题就足够了。其实谜语的本质就是这样的—将一个简单的表达用模糊的、让人惊讶的方式来改写。如果这样做行得通,那反过来也可以。有时候一些看起来很模糊和让人惊讶的事情如果换成用更简单或清楚的词语来描述,就会变的通俗易懂,明显很好解决。
确定问题的范围
偏离正道而走入死胡同会严重影响和妨碍问题的解决。在定义清楚问题到底是什么, 不是什么之后,我们才能把解决问题的努力花费在有用的方向上,而不至于在无用但有趣的路径上徘徊。
先解决类似的问题
有时一个问题看起来似乎无解,但如果团队转而解决一个与之相关的其他问题,这个问题的解决方法可能就自己出现了。例如,平衡国家预算看起来像是一个不可能完成的任务,但平衡家庭预算由于数字末尾少了很多个0看起来就简单多了。平衡家庭预算用的是类似的原理,只不过是用在一个小得多的数量级上,但它能为解决更大的问题起到提示作用。
头脑风暴
这个经典的解决问题的方法搜集尽可能多的解决方案,不管它们是可行的、可能的,甚至特别相关的。这个随机的创造性行为可能生成让人惊喜的有用结果。
从旁突破
人类本能地总是从结果来看问题,他们要不就关注创意的开始点,要不就关注最后一个发散点。特别是在解决问题的时候,人们很容易就会太专注于问题的焦点,或者问题中最让人兴奋的点。然而,有时如果我们从问题的中间去突破,问题就整个瓦解了。有时候,偷袭的效果好过迎头—击。试着去从多方面了解这个问题,甚至试着把它当成不是一个问题来看待,至少看看它本身是如何运作的。记住这句格言:“亲近你的朋友,更要亲近你的敌人。”
渐进式地解决问题
这种方法是敏捷开发方法的核心。如果一个完美的解决方案没法在一夜之间完成(或者根本没办法完成),有时候最好的办法就是去完成一个接近完美的方案,而不是追求一步到位。这个方法尤其适用于多次迭代,就像敏捷开发中的spirnt,每一个spirnt的冲刺都对现有的解决方案有所改进和优化,使其渐进地接近完美。
尝试出人意料的搭配组合
也就是所谓的“咸焦糖”解决法。这两种烹饪原料看起来完全不像能搭配到一起,但这个意想不到的组合解决了“如何让焦糖比平时更好吃”的问题。出人意料的组合往往并不总是能成功(巧克力和培根搭配起来就产生不了什么好味道),但是当问题看起来不可解时,这种方法能产生良好的结果—或至少指引我们发现一些新的途径。
加入一些意外元素
这是作家在写作遇到障碍时使用的小把戏,他们通过加入对一些出乎意料的元素—比如一只猫的描写来解决问题。如果作家在从事小说或非小说写作时遇到瓶颈,他们可能会加入一些傻傻的、随机的,至少是出人意料的东西再试一次。他们可能会回过头来把这一段删掉,但是由于原有的问题已经被打乱了,他们得以换一个角度看问题,创意也就被激发出来了。
退后一步
很多时候,在你还没有意识到问题的解决方案之前,你的潜意识里已经有答案了。有时你的直觉无法跳出来起作用只是因为你在这个问题上有意识地关注了太久。休息一下或者远离这个问题能让人足够放松,来倾听潜意识深处的声音。当你站在浴室的花洒下,或是眺望着夕阳的时候脑海中突然冒出来的灵光一现就是这样发生的。如果你不停下来休息一下,你永远也体会不到这种灵感来临的时刻。
分解问题
有时候协同效应会成为解决问题的障碍。因为所有的因素组合起来,形成了一个“整体大于部分”的问题。,这就让一个问题看起来不可解。然而如果我们一个部分一个部分地来看,协同效应就会消失,巨大的困难就被分解了。
尝试证明该问题无法被解决
这个方法常被应用于数学领域,但它其实适用于任何问题。如果能够证明一个问题影院无法被解决……那么它通常就确实无法被解决了。但是在搞清楚它为什么不能被解决的过程当中,一些潜在的可能性也会被挖掘出来。
将问题简化成一个以前解决过的问题
要把一个人送上月球看起来是一个无比复杂的问题,但从本质上来讲它跟射出子弹击中一个目标是一回事。虽然这简化了太多,但用枪击中靶心是一个己经解决了的问题。计算方式、操作方法和各种材料都是存在的。从这个角度看,人类登月的问题看起来就可行多了, 因为有现成的工具可以利用,至少我们就有了开始寻求方案的途径。
解决相反的问题
如何给房子降温看起来似乎无法解决,但如何给房子加温,这个说起来完全相反的问题,却可能为降温带来一个明确的解决方案。例如,绝缘材料可能是两个问题中共同的关键,因为它能阻挡空气的流动。两者的解决方案都是依据同样的原理,而只要解决了一个问题,通常也就为解决另一个问题指明了方向。
有人解决过类似问题吗
正如人们所说的"不要重新发明轮子",有时候一个看起来无解的问题其实已经被其他人解决过了, 而适当的研究会帮助你发现这一点。
把想法说出来
有时候把想法说出来——即使它会显得杂乱和奇怪——能够帮助将这些想法组织起来,从而对解决方案有所提示。
寻求帮助
这个很简单。在很多情况下,可以找专家来帮忙提供指导或直接提供一个解决方案,例如,健康问题通常得找医生解决,而不是生病的患者本身。同样,同事之间的合作是能快速帮助解决问题。
演出来
积极进行角色扮演或者纸上原型,可以让在静止不动的情况下不明显的解决方案变得明朗起来。
解释给爷爷听
类似于“把想法说出来”,不过这个方法不需要与问题本身的相关。有时候向非专业人士把问题解释一遍能够为解决方案带来提示。不管解释的对象是否能够提出建议或问题。哪怕是没有任何输入,用最简单的语言解释这个问题行为本身就能对理清问题带来帮助。
换角度看问题
把拼图倒过来看, 检查窗帘后面,试着把恶棍看成英雄。一个新鲜的视觉通常能帮助揭示解决方案。
测量并用数字表达
有时候缺乏清晰性和明确定义可能会导致永远也达不到的移动目标。一样东西是不是变的“更好了”是很难界定的,但是如果是“提高了2%”就很一目了然了。
将数字转换成语言
将问题用数字表达的反面就是将问题中的数字用语言来表达。例如,数学等式或者是图标看起来可能混乱的不可救药,但是如果我们开口将它描述出来,或者转换成相关的情境。这就好像把苹果从桌子上拿下来,答案就明显多了。
先试试再说
面对生活中的重大决定,比如去上哪所大学,或者接受哪份工作,精神医学提出"尝试"的解决方法。也就是说,假装这个或那个决定是我们真正要选的,并且在一段时间内将之作为一个真正的计划来执行。通常,这样做能揭示这个暂时的解决方案所存在的之前不明显的问题(噢,对我们的预算来说那个减薪方案不合适),或者得到确认这就是正确的解决方案。
注意极端情况、二分法和否定情况
这是另外一种来自软科学的解决问题的方法。用极端情况(总是,从不)、二分法(黑或者白)、以及假设否定情况(你确定没有预算来完成这个漏洞的修复吗?)来检验这个问题陈述。现实世界总是充满灰色地带,对规则的例外情况,和不正确的假设。然而,如果问题陈述建立在这些不真实的期待的基础上,潜在的解决方案就可能被忽略。
检查中立性
是不是有解决方案因为个人在某些地方的偏见被忽略掉了?没有人是完美的。
柔道精神
柔道的关键就是利用对手的优势来对抗他,并且反其道而行之,在其优势中寻找弱点。有时候,解决一个问题的最佳办法就是撤退,不去解决它,而有时候问题就转化成了资产。有时候一个问题的大和压倒一切的气势,在你将问题的核心一点一点解决掉的时候,反而可以用来分散注意力。
找到最薄弱的一环
分析问题每个部分相对的强度和弱点,然后重点关注最薄弱的一点。通常打破这一点就能让整个问题分崩离析,而如果没有,就又到了需要迭代的时候了。当解决了问题中最弱/最容易的部分,继续解决第二弱/容易的,这样继续下去直至所有的部分都被解决。通常,在这个过程中每一步给我们带来的精神上的练习,和工具的增强,意味着我们有了更好的准备来面对下一个部分。
——出自《游戏设计的100个原理》