{'fraction_non_alphanumeric': 0.03269118505545826, 'fraction_numerical': 0.0017513134851138354, 'mean_word_length': 5.14336917562724, '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}}
Evolvability of Designs and Computation with Porphyrins-based Nano-tiles

Self-assembly research and practice (regardless of the scale at which it operates) often encounters three key problems (a) the forward problem, (b) the backward problem (also known as the designability problem) and (c) the yield problem [1]. The forward problem is concerned with trying to predict what the final product of the self-assembly process would be, given a set of objects, environmental conditions and the natural laws (physical, chemical, biological) that are prevalent at a given specific scale. Usually the forward problem is addressed through the use of simulations and mathematical models. The backward problem, the most difficult of the three, addresses the issue of how the objects and the environment that contains them can be designed in such a way that the final outcome of the self-assembling process is a specific pre-ordained one. As surveyed in [1], this problem is usually addressed through very sophisticated heuristics methods as, in lieu of the NP-hardness (in some cases even undecidability) of the most relevant backward problems, exact analytical solutions are very rarely achievable. The third problem, that of the yield of a self-assembly process is related to the estimation and control of how many of the intended target self-assembled objects one can expect from a particular self-assembling system (this problem is ubiquitous in the chemical sciences). The observation that “Self-assembly and computation are linked by the study of mathematical tiling”[2] has produced a step change in the way the forward, yield and, more significantly, the backward problems in molecular selfassembly are dealt with.