需找活动图的路径覆盖算法,
1.活动图中的活动分为开始活动、一般活动、判定分支活动、合并活动、结束活动;活动图只能存在一个开始活动,其他活动可以存在多个;一般活动必须存在一个或这个入度有向边一个出度有向边;判定分支活动必须存在一个或多个入度有向边,多个出度有向边;合并活动必须存在多个入度有向边,一个出度有向边;结束活动存在一个或多个入度有向边,无出度有向边。
2.基本路径算法描述:从开始活动到结束活动的最小数量的所有路径(每条有向边都至少要被走过一次)。
3.例如上述活动图,得到的基本路径为:
1-2-4
\
6-7
/
1-3-5
1-2-4
\
6-7
/
1-3-5-3-5
1-2-4-7
共三条路径。注:合并活动为所有的入度都满足时才能走向下一个活动。
上图中只一个合并活动,如果存在多个合并活动时,解决起来比较麻烦,至今没有想到好的方法。特此发日志请教各位。有兴趣的研究研究,没有兴趣的帮个人场哈…………谢谢。
另外附上活动和有向边及其活动图的定义:
//活动定义:
Class Activity
{
String id;
String name;
String number;
String type;
Ilist<Direction> inDirections;
Ilist<Direction> outDirections;
}
//有向边定义
Class Direction
{
String fromActivity;//ActivityID
String toActivity; //ActivityID
String action;
}
//活动图是一个
List<Activity> ActivityList。
您可能是C#或者java也或者是C++高手,随便任何一种语言都行。有解决方法的同学们给我邮件,把代码文件附在邮件里,邮箱
382905629@qq.com。我谢谢各位了。