{'fraction_non_alphanumeric': 0.012671594508975714, 'fraction_numerical': 0.0, 'mean_word_length': 5.448979591836735, '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}}
Accelerating Fourier–Motzkin elimination using bit pattern trees

The paper concerns the elimination of a set of variables from a system of linear inequalities. We employ the widely used Fourier–Motzkin elimination method extended with the Chernikov rules. A straightforward implementation of the algorithm results in extensive enumeration during the most computationally demanding stage. We propose a new way of checking Chernikov rules using bit pattern trees as an accelerating data structure to avoid extensive enumeration. The bit pattern tree is a data structure based on k-d tree used to accelerate the double description method. First we describe an adaptation of that approach to check the second Chernikov rule in Fourier–Motzkin elimination. We also propose a new algorithm that employs bit pattern trees to accelerate both Chernikov rules. Presented results of computational evaluation prove competitiveness of the proposed algorithms.