5控制领域超顶期刊Automatica程序复现-Decentralized event-triggered consensus for linear multi-agent systems under general directed graphs 【主要内容】研究了一般有向图下具有一般线性动力学的多代理系统的事件触发共识问题。 提出了一种分散的事件触发式共识控制器 (ETCC),以实现共识。 每个代理只需持续监控自己的状态以确定何时触发事件,并将其状态广播给外部邻居。 代理在广播自己的状态时当它向外邻广播自己的状态或从内邻收到新信息时,它就会更新自己的控制器。 ETCC 可通过多个步骤实现。 不会出现 Zeno 行为。 为了放宽对每个代理自身状态的持续监控要求,进一步提出了自触发共识控制器(STCC)。

在控制领域的研究中,多代理系统(MAS)的共识问题一直备受关注。今天咱们就来聊聊发表于超顶期刊Automatica上关于 “Decentralized event - triggered consensus for linear multi - agent systems under general directed graphs” 的研究及程序复现。

这项研究聚焦于一般有向图下,具有一般线性动力学的多代理系统的事件触发共识问题。简单理解,就是多个代理(可以想象成一个个智能体)在特定有向图结构的网络里,得达到某种一致状态,就像一群小伙伴得朝着同一个目标行动。

分散的事件触发式共识控制器 (ETCC)

为了实现这个目标,研究者提出了一种分散的事件触发式共识控制器 (ETCC)。它的核心思路很巧妙:每个代理不需要时刻盯着其他所有代理,只需要持续监控自己的状态,来决定啥时候触发事件,然后把自己状态广播给外部邻居。

5控制领域超顶期刊Automatica程序复现-Decentralized event-triggered consensus for linear multi-agent systems under general directed graphs 【主要内容】研究了一般有向图下具有一般线性动力学的多代理系统的事件触发共识问题。 提出了一种分散的事件触发式共识控制器 (ETCC),以实现共识。 每个代理只需持续监控自己的状态以确定何时触发事件,并将其状态广播给外部邻居。 代理在广播自己的状态时当它向外邻广播自己的状态或从内邻收到新信息时,它就会更新自己的控制器。 ETCC 可通过多个步骤实现。 不会出现 Zeno 行为。 为了放宽对每个代理自身状态的持续监控要求,进一步提出了自触发共识控制器(STCC)。

代码示例(假设使用Python和简单的图结构模拟,这里只是示意逻辑,实际应用可能复杂得多):

class Agent:
    def __init__(self, agent_id):
        self.id = agent_id
        self.state = 0  # 代理的初始状态
        self.neighbors = []  # 外部邻居列表

    def monitor_state(self):
        # 这里简单假设当状态大于10触发事件
        if self.state > 10:
            self.broadcast_state()

    def broadcast_state(self):
        for neighbor in self.neighbors:
            neighbor.receive_state(self.state)

    def receive_state(self, state):
        # 接收到邻居状态后更新自己的控制器
        self.update_controller(state)

    def update_controller(self, new_state):
        # 简单的控制器更新逻辑,这里假设对状态进行平均
        self.state = (self.state + new_state) / 2

在上述代码里,monitorstate 方法模拟了代理对自身状态的监控,当状态满足条件就广播。broadcaststate 负责把状态发给邻居,邻居收到后通过 receivestate 调用 updatecontroller 更新自身控制器。

ETCC 通过多个步骤实现,而且一个很棒的特性是不会出现 Zeno 行为。Zeno 行为简单说就是在有限时间内发生无限次事件,这在实际系统里可不好,ETCC 很好地规避了这个问题。

自触发共识控制器(STCC)

虽然 ETCC 已经很厉害,但研究者还想更进一步。为了放宽对每个代理自身状态的持续监控要求,又提出了自触发共识控制器(STCC)。这就好比给每个代理一个 “小闹钟”,不需要时刻盯着自己状态,到点了再检查。具体实现可能会涉及到更复杂的数学推导和逻辑,这里先不展开代码示例了。

总之,这个研究从 ETCC 到 STCC 的一步步探索,为多代理系统在一般有向图下的事件触发共识问题提供了全面且深入的解决方案,对控制领域相关应用有着重要的指导意义。后续在程序复现过程中,我们可以继续深入挖掘这些算法在不同场景下的表现和优化空间。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