# Matroide

La combinatoria, una rama de las matemáticas, llama matroide a una estructura que toma y generaliza el concepto de independencia lineal en los espacios vectoriales.
Hay muchas maneras equivalentes de definir una matroide y muchos conceptos dentro de la teoría de matroides tienen una serie de formulaciones diferentes. Dependiendo de cuán sofisticado sea el concepto, puede resultar no trivial el demostrar que las diversas formulaciones son equivalentes, un fenómeno conocido como criptomorfismo. Entre las definiciones importantes de matroides se incluyen aquellas en forma de conjuntos independientes, bases, circuitos, conjuntos cerrados o flats, operadores de oclusión y funciones de rango.
La teoría de matroides se basa en gran parte en la terminología del álgebra lineal y de la teoría de grafos, sobre todo porque es la abstracción de varias nociones muy importantes en estos campos.

### Definiciones.
#### Definición 1. (Por conjuntos independientes)

Una matroide $M$ es un par ordenado de elementos $(E,I)$ donde $E$ es un conjunto no vacío llamado subyacente de $M$ e $I$ es un subconjunto del conjunto potencia de $E$ que cumplen las siguientes propiedades.
* $\emptyset \in I$
* $I_{1}\in I\land I_{2}\subseteq I_{1}\implies I_{2}\in I$
* $I_{1},I_{2}\in I\land |I_{2}|<|I_{1}|\implies \exists e\in I_{1}\setminus I_{2}:I_{2}\cup \{e\}\in I$
La propiedad 1 se puede leer como que el vacío siempre es independiente. Es equivalente, por la propiedad 2, enunciar así la propiedad 1 que asegurar que el conjunto de independientes es no vacío, $I\neq \emptyset$, pues en el momento en que el vacío es independiente el conjunto de independientes es no vacío, y en el momento en que el conjunto de independientes es no vacío existe algún subconjunto de $E$ que es independiente y el vacío será subconjunto de este, y por ende independiente.
La propiedad 2 la podemos interpretar como que cualquier subconjunto de un conjunto independiente es también independiente.
La propiedad 3 nos dice que si tenemos dos conjuntos independientes de diferente cardinalidad, siempre es posible encontrar un elemento en el conjunto más grande tal que si se lo agregamos al chico el resultado es también un conjunto independiente.
Los elementos en $I$ son llamados conjuntos independientes y los subconjuntos del conjunto potencia de $E$ que no están en $I$ son llamados conjuntos dependientes.

#### Definición 2. (Por bases)

Una matroide $M$ es un par ordenado de elementos $(E,B)$ donde $E$ es un conjunto no vacío de elementos y $B$ es un subconjunto del conjunto potencia de $E$, tal que cumple las siguientes propiedades.
* $B\neq \emptyset$
* $B_{1},B_{2}\in B\land e\in B_{1}\implies \exists f\in B_{2}\setminus B_{1}:((B_{1}\setminus \{e\})\cup \{f\})\in B$
Los elementos en $B$ son llamados bases.
La propiedad 1 nos asegura la existencia de bases.
La propiedad 2, llamada propiedad del intercambio, nos dice que si tenemos dos bases de E y un elemento en una de ellas entonces existe un segundo elemento en la otra de forma que podemos intercambiarlos de forma que sigamos teniendo dos bases.
Las bases serán aquellos independientes que no son subconjunto de ningún otro independiente salvo ellas mismos.

#### Definición 3. (Por circuitos)

Una matroide $M$ es un par ordenado de elementos $(E,C)$ donde $E$ es un conjunto no vacío de elementos y $C$ es un subconjunto del conjunto potencia de $E$ que cumple las siguientes propiedades.
* $\emptyset \notin C$
* $C_{1},C_{2}\in C:C_{1}\subseteq C_{2}\implies C_{1}=C_{2}$
* $C_{1},C_{2}\in C\land e\in C_{1}\cap C_{2}\implies \exists C_{3}\in C:C_{3}\subseteq C_{1}\cup C_{2}\setminus \{e\}$.
La propiedad 1 nos indica que el vacío no puede ser un circuito.
La propiedad 2 nos asegura que el subconjunto propio de un circuito (subconjunto de $C_{x}\in C$ distinto de $C_{x}$) no puede ser otro circuito.
La propiedad 3 nos dice que dados dos circuitos y un elemento en su intersección, entonces existe un tercer circuito contenido en la unión de los dos primeros que no tiene a dicho elemento.
Los circuitos serán aquellos dependientes mínimos, es decir, tales que quitarles cualquiera de sus elementos haga al conjunto un independiente.

#### Definición 4. (Por aplicación rango)

Una matroide $M$ es un par ordenado de elementos $(E,r)$ donde $E$ es un conjunto no vacío de elementos y $r$ es una aplicación de dominio el conjunto potencia de $E$ y codominio los enteros positivos con el cero que verifica las siguientes propiedades.
* $r(\emptyset )=0$
* $r(X)\leq r(X\cup \{y\})\leq r(X)+1,\forall X\subseteq E,\forall y\in E$
* $r(X\cup Y)+r(X\cap Y)\leq r(X)+r(Y),\forall X,Y\subseteq E$
La propiedad 1 nos indica que el vacío siempre tiene rango 0.
La propiedad 2 nos dice que al añadir un elemento a un subconjunto $X$ el rango será siempre o el mismo que el de $X$ o el de $X$ más 1.
La propiedad 3 nos asegura que dados dos conjuntos la suma de sus rangos es siempre mayor o igual que la suma de los rangos de su unión y su intersección.

#### Definición 5. (Por operador cierre)

