【发布时间】:2013-07-04 15:23:24
【问题描述】:
假设我有一个无向多重图,即 (G, E) 对,其中 G 是有限的节点集,E 是有限的边集。我正在寻找一种算法,该算法将在以下约束下为每个节点分配一个字符串值。
1.
每个节点都有一组(可能是空的)限制允许值的约束。我想至少支持以下类型的值约束:
- min-length(x)(该值至少是给定的长度字符数),
- max-length(x)(该值最多为给定的字符长度),
- regexp(x)(值符合给定的正则表达式),
- 数字(该值仅由数字组成)。
理想情况下,将来应该可以添加对新类型约束的支持。
2.
有两种类型的边:
- 不同,
- 一样,
表示应为相关节点分配不同/相同的值(表示不相等/相等的字符串)。
3.
最后,可以为每个节点分配一组(可能是空的)以下类型的约束:
- 不同于(x),
- 等于(x),
意味着给定节点应该被分配一个不同于或等于给定值的值。
我希望算法要么报告不一致(如果不存在这样的评估),要么返回任何符合标准的评估(理想情况下是一个小的,即分配的值由少量字符组成的) (否则)。
请注意,我不希望您为我提供算法的详细说明。如果您能提供任何让我走上正轨的提示,我将不胜感激。
【问题讨论】: