第28章 行为的结构化定义
28.1 行为是什么
行为(Behavior)是认知系统中由主体在一定条件下,针对特定对象,为实现某一目标而组织的一组具有方向性、过程性和结果性的活动结构。
行为不是一个孤立动作,也不是单纯的方法描述。行为表示的是一个完整的活动过程,它具有主体、对象、目标、条件、方法、动作、过程、状态和结果等结构。
因此,行为可以形式化表示为:
B=(Sub,O,G,C,M,A,P,S,R)B=(Sub,O,G,C,M,A,P,S,R)
其中:
- BB:行为(Behavior);
- SubSub:行为主体(Subject),表示执行行为的主体;
- OO:行为对象(Object),表示行为作用的对象;
- GG:行为目标(Goal),表示行为希望达到的目标;
- CC:行为条件(Condition),表示行为发生所需要满足的条件;
- MM:行为方法(Method),表示实现目标所采用的方法;
- AA:行为动作集合(Actions),表示构成行为的具体动作;
- PP:行为过程(Process),表示动作之间形成的执行顺序和过程结构;
- SS:行为涉及的状态(State),表示行为发生前、过程中和结束后的状态;
- RR:行为结果(Result),表示行为完成后产生的结果。
由此可以得到行为的基本结构:
主体+对象+目标+条件+方法+动作+过程+状态+结果→行为主体+对象+目标+条件+方法+动作+过程+状态+结果 \rightarrow 行为
行为的本质不是“做一个动作”,而是围绕目标形成的结构化活动过程。
例如,一个主体拿起杯子喝水。
“拿起杯子”可以是一个动作;“喝水”则可以构成一个行为。因为喝水不仅包含拿起杯子,还包含识别杯子、接近杯子、拿取杯子、调整杯子位置、饮用以及结束等一系列相互关联的动作。
因此:
动作⊂行为动作\subset行为
但不能简单认为:
行为=动作行为=动作
行为具有比单个动作更高的结构层次。
28.2 行为与动作
动作(Action)是行为中的基本执行单位,是能够对对象、状态或环境产生直接变化的一次具体操作。
动作强调“做什么”,行为强调“围绕什么目标完成一组活动”。
可以表示为:
A=(Actor,Type,Object,Condition,Result)A=(Actor,Type,Object,Condition,Result)
其中:
- ActorActor:动作执行者;
- TypeType:动作类型;
- ObjectObject:动作作用对象;
- ConditionCondition:动作执行条件;
- ResultResult:动作产生的直接结果。
多个动作按照一定关系组织起来,可以形成行为:
A1→A2→A3→⋯→An→BA_1\rightarrow A_2\rightarrow A_3\rightarrow \cdots \rightarrow A_n \rightarrow B
因此,行为不是动作的简单数量累加,而是动作之间形成了目标关系、顺序关系、条件关系、状态关系和结果关系之后形成的整体结构。
例如:
发现杯子→接近杯子→拿起杯子→移动杯子→饮水→放下杯子发现杯子 \rightarrow 接近杯子 \rightarrow 拿起杯子 \rightarrow 移动杯子 \rightarrow 饮水 \rightarrow 放下杯子
这些动作按照一定顺序和条件组织起来,形成“饮水行为”。
因此,行为与动作具有明显的层级关系:
动作→动作序列→行为动作\rightarrow动作序列\rightarrow行为
但是行为也不一定只能由线性的动作序列构成。复杂行为可以包含条件分支、循环、替换和并行结构。
例如:
条件判断→{动作A动作B→结果条件判断 \rightarrow \begin{cases} 动作A\\ 动作B \end{cases} \rightarrow结果
所以行为可以被看作一个动作组织结构。
行为回答:
主体正在完成什么活动?
动作回答:
主体当前具体做什么?
二者的区别可以概括为:
行为=活动整体行为=活动整体 动作=活动单元动作=活动单元
28.3 行为与方法
方法(Method)是实现某一目标所规定的结构化实现方式,而行为是方法在具体主体、对象、状态和条件下形成的实际活动结构。
因此:
方法≠行为方法\neq行为
方法描述“如何实现”,行为描述“实际发生了什么活动”。
方法可以具有相对稳定的结构,而行为具有明显的情境性和动态性。
方法可以表示为:
M=(G,O,C,S,A,P,R)M=(G,O,C,S,A,P,R)
其中:
- GG:目标;
- OO:对象;
- CC:条件;
- SS:状态;
- AA:动作;
- PP:过程;
- RR:结果。
当方法进入具体运行条件后,需要结合当前主体、对象、状态和环境形成具体行为:
M+Context→BM+Context\rightarrow B
其中 ContextContext 表示当前行为上下文。
因此可以建立:
知识→方法→行为知识\rightarrow方法\rightarrow行为
知识提供“知道什么”,方法提供“如何实现”,行为则表现为“实际进行的活动”。
例如,系统拥有“取水方法”。
该方法可能规定:
寻找水源→接近水源→获取容器→取水→获得结果寻找水源 \rightarrow 接近水源 \rightarrow 获取容器 \rightarrow 取水 \rightarrow 获得结果
当主体面对具体水源,并且当前条件允许取水时,这一方法经过对象匹配、状态匹配和条件匹配,就可以形成具体行为:
方法+当前对象+当前状态+当前条件→行为方法 + 当前对象 + 当前状态 + 当前条件 \rightarrow 行为
因此,方法是行为形成的重要结构来源,但方法本身并不等于行为。
进一步可以区分:
方法=实现结构方法=实现结构 行为=活动结构行为=活动结构 动作=执行单元动作=执行单元
形成:
方法→行为→动作方法\rightarrow行为\rightarrow动作
28.4 行为与目标
目标(Goal)是行为希望达到的预期状态、结果或对象条件。
行为具有目标导向性,没有目标约束的动作集合通常不能构成完整意义上的行为结构。
可以表示为:
B→GB\rightarrow G
其中 BB 为行为,GG 为行为目标。
更完整地表示:
B=(Sub,O,G,C,M,A,P,S,R)B=(Sub,O,G,C,M,A,P,S,R)
其中 GG 是连接行为过程与行为结果的重要结构。
目标决定行为的方向:
目标→方法选择→动作组织→行为→结果目标\rightarrow方法选择\rightarrow动作组织\rightarrow行为\rightarrow结果
例如目标为“获得水”,则可能产生:
目标=获得水目标=获得水
系统根据目标选择相应方法,再形成相应行为。
如果目标发生变化,即使对象相同,也可能产生不同的行为。
例如面对同一个杯子:
目标=喝水目标=喝水
可能形成:
接近→拿起→饮用接近\rightarrow拿起\rightarrow饮用
而:
目标=移动杯子目标=移动杯子
可能形成:
接近→拿起→移动→放下接近\rightarrow拿起\rightarrow移动\rightarrow放下
因此:
同一对象+不同目标→不同方法→不同动作组织→不同行为同一对象+不同目标 \rightarrow不同方法 \rightarrow不同动作组织 \rightarrow不同行为
目标同时也是行为结果评价的重要依据。
行为完成后,需要判断实际结果 RR 是否满足目标 GG。
可以定义:
GoalMatch(B)=Match(R,G)GoalMatch(B)=Match(R,G)
当:
Match(R,G)=1Match(R,G)=1
表示行为结果满足目标。
当:
Match(R,G)=0Match(R,G)=0
表示行为结果未达到目标。
因此,行为形成和行为评价都与目标密切相关:
目标→行为形成目标\rightarrow行为形成 行为结果→目标匹配→行为评价行为结果\rightarrow目标匹配\rightarrow行为评价
这使行为形成了完整的闭环:
目标→行为→结果→目标匹配目标 \rightarrow 行为 \rightarrow 结果 \rightarrow 目标匹配
28.5 行为与场景
场景(Scene)是由多个对象、属性、状态、关系、行为以及它们之间的结构关系共同构成的整体环境结构。
行为不是脱离场景独立存在的。行为发生在一定场景中,同时又可能改变场景。
因此:
Scene→BehaviorScene\rightarrow Behavior
同时:
Behavior→SceneChangeBehavior\rightarrow SceneChange
可以将场景表示为:
Sc=(O,A,S,R,B,H)Sc=(O,A,S,R,B,H)
其中:
- OO:场景对象集合;
- AA:对象属性集合;
- SS:对象及场景状态;
- RR:对象之间的关系;
- BB:场景中的行为;
- HH:场景结构及层级关系。
行为是场景的重要动态组成部分。
例如,一个“房间”场景可能包含:
Scene={人、桌子、椅子、杯子、门、位置关系、状态关系、行为}Scene= \{人、桌子、椅子、杯子、门、位置关系、状态关系、行为\}
当人在房间中拿起杯子时:
场景→行为发生→对象状态变化→场景变化场景 \rightarrow 行为发生 \rightarrow 对象状态变化 \rightarrow 场景变化
行为发生之前:
杯子=桌面上杯子=桌面上
行为发生之后:
杯子=主体手中杯子=主体手中
于是场景状态发生变化:
Scenet→BehaviorScenet+1Scene_t \xrightarrow{Behavior} Scene_{t+1}
因此,行为可以被定义为场景状态变化的重要驱动结构。
场景为行为提供:
- 行为主体;
- 行为对象;
- 空间关系;
- 当前状态;
- 环境条件;
- 可用方法;
- 行为约束。
行为则向场景产生:
- 对象位置变化;
- 对象状态变化;
- 对象关系变化;
- 环境状态变化;
- 新行为条件。
于是形成:
场景t→行为→场景t+1场景_t \rightarrow 行为 \rightarrow 场景_{t+1}
进一步扩展:
Scenet→目标→方法匹配→行为→动作→状态变化→Scenet+1Scene_t \rightarrow 目标 \rightarrow 方法匹配 \rightarrow 行为 \rightarrow 动作 \rightarrow 状态变化 \rightarrow Scene_{t+1}
这说明行为不是场景中的孤立事件,而是场景动态变化的重要组成部分。
28.6 行为的统一结构模型
综合行为、动作、方法、目标和场景,可以建立行为的统一结构:
B=(Sub,O,G,C,M,A,P,S,R,Sc)B=(Sub,O,G,C,M,A,P,S,R,Sc)
其中 ScSc 表示行为所处场景。
行为形成过程可以表示为:
Scene→Goal→Object→Condition→Method→Behavior→Action→StateChange→ResultScene \rightarrow Goal \rightarrow Object \rightarrow Condition \rightarrow Method \rightarrow Behavior \rightarrow Action \rightarrow StateChange \rightarrow Result
其中:
Method→BehaviorMethod\rightarrow Behavior
表示方法向具体行为转换;
Behavior→ActionBehavior\rightarrow Action
表示行为由动作构成;
Goal→BehaviorGoal\rightarrow Behavior
表示目标决定行为方向;
Scene→BehaviorScene\rightarrow Behavior
表示场景提供行为发生条件;
Behavior→Scene′Behavior\rightarrow Scene’
表示行为改变场景状态。
因此可以建立完整的行为动态模型:
Scenet→Goalt→Methodt→Behaviort→Actiont→Statet+1→Scenet+1Scene_t \rightarrow Goal_t \rightarrow Method_t \rightarrow Behavior_t \rightarrow Action_t \rightarrow State_{t+1} \rightarrow Scene_{t+1}
新的场景又可以成为下一次行为的输入:
Scenet+1→Goalt+1→Behaviort+1Scene_{t+1} \rightarrow Goal_{t+1} \rightarrow Behavior_{t+1}
由此形成行为与场景之间的动态循环。
28.7 行为的结构层级
从认知工程角度,可以把行为分为多个结构层级。
第一层是行为目标:
GoalGoal
第二层是行为整体:
BehaviorBehavior
第三层是行为过程:
ProcessProcess
第四层是动作集合:
A1,A2,…,AnA_1,A_2,\ldots,A_n
第五层是动作结果:
ResultResult
形成:
目标→行为→过程→动作→结果目标 \rightarrow 行为 \rightarrow 过程 \rightarrow 动作 \rightarrow 结果
而从知识和方法角度,则形成:
知识→方法→行为→动作知识 \rightarrow 方法 \rightarrow 行为 \rightarrow 动作
从场景角度形成:
场景→行为→场景变化场景 \rightarrow 行为 \rightarrow 场景变化
三个方向最终汇聚为统一的行为结构:
知识→方法→行为→动作→状态变化→结果知识 \rightarrow 方法 \rightarrow 行为 \rightarrow 动作 \rightarrow 状态变化 \rightarrow 结果
同时:
目标→行为目标\rightarrow行为 场景→行为场景\rightarrow行为 行为→场景变化行为\rightarrow场景变化
由此,行为成为连接知识、方法、目标、动作和场景的重要认知结构。
28.8 行为的工程映射
在认知工程中,行为不能仅作为一个简单的数据字段,而应作为独立的结构化对象。
可以定义:
Behavior
├── Subject
├── Object
├── Goal
├── Condition
├── Method
├── Actions
├── Process
├── State
├── Result
└── Scene
对应PHP面向对象模型,可以建立:
Behavior
Action
BehaviorCondition
BehaviorProcess
BehaviorResult
BehaviorState
BehaviorMatcher
BehaviorBuilder
BehaviorExecutor
其中:
Behavior负责保存完整行为结构。
Action负责描述行为中的基本动作。
BehaviorCondition负责判断行为形成所需要的条件。
BehaviorProcess负责描述动作之间的组织关系。
BehaviorResult负责保存行为产生的结果。
BehaviorState负责记录行为前、中、后的状态。
BehaviorMatcher负责行为结构匹配。
BehaviorBuilder负责根据目标、方法、对象和当前条件形成行为。
BehaviorExecutor负责推动行为进入实际执行过程。
其工程关系可以表示为:
Goal→MethodMatcher→BehaviorBuilder→Behavior→Action→BehaviorExecutor→State→ResultGoal \rightarrow MethodMatcher \rightarrow BehaviorBuilder \rightarrow Behavior \rightarrow Action \rightarrow BehaviorExecutor \rightarrow State \rightarrow Result
这样,行为就从理论概念转换为可以被程序表示、匹配、构建、执行和记录的结构化对象。
28.9 行为与知识系统的关系
在完整认知系统中,行为并不是最终终点。
行为产生结果,结果改变状态,而状态变化又可以形成新的知识。
因此:
Knowledget→Methodt→Behaviort→Resultt→Statet+1→Knowledget+1Knowledge_t \rightarrow Method_t \rightarrow Behavior_t \rightarrow Result_t \rightarrow State_{t+1} \rightarrow Knowledge_{t+1}
其中:
- KnowledgetKnowledge_t:当前已有知识;
- MethodtMethod_t:根据知识形成或选择的方法;
- BehaviortBehavior_t:当前实际行为;
- ResulttResult_t:行为结果;
- Statet+1State_{t+1}:行为后的新状态;
- Knowledget+1Knowledge_{t+1}:根据新状态形成或更新的知识。
这使行为成为知识系统与现实状态之间的重要连接结构。
因此可以建立:
知识→方法→行为→结果→知识更新知识\rightarrow方法\rightarrow行为\rightarrow结果\rightarrow知识更新
这也是结构化认知系统形成动态循环的重要基础。
28.10 本章总结
行为(Behavior)是主体在一定场景和条件下,以特定目标为方向,通过某种方法组织动作并产生结果的结构化活动。
行为不是动作的简单集合,也不是方法本身。
其基本区别为:
目标=行为方向目标=行为方向 方法=实现结构方法=实现结构 行为=活动结构行为=活动结构 动作=执行单元动作=执行单元 场景=行为环境与结构载体场景=行为环境与结构载体
五者形成统一关系:
目标→方法→行为→动作→结果目标 \rightarrow 方法 \rightarrow 行为 \rightarrow 动作 \rightarrow 结果
同时:
场景→行为→场景变化场景 \rightarrow 行为 \rightarrow 场景变化
最终形成:
知识→方法→行为→动作→状态变化→结果→知识更新知识 \rightarrow 方法 \rightarrow 行为 \rightarrow 动作 \rightarrow 状态变化 \rightarrow 结果 \rightarrow 知识更新
因此,行为是结构化认知体系中连接目标、方法、动作、状态、结果与场景的核心动态结构。通过对行为进行结构化定义,可以进一步建立行为匹配、行为构建、行为选择、行为执行以及行为结果评价等后续认知工程机制。