We propose a combinatorial optimisation model called Limited Query Graph Connectivity Test. We consider a graph whose edges have two possible states (On/Off). The edges' states are hidden initially. We could query an edge to reveal its state. Given a source s and a destination t, we aim to test s-t connectivity by identifying either a path (consisting of only On edges) or a cut (consisting of only Off edges). We are limited to B queries, after which we stop regardless of whether graph connectivity is established. We aim to design a query policy that minimizes the expected number of queries. Our model is mainly motivated by a cyber security use case where we need to establish whether an attack path exists in a network, between a source and a destination. Edge query is resolved by manual effort from the IT admin, which is the motivation behind query minimization. Our model is highly related to monotone Stochastic Boolean Function Evaluation (SBFE). There are two existing exact algorithms for SBFE that are prohibitively expensive. We propose a significantly more scalable exact algorithm. While previous exact algorithms only scale for trivial graphs (i.e., past works experimented on at most 20 edges), we empirically demonstrate that our algorithm is scalable for a wide range of much larger practical graphs (i.e., Windows domain network graphs with tens of thousands of edges). We propose three heuristics. Our best-performing heuristic is via reducing the search horizon of the exact algorithm. The other two are via reinforcement learning (RL) and Monte Carlo tree search (MCTS). We also derive an anytime algorithm for computing the performance lower bound. Experimentally, we show that all our heuristics are near optimal. The exact algorithm based heuristic outperforms all, surpassing RL, MCTS and 8 existing heuristics ported from SBFE and related literature.
翻译:我们提出了一种名为“有限查询图连通性测试”的组合优化模型。考虑一个边具有两种可能状态(开/关)的图。边的状态初始时是隐藏的。我们可以查询一条边来揭示其状态。给定源点s和汇点t,我们旨在通过识别一条路径(仅由开边构成)或一个割集(仅由关边构成)来测试s-t连通性。我们最多只能进行B次查询,之后无论是否确定图的连通性都将停止。我们的目标是设计一种查询策略,使得期望查询次数最小化。该模型主要受网络安全用例的启发,在此用例中,我们需要确定网络中源点和汇点之间是否存在攻击路径。边的查询需要IT管理员手动处理,这正是查询次数最小化的动机。我们的模型与单调随机布尔函数评估(SBFE)高度相关。现有两种精确求解SBFE的算法,但其计算代价过高。我们提出了一种可扩展性显著更高的精确算法。以往精确算法仅能处理简单图(即先前工作最多在20条边上进行实验),而我们的实验证明该算法可扩展到各类更大的实际图(例如包含数万条边的Windows域网络图)。我们提出了三种启发式方法。性能最优的启发式方法通过缩小精确算法的搜索范围实现,另外两种分别基于强化学习(RL)和蒙特卡洛树搜索(MCTS)。我们还推导出一种用于计算性能下界的任意时刻算法。实验表明,所有启发式方法均接近最优。基于精确算法的启发式方法性能超越所有基线,包括RL、MCTS及从SBFE及相关文献移植的8种现有启发式方法。