5.3.1. Step I

We have #(domain) = in-degree�#(range) for every in-degree. Also, the overall sum is

(loss patterns) for ECAs and QCAs may be found in ([10], Table 8).

\ <sup>&</sup>lt;n, <sup>&</sup>gt;<sup>n</sup> f g. Let <sup>f</sup> : <sup>F</sup><sup>n</sup>

X w ∈ F<sup>n</sup> 2

of ways, and the sequence of necessary elementary steps is short.

However, this step takes place on a subset of size <sup>∣</sup>Im fð Þ<sup>∣</sup> instead of 2<sup>n</sup>.

#

matches in the middle (here # ≈ ∣A2<sup>n</sup> ∣), a considerable saving in both space and time.

The computation of a non-bijective function can be decomposed into 3 steps:

We restate Theorem 3 (i) from [14]:

196 From Natural to Artificial Intelligence - Algorithms and Applications

where we require n ≥ 4 for ECA.

5.2. Algorithm for non-bijective functions

birthday paradox: In this way, 2 � ffiffi

Theorem 2.

rules from f g <; > <sup>n</sup>

ð Þ 24; 4; 4 , if and only if

<sup>X</sup>#ð Þ¼ domain <sup>X</sup> in-degree � #ð Þ¼ range <sup>2</sup><sup>n</sup>:

Any additional simultaneous firing may increase the losses. Additional in-degree distributions

We assume an ECA that generates at least the alternating group A2<sup>n</sup> , when using temporal

Let # wð Þ¼ ∣f g vjf vð Þ¼ w ∣ be the number of configurations v leading to configuration w. Then f is clocking-computable by an ECA with in-degree distribution φð Þ¼ 0; 1; 2 ð Þ 12; 2; 2 or

b c # wð Þ=<sup>2</sup> <sup>≥</sup> <sup>φ</sup>ð Þ� <sup>2</sup> <sup>2</sup><sup>n</sup><sup>=</sup>

Proof. See [14], Theorem 3. □

Step I. We start in the middle: Shrink the 2<sup>n</sup> singletons of the domain to the desired distribution on the range. Find a sequence of elementary steps, necessarily including non-bijective ones, which generates the same distribution of counts in the image space as for the original function. Usually there are more than one of these sequences with the same complexity. Values/patterns as such do not yet play a role; therefore the requirements are usually easy to meet in a variety

Step II. Bijectively map the input of the original function to the input of any of the results of Step I in such a way that the desired image counts are matched. Only the occurence counts

Step III. Bijectively map the output from Step I to the output of the desired function, considering the flow within Steps II and I in that order. Now all values matter and cannot be permuted.

In Steps II and III we use the meet-in-the-middle approach, applying update rules starting both from the input (identity) and the desired function values to take advantage of the

<sup>p</sup> patterns are sufficient to generate ffiffi
