{'fraction_non_alphanumeric': 0.014373716632443531, 'fraction_numerical': 0.0, 'mean_word_length': 5.290322580645161, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Clustering and Partition Based Divide and Conquer for SAT Solving

A clustering and partition based Boolean satisfiability solving method is proposed. By partitioning a CNF formula into several clause groups, satisfiability solving problem can be divided into small ones, so the complexity of the problem can be reduced. On the other hand, the satisfiability of different clause groups can be solved in parallel, the decision procedure can be speeded up further. For the formula that cannot generate clause group partition directly, a clustering algorithm is given to clustering clauses into clusters. Then clause group partition can be generated by eliminating common variables among clusters. Further, a method based on minimum cut of undirected graph is given to make partition practical. Preliminary experiments shows that the common variables set among clusters is small for many SAT problems, and our approach can significantly increase the performance of SAT solving.