[发明专利]一种包含互斥资源的多智能体系统的控制器生成方法有效
| 申请号: | 202110757211.X | 申请日: | 2021-07-05 |
| 公开(公告)号: | CN113420864B | 公开(公告)日: | 2022-06-14 |
| 发明(设计)人: | 张慧敏;施薏 | 申请(专利权)人: | 广西师范大学 |
| 主分类号: | G06N3/00 | 分类号: | G06N3/00 |
| 代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 陆梦云 |
| 地址: | 541004 广西壮*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 包含 资源 智能 体系 控制器 生成 方法 | ||
1.一种包含互斥资源的多智能体系统的控制器生成方法,包括如下步骤:
1)定义模型:所述多智能体系统由n个具有传感、计算、执行能力的单个智能体组成,第i个智能体用Ai=(Qi,∑i,δi,qi,0,Qi,m)表示,其中i∈Nn={1,…,n},对于任意智能体Ai和Aj,i,j∈Nn且i≠j,字母表令ri表示第i个互斥资源,其中i∈Nm={1,…,m},如果资源rk被两个不同的智能体Ai和Aj互斥共享,那么Ai和Aj不能同时使用资源rk,对rk的约束可以用一个有限状态自动机Rk进行描述,其它控制需求由自动机H描述,利用监督控制理论可以得到整个系统关于控制需求R1,...,Rm及H的全局控制器S,在TCT软件中采用如下过程进行计算:
1-1)计算A=sync{A1,…,An);
2-1)计算H′=sync{R1,…,Rm,H);
3-1)计算S=supcon(A,H);
在步骤1-1)中,受控系统A的规模随着智能体的数量n呈指数增长;在步骤2-1)中,描述全局控制需求的有限状态自动机H的规模也随着子需求m的数量呈指数增长;在步骤3-1)中,生成受控系统关于所有控制需求的全局控制器,用有限状态自动机S表示;
2)依据智能体使用互斥资源的不同情况,分别按照以下四种场景进行处理:
1-2)场景1为两个智能体使用一个互斥资源:令A1=(Q1,∑1,δ1,q1,0,Q1,m)和A2=(Q2,∑2,δ2,q2,0,Q2,m)分别表示两个智能体,且设r为A1和A2使用的互斥资源,H是描述除去r之外的其它所有控制需求的有限状态自动机,字母表和分别表示智能体A1和A2开始使用资源r的事件集,字母表和分别表示智能体A1和A2释放资源r的事件集,在场景1下生成控制器的过程如下:
1-1-2)建立描述资源r互斥性控制需求的确定有限状态自动机R=(Q,∑,δ,q0,Qm),其中Q={0,1,2},q0=0,Qm={0,1,2};
2-1-2)令q1∈Q1且q2∈Q2,对于如果δ1(q1,0,σ1)!,δ2(q2,0,σ2)!且δ1(q1,0,σ1)=q′1,δ2(q2,0,σ2)=q′2,那么(q1,q2)是A1和A2关于R的一个互斥状态对,依据算法2计算A1=(Q1,∑1,δ1,q1,0,Q1,m)和A2=(Q2,∑2,δ2,q2,0,Q2,m)关于R的所有互斥状态对:
算法2:计算A1和A2关于R的互斥状态对:
输入:A1,A2,R;
输出:智能体A1和A2关于R的所有互斥状态对,具体为:
1)令
2)令
3)while(q1∈Q1);
4)
5)if(δ1(q1,σ1)!且δ1(q1,σ1)=q′1);
6)
7)end if;
8)end while;
9)end while;
10)while(q2∈Q2);
11)
12)if(δ2(q2,σ2)!且δ2(q2,σ2)=q′2);
13)
14)end if;
15)end while;
16)end while;
17)且
3-1-2)A=mutex(A1,A2,list);
4-1-2)S=supcon(A,H),
步骤4-1-2)得到的控制器S和S′=supcon(A1||A2,R||H)是同构的;
2-2)场景2为两个智能体使用多个互斥资源:设r1,r2,…,rn为智能体A1=(Q1,∑1,δ1,q1,0,Q1,m)和A2=(Q2,∑2,δ2,q2,0,Q2,m)互斥共享的资源,事件集和中的事件分别表示智能体A1开始占用和释放资源ri,事件集和中的事件分别表示智能体A2开始占用和释放资源ri,令在场景2下生成控制器的过程如下:
1-2-2)建立描述资源ri互斥性控制需求的有限状态自动机Ri:自动机用Ri(i∈{1,2,…,n})=(Qi,∑i,δi,qi,0,Qi,m)表示,其中Qi={0,1,2},qi,0=0,Qi,m={0,1,2};
2-2-2)A1和A2关于多个资源r1,r2,…,rn的控制需求R1,R2,...,Rn的互斥状态对采用以下流程计算:
(1)利用算法2在R1上得到list1;
(2)利用算法2在R2上得到list2;
……
(n)利用算法2在Rn上得到listn;
互斥状态对list=list1∪list2∪…∪listn;
其中,listi表示A1和A2关于Ri的互斥状态对集合,利用算法2得到listi,A1和A2关于所有资源的互斥状态list=list1∪…∪listn;
3-2-2)计算系统关于所有控制需求的控制器:
设R=R1||R2||…||Rn,假设除了R外,其它控制需求由自动机H来表示,计算控制器的步骤如下:
(1)A=mutex(A1,A2,list);
(2)S=supcon(A,H),令K=Lm((A1||A2)∩(R||H)),在场景2下,supC(Lm(A)∩L(H),L(A))=supC(K,L(A1||A2));
3-2)场景3为多个智能体使用一个互斥资源:设Ai=(Qi,∑i,δi,qi,0,Qi,m)为第i个智能体,其中i∈Rn且n>2,对于任意两个智能体Ai和Aj,且i≠j,设r为所有智能体使用的互斥资源,事件集和中的事件分别表示智能体Ai开始占用和释放资源r,令且∑′=∑1∪...∪∑n-∑O-∑R,在场景3下生成控制器的过程如下:
1-3-2)建立描述资源r互斥性控制需求的有限状态自动机RR=(Q,∑,δ,q0,Qm),其中Q={0,1,2,…,n},q0=0,Qm={0,1,2,…,n};
2-3-2)依据算法3计算A1,…,An-1和An关于RR的所有互斥状态对:
算法3:计算n个智能体共享一个互斥资源RR时的互斥状态对:
输入:A1,…,An,RR,…,
输出:n个智能体关于RR的所有互斥状态对,具体为:
1)i=1;
2)while(i≤n);
3)
4)while(qi∈Qi);
5)
6)if(δi(qi,σi)!且δi(qi,σi)=q′i);
7)
8)end if;
9)end while;
10)end while;
11)i++;
12)end while;
13)j=1;
14)while(j≤n);
15)k=j+1:
16)while(k≤n);
17)while(qi∈Qi);
18)while(qk∈Qk);
19)list=list∪{(qi,qk)};
20)end while;
21)end while;
22)k++;
23)end while
24)i++;
25)endwhile;
26)输出list;
其中的步骤2)到步骤12)为计算智能体Ai使用资源r时所处的状态,步骤13)到步骤25)计算各智能体的互斥状态对,设nq=max(|Q1|,…,|Qn|)且ne=max(|∑1|,…,|∑n|),算法3的计算复杂度为O(max(n.nq.ne,n2.nq));
3-3-2)生成受控系统A1||…||An关于总体控制需求的全局控制器:依据算法4计算n个(n>2)智能体共享一个资源的情况,算法4计算n个智能体使用一个互斥资源的“mutex”函数:
输入:不相交的智能体A1,A2,…,An和互斥状态对集合list;
输出:关于A1||A2||...||An和约束列表list的控制器,具体为:
1)执行A12…n=A1||A2||…||An;
2)在A12…n中删除列表list中的状态,以及A12…n中沿不可控路径可到达list中状态的所有状态;
3)A12…n=AC(A12…n);
4)输出A12…n;
输出结果A12…n是可达的且可控的,设A=A1||…||An,如果A12…n是可到达的,算法4恰好是计算受控系统A关于控制需求RR的控制器;否则,采用S=supcon(A,A12…n)得到控制器,假设除RR之外的其它控制需求由自动机H来表示,受控系统关于全局控制需求的控制器按如下步骤生成:
(1)A=mutex(A1,…,An,list);
(2)S=supcon(A12…n,H),设K=Lm(A||(R||H)),则supC(Lm(A12…n)∩L(H),L(A12…n))=supC(K,L(A));
4-2)场景4为多个智能体共享多个资源:设A1,A2,…,An为n个智能体,r1,r2,…,rm为m个资源,令集合A={A1,…,An},集合r={r1,…,rm},资源分配函数定义为映射Φ:r→2A,Φ(ri)=Ai,其中ri∈r,场景4中的问题可以分解为m个“多个智能体共享一个资源”子问题,Ai中的智能体关于资源ri的互斥状态对采用算法4计算,智能体-资源关系图ARRD的定义:
智能体资源关系图ARRD(A,r,Φ)是一个无向图,其中,A是一组互不相交的智能体,r是一组由集合A中的智能体共享的互斥资源,Φ:r→2A是资源分配函数,Φ(ri)=Ai表示互斥资源ri由Ai中的智能体共享,在ARRD的图形表示中,用矩形表示智能体,矩形下面的括号中给出了描述该智能体的有限状态自动机的状态数和转移数,用椭圆形表示资源,如果Φ(ri)=Ai,则从ri到Ai中的每个智能体都画一条直线,在这个场景中,问题被分解成m个场景3的子问题,采用两种贪婪思想解决子问题处理的优先级问题:
贪婪思想1:mutex函数中删除的状态越多,最后得到的自动机规模就越小;
贪婪思想2:各智能体并行组合后的规模尽可能小,智能体的规模越小,涉及这些智能体的控制需求就越优先处理,对于关于互斥资源ri的控制需求用自动机Ri进行描述;
基于ARRD和上述两种贪婪思想,生成关于智能体和互斥资源控制需求的控制器的算法如算法5所示:
算法5:关于n个智能体和m个互斥资源的控制器计算方法:
输入:ARRD(A,r,Φ),n个智能体A1,A2,…,An和m个描述互斥资源的自动机R1,R2,…,Rm;
输出:关于智能体和互斥资源控制需求的控制器,具体为:
1)i=1;R={R1,R2,…,Rm};
2)while(i≤|R|);
3)
4)通过算法2计算listi;
5)j=i+1;
6)while(j≤|R|);
7)if(Φ(ri)=Φ(rj));
8)通过算法4计算listj;
9)list=list∪listj;
10)R=R-{Rj};
11)end if;
12)j++;
13)end while;
14)
15)list=list∪listi;
16)Ai=Φ(ri);
17)A′i=mutex(Ai,list);
18)A=A-Ai;
19)A=A∪{Ai}′;
20)end if;
21)i++;
22)end while;
23)k=1,p=0;
24)lmin=+∞;
25)
26)for each Rk∈R;
27)
28)if(lmin>l);
29)lmin=l;
30)p=k;
31)endif;
32)end while;
33)计算listp;
34)A′p=muter(Ap,listp);
35)A=A-Ap;
36)A=A∪{A′p};
37)R=R-{Rp};
38)end while;
39)输出A′p;
其中,步骤2)到步骤22)描述了多个互斥资源被同一智能体共享,采用第一种贪心思想处理关于这些资源控制需求的优先级;从步骤23)到步骤38),按照第二种贪心思想处理相关控制需求的优先级,算法5的计算复杂度为O(|R|2),算法5的输出用Sr表示,假设其它控制需求由自动机H描述,设A=A1||…||An,受控系统关于全局控制需求的控制器由下式计算:
S=supcon(Sr,H),
设K=Lm(A)∩L(R||H),SupC(Lm(Sr)∩L(H),L(Sr))=SupC(K,L(A))。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广西师范大学,未经广西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110757211.X/1.html,转载请声明来源钻瓜专利网。





