{'fraction_non_alphanumeric': 0.026785714285714284, 'fraction_numerical': 0.0011160714285714285, 'mean_word_length': 4.403614457831325, '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}}
Two-unicast is hard

Consider the k-unicast network coding problem over an acyclic wireline network: Given a rate vector k-tuple, determine whether the network of interest can support k unicast flows with those rates. It is well known that the one-unicast problem is easy and that it is solved by the celebrated max-flow min-cut theorem. The hardness of k-unicast problems with small k has been an open problem. We show that the two-unicast problem is as hard as any k-unicast problem for k ≥ 3. Our result suggests that the difficulty of a network coding instance is related more to the magnitude of the rates in the rate tuple than to the number of unicast sessions. As a consequence of our result and other well-known results, we show that linear coding is insufficient to achieve capacity, and non-Shannon inequalities are necessary for characterizing capacity, even for two-unicast networks.