Una cuadrícula plana en 2D mantiene cada celda adyacente a cada entrada que está a un bit de distancia — que es todo el mecanismo del que depende un mapa K — pero eso deja de ser geométricamente posible en cuanto hay más de 4 variables que rastrear en dos ejes. La solución estándar es dividir las variables adicionales en mosaicos separados en lugar de intentar forzarlas en la misma cuadrícula, y la adyacencia entre celdas correspondientes a través de distintos mosaicos sigue contando exactamente igual que dentro de un solo mosaico. Esa última parte es lo que más se le escapa a la mayoría la primera vez que lo ve.
Cómo funciona la división
Una función de 5 variables se divide en dos mosaicos de 4 variables, uno para cada valor de la quinta variable — todo lo demás en cada mosaico (filas, columnas, orden en código Gray) funciona exactamente como un mapa normal de 4 variables. Una función de 6 variables se divide en cuatro mosaicos, dispuestos en una disposición 2×2 según las dos variables adicionales. Nada de la agrupación dentro de un solo mosaico cambia respecto al caso de 4 variables — la única regla nueva es qué pasa entre mosaicos.
Adyacencia entre mosaicos, resuelta
Toma una función de 5 variables donde dos celdas están en exactamente la misma posición fila/columna, una en cada mosaico — digamos A′B′C′D′ con la quinta variable en 0 en un mosaico y en 1 en el otro. Esas dos celdas son adyacentes entre sí, exactamente de la misma forma en que dos celdas lado a lado en un solo mosaico son adyacentes, y se combinan de la misma manera: la quinta variable desaparece, dejando A′B′C′D′ como un grupo que cubre ambas.
También se combina con la adyacencia dentro del mosaico al mismo tiempo. Toma cuatro minterms que forman dos pares adyacentes, un par en cada mosaico, en posiciones correspondientes: el grupo puede eliminar dos variables a la vez — tanto la variable dentro del mosaico que varía entre el par, como la variable de mosaico que varía entre los mosaicos. Un ejemplo real: los minterms 0, 1, 4 y 5 en una función de 5 variables se combinan en un solo grupo de cuatro, reduciéndose directamente a A′B′D′ — una variable eliminada por el emparejamiento dentro del mosaico (C) y otra por el emparejamiento entre mosaicos (E), simultáneamente.
6 variables: dos variables selectoras de mosaico en lugar de una
Con dos variables adicionales, hay cuatro mosaicos en lugar de dos, y la adyacencia ahora corre en dos direcciones separadas: los mosaicos que difieren solo en la primera variable adicional son adyacentes, y los mosaicos que difieren solo en la segunda variable adicional son adyacentes — pero dos mosaicos que difieren en ambas variables adicionales a la vez no son adyacentes entre sí, de la misma forma en que las celdas diagonales dentro de un solo mapa K nunca son adyacentes tampoco. Aun así, un grupo puede abarcar los cuatro mosaicos a la vez si la misma posición relativa de celda es 1 en cada mosaico — eso es un grupo válido de cuatro, eliminando ambas variables adicionales en un solo paso, exactamente como cualquier otro grupo de 4 celdas en cualquier parte del mapa.
La conclusión práctica
Todo lo que ya sabes sobre agrupación — tamaños potencia de 2, preferir el rectángulo válido más grande, envoltura en los bordes de cada mosaico individual — sigue aplicando sin cambios. La única habilidad genuinamente nueva es revisar la posición correspondiente entre mosaicos antes de asumir que un grupo se detiene en el borde de un mosaico. Es fácil sub-simplificar una función de 5 o 6 variables simplemente por no mirar entre mosaicos, no porque las matemáticas sean realmente más difíciles.