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管理员手动操作完成,这正是查询最小化的动机。本模型与单调随机布尔函数评估问题高度相关。针对该问题存在两种现有精确算法,但计算代价过高。我们提出了一种可扩展性显著更强的精确算法。现有精确算法仅适用于极简图(即先前实验最多处理20条边),而我们的实验表明,该算法可扩展至更广泛的实际大规模图(例如包含数万条边的Windows域网络图)。我们提出了三种启发式方法,其中性能最优的方法通过缩减精确算法的搜索范围实现,另外两种分别基于强化学习和蒙特卡洛树搜索。我们还推导出一种计算性能下界的即时算法。实验表明,所有启发式方法均接近最优,其中基于精确算法的启发式方法表现最佳,超越了强化学习、蒙特卡洛树搜索以及从单调随机布尔函数评估及相关文献中移植的八种现有启发式方法。