Passa al contenuto principale

5.1. A Trivial Mixing Function (Una Funzione di Miscelazione Banale)

5.1. A Trivial Mixing Function (Una Funzione di Miscelazione Banale)

Per scopi espositivi descriviamo un esempio banale per input di singolo bit utilizzando la funzione Exclusive Or (XOR). Questa funzione è equivalente all'addizione senza riporto, come mostrato nella tabella sottostante. Questo è un caso degenerato in cui l'unico bit di output cambia sempre per un cambiamento in uno dei bit di input. Ma, nonostante la sua semplicità, fornisce un'illustrazione utile.

            +-----------+-----------+----------+
| input 1 | input 2 | output |
+-----------+-----------+----------+
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
+-----------+-----------+----------+

Se gli input 1 e 2 sono non correlati e combinati in questo modo, allora l'output sarà un bit casuale ancora migliore (meno skewed) di quanto siano gli input. Se assumiamo un'"eccentricità" E come definita nella Sezione 4.1 sopra, allora l'eccentricità dell'output si relaziona all'eccentricità dell'input come segue:

    E       = 2 * E        * E
output input 1 input 2

Poiché E non è mai maggiore di 1/2, l'eccentricità è sempre migliorata, tranne nel caso in cui almeno un input è una costante totalmente skewed. Questo è illustrato nella seguente tabella, dove i valori superiori e del lato sinistro sono le due eccentricità di input e le voci sono l'eccentricità di output:

  +--------+--------+--------+--------+--------+--------+--------+
| E | 0.00 | 0.10 | 0.20 | 0.30 | 0.40 | 0.50 |
+--------+--------+--------+--------+--------+--------+--------+
| 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| 0.10 | 0.00 | 0.02 | 0.04 | 0.06 | 0.08 | 0.10 |
| 0.20 | 0.00 | 0.04 | 0.08 | 0.12 | 0.16 | 0.20 |
| 0.30 | 0.00 | 0.06 | 0.12 | 0.18 | 0.24 | 0.30 |
| 0.40 | 0.00 | 0.08 | 0.16 | 0.24 | 0.32 | 0.40 |
| 0.50 | 0.00 | 0.10 | 0.20 | 0.30 | 0.40 | 0.50 |
+--------+--------+--------+--------+--------+--------+--------+

Tuttavia, si noti che i calcoli sopra assumono che gli input non siano correlati. Se gli input fossero, diciamo, la parità del numero di minuti da mezzanotte su due orologi accurati a pochi secondi, allora ciascuno potrebbe apparire casuale se campionato a intervalli casuali molto più lunghi di un minuto. Eppure se fossero entrambi campionati e combinati con XOR, il risultato sarebbe zero la maggior parte del tempo.