第31章 Behavior 的定义
第29章完成了方法选择,第30章完成了方法实例化。
此时人工个体已经从多个候选方法中确定了当前方法,并将抽象方法绑定到当前对象、当前状态、当前场景和具体参数,形成:
Method Template
↓
Method Selection
↓
Parameter Mapping
↓
Current Object
↓
Current State
↓
Method Instance
但是,Method Instance 仍然属于方法层。
它说明当前采用什么具体方法,却还没有完全描述这个方法在现实场景中如何持续展开。
因此,需要进入 Behavior。
Method Instance
↓
Behavior
↓
Action
↓
Execution
Behavior 是方法进入现实过程后的动态表现。
本章主要解决四个问题:
Behavior 与 Method 有什么区别?
Behavior 与 Action 有什么区别?
Behavior 如何形成连续过程?
Behavior 当前处于什么状态?
31.1 Behavior 的定义
Behavior(行为)是人工个体针对当前目标,在特定对象、状态和环境条件下,通过方法实例组织一系列动作并产生状态变化的动态过程。
可以抽象表示为:
Behavior
=
Method Instance
+
Current State
+
Action Process
+
State Transition
+
Environment
+
Feedback
因此,Behavior 不是一个单独的动作,也不是一个静态方法。
它具有:
- 时间性
- 连续性
- 状态性
- 条件性
- 目标性
- 环境交互性
- 反馈性
最基本的行为结构是:
Current State
↓
Behavior
↓
Action
↓
State Change
↓
Next Action
↓
New State
因此:
行为的本质不是“做了什么”,而是个体在目标驱动下,通过连续动作使自身状态、对象状态或环境状态发生有方向性的变化。
31.2 行为与方法
Method 和 Behavior 都与“如何完成目标”有关,但它们处于不同层次。
Method 主要描述:
采用什么处理方式完成目标。
Behavior 主要描述:
这个方法在当前场景中如何展开。
因此:
Method
=
处理规则 / 处理方式
Behavior
=
动态表现 / 行为过程
例如:
Method:
MoveToTarget
这是一个方法。
它说明:
当前对象
↓
向目标位置移动
但是实际行为可能是:
识别目标
↓
确定方向
↓
启动
↓
开始移动
↓
调整速度
↓
修正方向
↓
接近目标
↓
减速
↓
停止
↓
确认到达
这里的连续过程才构成 Behavior。
因此:
Method
↓
规定如何处理
Behavior
↓
体现处理过程
31.3 Method 是抽象结构,Behavior 是动态过程
可以进一步表示:
Method
│
├── Goal
├── Input
├── Parameter
├── Condition
├── Constraint
├── Processing
└── Expected Output
而 Behavior 更接近:
Behavior
│
├── Goal
├── Method Instance
├── Current Object
├── Current State
├── Behavior State
├── Action
├── State Transition
├── Environment Interaction
└── Feedback
因此:
Method
=
“怎么处理”
Behavior
=
“处理过程如何展开”
Method 可以脱离当前对象而存在。
Behavior 通常必须依赖具体对象、状态和场景。
所以:
Generic Method
↓
Method Instance
↓
Current Context
↓
Behavior
31.4 Method Instance 是 Behavior 的方法基础
第30章已经建立:
Method Template
↓
Method Instance
到了第31章:
Method Instance
↓
Behavior
这意味着 Behavior 并不是直接从抽象 Method 产生,而是通常建立在具体 Method Instance 之上。
例如:
Method Template
MoveToTarget
实例化:
Object = Robot_A
Target = Position_B
Speed = V
CurrentState = S
形成:
Method Instance
MoveToTarget(
Robot_A,
Position_B,
V,
S
)
再进一步形成:
Behavior
Robot_A
↓
移动
↓
调整
↓
接近
↓
停止
所以:
Method Instance 为 Behavior 提供具体的方法基础。
31.5 行为与动作
Behavior 与 Action 是另一个重要边界。
Action(动作)是行为过程中的具体执行单元。
可以表示:
Behavior
├── Action A
├── Action B
├── Action C
└── Action D
例如:
Behavior:
接近目标
Action:
移动
减速
调整方向
停止
因此:
Action 是行为的具体动作单元,Behavior 是由动作、状态变化和条件关系构成的动态过程。
31.6 行为不是动作列表
必须特别区分:
Behavior ≠ Action List
如果只有:
A → B → C
只能说明存在三个动作。
还不能说明:
- 为什么执行 A;
- A 之后状态发生什么变化;
- 为什么执行 B;
- B 是否满足条件;
- C 是否仍然有效;
- 如果 B 失败怎么办;
- 环境发生变化后是否继续;
- 行为何时结束。
真正的行为结构应该是:
State S0
↓
Action A
↓
State S1
↓
Condition
↓
Action B
↓
State S2
↓
Action C
↓
State S3
所以:
行为不是动作的简单集合,而是动作与状态、条件、目标之间形成的动态关系。
31.7 行为过程
Behavior Process(行为过程)描述行为如何随着时间展开。
最基本形式:
State(t)
↓
Action(t)
↓
State(t+1)
↓
Action(t+1)
↓
State(t+2)
因此行为可以被表示为:
B =
{
S0,
A0,
S1,
A1,
S2,
A2,
...
}
其中:
S = State
A = Action
行为的核心就是:
State Transition
+
Action Transition
31.8 行为过程的时间性
行为一定存在时间展开。
例如:
t0 t1 t2 t3 t4
S0 → S1 → S2 → S3 → S4
A0 A1 A2 A3
因此 Behavior 不是:
Behavior = Static Object
而是:
Behavior = Dynamic Process
它具有:
Start Time
Current Time
State Sequence
Action Sequence
Transition Sequence
End Time
这也是 Behavior 与 Method 的根本区别之一。
Method 可以作为稳定的知识结构长期存在。
Behavior 则随着时间不断变化。
31.9 行为开始
行为通常不是无条件开始的。
它需要满足一定的激活条件:
Goal
↓
Method Instance
↓
Precondition Check
↓
Behavior Activation
↓
Behavior Start
例如:
目标存在
+
对象存在
+
方法有效
+
参数有效
+
约束满足
↓
Behavior Ready
然后:
Ready
↓
Active
因此:
行为开始意味着一个具体的方法实例已经进入当前现实过程。
31.10 行为状态
Behavior State 描述行为当前所处的生命周期阶段。
基本结构:
Behavior State
│
├── Created
├── Ready
├── Active
├── Executing
├── Paused
├── Completed
├── Failed
└── Terminated
这些状态描述的不是对象本身,而是:
当前行为正在经历什么阶段。
31.11 Created
Created 表示行为已经建立。
例如:
Method Instance
↓
Behavior Created
此时行为已经拥有:
Goal
Method Instance
Object
State
但还没有正式进入行为执行过程。
因此:
Created
≠
Executing
31.12 Ready
Ready 表示行为已经满足启动条件,可以进入执行。
Created
↓
Condition Check
↓
Constraint Check
↓
Resource Check
↓
Ready
Ready 表示:
行为具备开始条件。
但尚未真正执行动作。
31.13 Active
Active 表示行为已经被激活,进入行为运行阶段。
Ready
↓
Active
此时行为已经成为当前个体正在处理的行为。
例如:
Current Behavior
=
MoveToTarget
31.14 Executing
Executing 表示行为正在产生具体动作。
Behavior
↓
Executing
↓
Action
↓
Execution
例如:
Behavior State:
Executing
Current Action:
Move
动作完成之后,行为不一定立即完成。
可能进入:
Next Action
例如:
Move
↓
SlowDown
↓
Stop
↓
Verify
因此:
Action 的完成不等于 Behavior 的完成。
31.15 Paused
行为可能因为条件变化而暂时停止。
例如:
Executing
↓
Temporary Condition
↓
Paused
Paused 不表示行为失败。
它意味着:
行为目标仍然存在
+
行为仍然有效
+
当前暂时无法继续
因此:
Paused
↓
Condition Restored
↓
Executing
31.16 Completed
当行为已经达到目标状态或完成规定结果时:
Executing
↓
Goal Check
↓
Goal Achieved
↓
Completed
例如:
Current State
↓
Target State
如果:
Current State = Target State
则:
Behavior = Completed
31.17 Failed
如果行为无法继续达到目标,则进入 Failed。
Executing
↓
Failure
↓
Failed
失败可能来自:
Object Failure
State Failure
Method Failure
Constraint Violation
Resource Failure
Environment Change
Unexpected Event
行为失败并不一定意味着个体认知失败。
失败本身可以产生:
Feedback
↓
Experience
↓
Learning
↓
Method Evaluation Update
因此失败是认知系统的重要信息来源。
31.18 Terminated
Terminated 表示行为被主动或外部终止。
例如:
Executing
↓
New Goal
↓
Current Behavior No Longer Required
↓
Terminated
或者:
Executing
↓
Human Control
↓
Terminated
因此:
Failed
=
行为不能正常完成
Terminated
=
行为被终止
二者不能混淆。
31.19 行为状态机
将上述状态连接起来:
Created
↓
Ready
↓
Active
↓
Executing
├──────────────→ Completed
│
├──────────────→ Failed
│
├──────────────→ Paused
│ ↓
│ Executing
│
└──────────────→ Terminated
这构成基本的 Behavior State Machine。
行为状态并不是永久固定的,而是随着:
Action
State Change
Condition
Environment
Feedback
Goal
不断变化。
31.20 行为状态与对象状态
Behavior State 和 Object State 必须严格区分。
例如:
Behavior State:
Executing
可能对应:
Object State:
Moving
也可能:
Object State:
Blocked
因此:
Behavior State
=
行为处于什么阶段
Object State
=
对象处于什么状态
二者存在关系:
Behavior State
↕
Object State
但不能合并为同一个 State。
31.21 行为状态与动作状态
同样,Behavior State 与 Action State 也不同。
例如:
Behavior:
MoveToTarget
Behavior State:
Executing
当前 Action:
Action:
Move
Action State:
Completed
但是 Behavior 仍然可能:
Executing
因为后面还有:
调整
减速
停止
确认
所以:
Action Completed
≠
Behavior Completed
这是行为层与动作层之间最重要的边界之一。
31.22 行为过程中的状态转换
行为运行可以抽象为:
S0
↓
A0
↓
S1
↓
A1
↓
S2
↓
A2
↓
S3
其中:
S0 = 初始状态
S1 = 中间状态
S2 = 中间状态
S3 = 目标状态
如果:
S3 = Goal State
则:
Behavior = Completed
如果:
S2
↓
Constraint Violation
则:
Behavior = Failed
如果:
S2
↓
Temporary Block
则:
Behavior = Paused
所以行为状态实际上是状态转换过程的高层描述。
31.23 行为过程不是固定流程
行为虽然可以表现为:
A → B → C → D
但不能因此把 Behavior 理解成固定工作流。
因为现实状态可能发生变化:
A
↓
B
↓
Environment Change
↓
Condition Change
↓
Behavior State Update
此时可能:
继续 B
或者:
调整 B
或者:
停止 B
↓
重新选择方法
因此行为过程具有:
连续性
+
条件性
+
状态依赖性
而动态行为的进一步生成、调整和转移,将在后续章节中继续展开。
31.24 行为与环境
行为始终存在于场景中。
因此:
Scene
↓
Behavior
↓
Action
↓
Environment Change
↓
New Scene
↓
Behavior State
行为改变环境。
环境又改变行为。
形成:
Behavior
↓
Action
↓
Environment
↓
Perception
↓
Cognition
↓
Behavior
↺
因此 Behavior 不是封闭过程,而是一个与环境持续交互的动态结构。
31.25 行为反馈
行为过程必须能够接收反馈。
Behavior
↓
Action
↓
Execution
↓
Feedback
↓
State Update
反馈可以说明:
是否成功
是否偏离
状态是否变化
环境是否变化
目标是否仍然有效
约束是否仍然满足
风险是否发生变化
反馈进一步影响行为状态:
Feedback
↓
Behavior Evaluation
↓
Behavior State Update
例如:
Executing
↓
Feedback
↓
Condition Still Valid
↓
Executing
或者:
Executing
↓
Unexpected Event
↓
Paused / Failed / Adaptation
31.26 Behavior 的基本内部结构
可以将 Behavior 定义为一个结构化对象:
Behavior
│
├── Behavior Identity
├── Goal
├── Method Instance
├── Current Object
├── Current Scene
├── Initial State
├── Current State
├── Behavior State
├── Current Action
├── Action History
├── State Transition
├── Conditions
├── Constraints
├── Environment Interaction
├── Feedback
└── Result
其中最核心的关系是:
Method Instance
↓
Behavior
↓
Current Action
↓
State Transition
↓
Feedback
31.27 Behavior 的形式化
可以将行为表示为:
Behavior(t)
=
F(
MethodInstance,
Object(t),
State(t),
Scene(t),
Condition(t),
Action(t),
Feedback(t)
)
其状态转换可以表示为:
State(t)
+
Action(t)
+
Environment(t)
+
Condition(t)
→
State(t+1)
行为持续运行:
State(t)
↓
Action(t)
↓
State(t+1)
↓
Action(t+1)
↓
State(t+2)
↓
...
直到:
Goal Achieved
或者:
Failure
或者:
Termination
31.28 Method、Behavior、Action、Execution 的四层结构
至此,可以建立一个清晰的四层关系:
Method
↓
Method Instance
↓
Behavior
↓
Action
↓
Execution
分别代表:
Method
=
方法规则
Method Instance
=
当前具体方法
Behavior
=
方法在场景中的动态过程
Action
=
行为中的具体动作
Execution
=
动作实际发生
因此:
Method
回答:
“怎么做?”
Method Instance
回答:
“当前具体怎么做?”
Behavior
回答:
“这个方法如何持续展开?”
Action
回答:
“现在做什么?”
Execution
回答:
“实际上发生了什么?”
这五个层次共同构成从认知到现实执行的重要链条。
31.29 Behavior 的位置
在整个 ICAI 认知体系中:
WORLD
↓
PERCEPTION
↓
SCENE
↓
COGNITION
↓
GOAL
↓
CAPABILITY
↓
METHOD
↓
METHOD INSTANCE
↓
BEHAVIOR
↓
ACTION
↓
EXECUTION
↓
FEEDBACK
↓
RE-COGNITION
Behavior 位于:
Method System
↓
Behavior
↓
Action System
因此它是一个重要的中间层。
它把:
“如何做”
转化为:
“如何持续表现”
再进一步转化为:
“具体动作”
31.30 本章核心结论
Behavior 不是 Method 的简单执行,也不是 Action 的简单集合。
它是:
人工个体在特定目标、对象、状态和场景下,通过具体方法实例组织动作,并在状态变化与环境反馈中持续展开的动态过程。
核心关系:
Method
↓
Method Instance
↓
Behavior
↓
Action
↓
Execution
↓
Feedback
其中:
Method
=
处理方式
Method Instance
=
当前具体处理方式
Behavior
=
动态行为过程
Action
=
具体动作
Execution
=
实际执行
行为状态则描述:
Created
↓
Ready
↓
Active
↓
Executing
↓
Completed
并允许:
Executing
↓
Paused
↓
Executing
或者:
Executing
↓
Failed
以及:
Executing
↓
Terminated
最终形成:
Cognition
↓
Capability
↓
Method
↓
Method Instance
↓
Behavior
↓
Action
↓
Execution
↓
Feedback
↓
State Update
↓
Re-Cognition
第29章解决“选择什么方法”,第30章解决“如何把方法具体化”,第31章解决“这个具体方法如何形成行为过程”。
因此,第31章正式建立了 Behavior System(行为系统) 的理论起点。
后续行为理论可以进一步研究:
Behavior
↓
Behavior State
↓
Behavior Transition
↓
Dynamic Behavior
↓
Behavior Generation
↓
Behavior Adaptation
↓
Action
↓
Execution
↓
Feedback
即从**“行为是什么”进一步进入“行为如何动态运行”**。