Una matroide $M$ es un par ordenado de elementos $(E,\operatorname {cl} )$ donde $E$ es un conjunto no vacío de elementos y $\operatorname {cl}$ es una aplicación $\operatorname {cl} :{\mathcal {P}}(E)\rightarrow {\mathcal {P}}(E)$, donde ${\mathcal {P}}(E)$ es el conjunto potencia de $E$ y se verifican las siguientes propiedades:
* $X\subseteq \operatorname {cl} (X),\forall X\in {\mathcal {P}}(E)$
* $X\subseteq Y\implies \operatorname {cl} (X)\subseteq \operatorname {cl} (Y),\forall X,Y\in {\mathcal {P}}(E)$
* $\operatorname {cl} (\operatorname {cl} (X))=\operatorname {cl} (X),\forall X\in {\mathcal {P}}(E)$
* $\forall a,b\in E,\forall X\subseteq E,a\in \operatorname {cl} (X\cup \{b\})\setminus \operatorname {cl} (X)\implies b\in \operatorname {cl} (X\cup \{a\})\setminus \operatorname {cl} (X)$
Sea $X\subseteq E$, el conjunto $\operatorname {cl} (X)$ es llamado cierre, clausura u oclusión de $X$, y dicha aplicación $\operatorname {cl}$ es llamada operacior clausura, operador cierre u operador de oclusión de la matroide, donde en general un operador de oclusión de un conjunto cualquiera $S$ es aquella aplicación $\operatorname {cl} :{\mathcal {P}}(S)\rightarrow {\mathcal {P}}(S)$ que verifica las tres primeras propiedades.
La propiedad 1 nos dice que todo conjunto está contenido en su clausura.
La propiedad 2 nos asegura que si un conjunto está contenido en otro, su clausura estará contenida en la del otro.
La propiedad 3 nos indica que la clausura de la clausura de un conjunto es ella misma.
La cuarta propiedad, a menudo llamada propiedad de intercambio de Mac Lane–Steinitz, es propia del operador clausura de una matroide, que respecto de la definición de dicho matroide mediante la aplicación rango es definida como $\operatorname {cl} (A)=\{e\in E:r(A)=r(A\cup \{e\})\}$. Dicha propiedad nos asegura que para cualesquiera dos elementos, si un primer elemento está en la clausura de un conjunto al que le añadimos el segundo elemento y no está en la clausura de dicho conjunto, entonces el segundo elemento está en la clausura del conjunto añadiéndole el primer elemento y no está en la clausura de dicho conjunto.
Adicionalmente, a un conjunto $X\subseteq E$ se le denomina sistema generador cuando verifica que $\operatorname {cl} (X)=E$, es decir, su clausura es todo $E$.

### Equivalencia entre definiciones

Dada una matroide $(E,I)$ definido mediante sus independientes podemos ver que:
* El conjunto de bases de la matroide es $B=\{B_{x}\in I:\forall I_{x}\in I,B_{x}\subseteq I_{x}\implies B_{x}=I_{x}\}$
* El conjunto de circuitos de la matroide es $C=\{C_{x}\in {\mathcal {P}}(E)\setminus I:\forall I_{x}\subsetneq C_{x},I_{x}\in I\}$
* La aplicación rango de la matroide queda definida por $r(X)=\max\{|A|:A\subseteq X\land A\in I\},\forall X\in {\mathcal {P}}(E)$
Dada una matroide $(E,B)$ definido mediante sus bases podemos ver que:
* El conjunto de independientes de la matroide es $I=\{I_{x}\subseteq E:\exists B_{x}\in B(I_{x}\subseteq B_{x})\}$
* El conjunto de circuitos de la matroide es $C=\{C_{x}\subseteq E:\nexists B_{x}\in B(C_{x}\subseteq B_{x})\land \forall A\subseteq E(\nexists B_{x}\in B:A\subseteq B_{x}),A\subseteq C_{x}\implies C_{x}=A\}$
* La aplicación rango de la matroide queda definida por $r(X)=\max\{|A|:A\subseteq X\land \exists B_{x}\in B(A\subseteq B_{x})\},\forall X\in {\mathcal {P}}(E)$
Dada una matroide $(E,C)$ definido mediante sus circuitos podemos ver que:
* El conjunto de independientes de la matroide es $I=\{I_{x}\subseteq E:\nexists C_{x}\in C(C_{x}\subseteq I_{x})\}$
* El conjunto de bases de la matroide es $B=\{B_{x}\subseteq E:\nexists C_{x}\in C(C_{x}\subseteq B_{x})\land \forall I_{x}\subseteq E(\nexists C_{x}\in C:C_{x}\subseteq I_{x}),B_{x}\subseteq I_{x}\implies B_{x}=I_{x}\}$
* La aplicación rango de la matroide queda definida por $r(X)=\max\{|A|:A\subseteq X\land \nexists C_{x}\in C(C_{x}\subseteq A)\},\forall X\in {\mathcal {P}}(E)$
Dada una matroide $(E,r)$ definido mediante su aplicación rango podemos ver que:
* El conjunto de independientes de la matroide es $I=\{I_{x}\subseteq E:r(I_{x})=|I_{x}|\}$
* El conjunto de bases de la matroide es $B=\{B_{x}\subseteq E:\forall e\in E,r(B_{x}\cup \{e\})=r(B_{x})=|B_{x}|\}$
* El conjunto de circuitos de la matroide es $C=\{C_{x}\subseteq E:\forall e\in E,r(C_{x}\setminus \{e\})=r(C_{x})=|C_{x}|-1\}$
* El operador clausura de la matroide queda definido por $\operatorname {cl} (A)=\{e\in E:r(A)=r(A\cup \{e\})\},\forall A\in {\mathcal {P}}(E)$