{'fraction_non_alphanumeric': 0.017517136329017517, 'fraction_numerical': 0.0, 'mean_word_length': 5.57, '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}}
A Generic Algorithmic Framework to Solve Special Versions of the Set Partitioning Problem

Given a set of individuals, a collection of subsets, and a cost associated to each subset, the Set Partitioning Problem (SPP) consists in selecting some of these subsets to build a partition of the individuals that minimizes the total cost. This combinatorial optimization problem has been used to model dozens of problems arising in specific domains of Artificial Intelligence and Operational Research, such as coalition structures generation, community detection, multilevel data analysis, workload balancing, image processing, and database optimization. All these applications are actually interested in special versions of the SPP where assumptions regarding the admissible subsets constraint the search space and allow tractable optimization algorithms. However, there is a major lack of unity regarding the identification, the formalization, and the resolution of these strongly-related problems. This paper hence proposes a generic framework to design dynamic programming algorithms that fit with the particular algebraic structure of special versions of the SPP. We show how this framework can be applied to two well-known versions, thus opening a unified approach to solve new ones that might arise in the future.