斯温森-王算法(英语:Swendsen–Wang algorithm)由物理学家罗伯特·斯温森(英语:Robert Swendsen)与王建生于1987年提出,是首个非局域的蒙特卡洛算法,用以解决临界点附近效率变低的临界慢化问题。
斯温森-王算法最初用于易辛模型与玻茨模型,后来被推广到其他模型之中。该算法的关键是按照Fortuin与Kasteleyn的理论将玻茨模型变换为渗流理论的模型,相邻自旋间按概率成键。之后再通过霍森-科佩尔曼算法标识联键的集团(cluster),并将每个集团内的所有自旋赋以相同的随机值。由于该算法可以一次改变整个集团的自旋,因而在临界点附近能够显著提高效率,以解决临界慢化问题。
2005年,加州大学洛杉矶分校教授朱松纯与其博士生阿德里安·巴尔布(Adrian Barbu)推广了斯温森-王算法,将其看作是一个梅特罗波利斯-黑斯廷斯算法并计算了相应的接受概率,使其适用于任意后验概率的采样。