Porte XOR
En cherchant des portes XOR à 3 entrées (pour simuler un additionneur 2x1 bits) l'algorithme génétique ne trouve rien. Mauvais algorithme ou réel problème ?
Le problème
Soit des objets de la forme M = (x, y, z, Ex, Ey, Ez) où x, y, z sont des vecteurs qui correspondent à des coordonnées dans l'espace et
Ex, Ey, Ez sont les résultats d'une fonction f pour toutes ces coordonnées : .
La fonction f représente la simulation (discrète) d'un laser à une position donnée avec une longueur d'onde, une phase, une polarisation fixée.
Pour représenter une porte logique à 3 entrées, on a besoin de 6 fonctions f : 3 entrées à 2 positions (0 ou 1) qui nous donnerons 8 états possibles ().
Par linéarité, la fonction finale d'une telle porte correspondant au mot binaire abc, avec vaut :
Cette fonction a des valeurs dans , le seuil que l'on cherche se fait sur la somme de ses modules:
, où , et
Au final, on va calculer :
Bien sûr, v est une fonction, mais on va se donner un point quelconque et le but du jeu sera de voir si on peut trouver un seuil plus grand que 0 à cette position (i.e. à n'importe quelle position).
On peut réécrire notre fonction :
Par la suite, pour simplifier les calculs, on se fixera une dimension et une partie (imaginaire ou réelle):
- le premier laser en mode 0 logique
- le premier laser en mode 1 logique
- le deuxième laser en mode 0 logique
- le deuxième laser en mode 1 logique
- le troisième laser en mode 0 logique
- le troisième laser en mode 1 logique
Ainsi la valeur de la configuration (0, 1, 0) est .
On se fixera un seuil , et il faudra que :
- Si la sortie de la porte vaut 1, la valeur de la configuration soit plus grande que
- Si la sortie de la porte vaut 0, la valeur de la configuration soit plus petite que
Ce qui nous donnera une liste d'inéquation à vérifier.
Avec 2 entrées
Dans cette version du problème, on n'a pas besoin des .
On se fixe
Trouver une porte XOR revient à satisfaire la liste d'inégalités suivantes :
En posant, et en développant et , on obtient :
Comme , on peut finalement écrire:
Ce qui ne pose pas de soucis, donc on peut trouver une porte XOR à 2 entrées.
Avec 3 entrées
Pour trouver une porte XOR à 3 entrées, il faut satisfaire la liste d'inégalités suivantes :
En posant, et en développant , , et , on obtient :
On peut recommencer une nouvelle fois, avec : et , on a :
On obtient une contradiction car .
En posant , on aurait et .
Impossible. Donc, on ne peut pas trouver de porte XOR à 3 entrées (et plus).