> ## Documentation Index
> Fetch the complete documentation index at: https://apuntes.simulab.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapas de Karnaugh: simplificar funciones lógicas paso a paso

> Cómo simplificar funciones lógicas con mapas de Karnaugh de 2, 3 y 4 variables: código Gray, reglas para agrupar, términos indiferentes (X) y obtención de la expresión mínima.

<Card title="Abrir la herramienta" icon="table-cells" href="https://simulab.es/electronica/karnaugh">
  Rellena la tabla o el mapa con 0, 1 y X y obtén los grupos y la expresión más simple.
</Card>

Una función lógica se puede implementar directamente con su forma canónica, pero suele salir un circuito enorme. Simplificarla significa usar **menos puertas**: más barato, más rápido y con menos consumo. El **mapa de Karnaugh** es un método visual que permite simplificar funciones de hasta 4 variables "a ojo", sin manipular expresiones algebraicas.

## Lo que vas a aprender

* Cómo se construye un mapa de Karnaugh y por qué se usa el código Gray.
* Las reglas para formar grupos.
* Cómo obtener el término de cada grupo.
* Cómo usar los términos indiferentes (X).

## Cómo se usa la herramienta

1. Elige **2**, **3** o **4** variables.
2. Rellena la **tabla de verdad** o el **mapa**: cada pulsación cambia la casilla entre **0 → 1 → X**.
3. La herramienta dibuja los **grupos** y escribe la **expresión mínima**, explicando qué variable desaparece en cada grupo.
4. **Otro ejemplo**, **🎲 Al azar** y **Todo a 0** cargan o limpian el mapa.

## Fundamentos teóricos

### El mapa

Es la tabla de verdad dibujada como una cuadrícula de $2^n$ casillas. Las filas y columnas se ordenan en **código Gray** (00, 01, 11, 10): dos casillas vecinas solo se diferencian en **una** variable. También son vecinas las de los **bordes opuestos**: el mapa se "cierra" como un donut.

### La idea

Si dos casillas vecinas valen 1, se pueden juntar: la variable que cambia entre ellas **desaparece**. Por ejemplo, $A\,B\,\overline{C} + A\,B\,C = A\,B$.

### Reglas para agrupar

1. Los grupos son **rectangulares** y de **1, 2, 4, 8 o 16** casillas.
2. Solo agrupan **unos** (y X, si conviene).
3. Hay que cubrir **todos** los unos.
4. Los grupos deben ser **lo más grandes posible**.
5. Y **los menos posibles**.
6. Un uno puede estar en varios grupos.

### El término de cada grupo

Las variables que **cambian** dentro del grupo desaparecen. Las que no cambian aparecen: sin negar si valen 1, negadas si valen 0. Un grupo de $2^k$ casillas elimina $k$ variables.

La expresión mínima es la **suma** de los términos de todos los grupos.

### Términos indiferentes (X)

Son combinaciones que **nunca ocurren** o cuya salida da igual. Se pueden tratar como 1 si ayudan a hacer un grupo más grande, o como 0 si no.

## Ejemplos resueltos

<AccordionGroup>
  <Accordion title="Ejemplo 1 · Un grupo de 4" defaultOpen>
    $F(A, B, C) = \Sigma m(1, 3, 5, 7)$. Son todas las filas con $C = 1$: un grupo de 4 donde A y B cambian. **F = C**.
  </Accordion>

  <Accordion title="Ejemplo 2 · Por los bordes">
    $F(A, B, C) = \Sigma m(0, 2, 4, 6)$: todas las filas con $C = 0$. Las columnas 00 y 10 son vecinas por el borde. **F = $\overline{C}$**.
  </Accordion>

  <Accordion title="Ejemplo 3 · Dos grupos">
    $F(A, B, C) = \Sigma m(3, 5, 7)$: el 7 se agrupa con el 3 ($B\,C$) y con el 5 ($A\,C$). **F = $A\,C + B\,C$**.
  </Accordion>

  <Accordion title="Ejemplo 4 · Con indiferentes">
    En un decodificador BCD, las combinaciones 10 a 15 no se usan: marcarlas como X permite hacer grupos mucho más grandes y circuitos más simples.
  </Accordion>
</AccordionGroup>

## Errores frecuentes

* **Ordenar las filas 00, 01, 10, 11**: hay que usar código Gray.
* **Hacer grupos de 3 o de 6** casillas.
* **Olvidar que los bordes son vecinos.**
* **Hacer grupos de X sin unos**: no sirven de nada.

## Herramientas relacionadas

<CardGroup cols={3}>
  <Card title="Tabla de verdad desde una expresión" icon="code" href="/electronica/logica-combinacional/expresiones">
    De la expresión a la tabla.
  </Card>

  <Card title="Puertas lógicas" icon="microchip" href="/electronica/logica-combinacional/puertas-logicas">
    Implementar la expresión.
  </Card>

  <Card title="Conversor de bases" icon="calculator" href="/electronica/sistemas-numeracion/conversor-bases">
    Binario y código Gray.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.