{'fraction_non_alphanumeric': 0.012248468941382326, 'fraction_numerical': 0.005249343832020997, 'mean_word_length': 5.426966292134831, '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}}
Simplifying obstacles for Steiner network problems in the plane

We present methods for simplifying the geometry of polygonal obstacles as a preprocessing step to solving obstacle‐avoiding Steiner network problems in the plane. The methods reduce the total number of vertices and edges that need to be considered for the given obstacles, and their use is expected to significantly improve the efficiency of exact algorithms for solving a range of practical Steiner network problems in obstacle environments. Included are methods for extending obstacles (via a new padding method and a backfilling procedure from the literature), and various methods for simplifying obstacles, including new methods called bounding and eliminating. We show that these methods reduce the total number of obstacle vertices and edges by performing experiments on obstacles with up to 100 vertices in the presence of up to 100 terminals. The experiments utilize a modified version of a known algorithm for quickly generating large numbers of “random” polygons with hundreds of vertices. Corresponding datasets and implementations have been made available on GitHub.