{'fraction_non_alphanumeric': 0.05241935483870968, 'fraction_numerical': 0.009072580645161291, 'mean_word_length': 3.9158415841584158, '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}}
1 Constraint satisfaction problems

Let Φ be a 3-SAT formula. Let n be larger than both the number of variables and the number of clauses. We construct a bivariate constraint satisfaction problem from Φ as follows. Let (i, j) be an edge in E ⊆ [n]× [n] if and only if the i’th clause contains the j’th variable. Set k = 7. Think of every assignment ai ∈ [7] to a vertex on the left as representing one of the 7 satisfying assignments to the i’th clause, and every assignment bj ∈ [2] as corresponding to one of two boolean assignments to the j’th variable. For each edge (i, j), let Ci,j be the set of assignments to the vertices i, j where the j’th variable gets the value bj in the assignment ai. If Φ, is satisfiable, the value of the corresponding problem is 1. On the other hand, if the value of the problem is 1, then the maximizing assignment a, b gives a satisfying assignment b for the variables in Φ. Thus, determining whether val(C) = 1 or not is NP-hard, and in fact, NP-complete.