{'fraction_non_alphanumeric': 0.021604938271604937, 'fraction_numerical': 0.0, 'mean_word_length': 5.790575916230367, '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}}
Genetic algorithms and intrinsic parallel characteristics

The field of intelligent agents and the strongly related topic of evolutionary computation are fast-growing areas of computer science and engineering. In particular, genetic algorithms (GAs) provide a more and more attractive solution of many complex engineering problems for which classical optimization methods cannot be used. Besides the ability to learn on their own and become experts in different areas, GAs prove to be parallelizable in a natural way, thus shortening the time to obtain the results. Additionally, parallelization produces higher-quality solutions, as the approach used by parallel genetic algorithms is closer to the evolution of species in nature than the sequential approach. This paper describes the use of parallelism for genetic algorithm development and discusses two aspects of their design: efficiency and the quality of results. Several approaches are presented and comparatively analyzed. The main comparison criteria considered are: performance, flexibility, design structure, communication facilities, ease of design and programming. The analysis highlights the advantages of coarse-grain parallel genetic algorithms, which are more "adapted" to the actual architectures of high-performance computers.