# Ipergrafo

In matematica, un ipergrafo è un grafo in cui un arco può essere collegato a un qualunque numero di vertici. Formalmente, un ipergrafo $H$ è una coppia $H=(X,E)$ dove $X$ è un insieme di elementi chiamati nodi oppure vertici, e $E$ è un insieme formato da sottoinsiemi non vuoti $X$ chiamati iperarchi oppure archi. Pertanto, $E$ è un sottoinsieme di ${\mathcal {P}}(X)\setminus \{\varnothing \}$, dove ${\mathcal {P}}(X)$ è l'insieme potenza di $X$.
Mentre in un grafo gli archi sono formati da una coppia di nodi, gli iperarchi sono insieme di nodi di grandezza arbitraria, e pertanto possono contenere qualsivoglia numero intero positivo di nodi. Tuttavia, è spesso desiderabile il caso di ipergrafi dove tutti gli iperarchi hanno la stessa cardinalità; un ipergrafo k-uniforme è un ipergrafo in cui tutti gli iperarchi hanno grandezza k. In altre parole, un ipergrafo di questo genere è una collezione di insiemi, in cui ogni insieme è un iperarco connesso a k nodi. Ne segue che un ipergrafo 2-uniforme è un grafo, un ipergrafo 3-uniforme è una collezione di triple non ordinata, e così via.
Un ipergrafo è anche chiamato insieme sistema o anche famiglia di insiemi presa da insieme universo X. La differenza tra un insieme sistema e un ipergrafo è una domanda che spesso sorge spontanea. La teoria degli ipergrafi tende ad occuparsi di questioni simili a quelle della teoria dei grafi, quali connettività e colorabilità, mentre la teoria degli insiemi tende a occuparsi di domande non inerenti alla teoria dei grafi, quali la teoria di Sperner.
Esistono diverse definizioni: a volte gli archi non devono essere vuoti e a volte archi multipli, con lo stesso insieme di nodi, sono ammessi.
Gli ipergrafi possono essere visti come strutture incidenti. In particolare, esiste un "grafo incidente" biparito o "grafo di Levi" corrispondente a ogni ipergrafo, al contrario, la maggior parte dei grafi bipartiti, ma non tutti, possono essere considerati come grafi di incidenza, o ipergrafi.
Gli ipergrafi hanno tanti altri nomi. In geometria computazionale, un ipergrafo può a volte essere definito come range space, e gli iperarchi vengono chiamati ranges. Nella teoria dei giochi cooperativi, gli ipergrafi vengono anche chiamati giochi semplici (voting games); questa nozione viene applicata per risolvere problemi in ambito della teoria della scelta sociale. In alcuni articoli, gli archi vengono chiamati anche iperlink o connettori.
Tra i casi particolari di vi sono: i grafi k-uniformi, come precedentemente discusso; i clutter, dove nessun arco appare come sottoinsieme di un altro arco; e i complessi simpliciali astratti, che contiene tutti i sottoinsiemi di ogni arco.
La collezione degli ipergrafi è una categoria, avente gli omomorfismi di ipergrafi come morfismi.

## Terminologia

Dato che i collegamenti degli ipergrafi possono avere una cardinalità qualsiasi, esistono diverse nozioni al concetto di sottografo, chiamato sottoipergrafo, ipergrafo parziale e sezione di ipergrafo.
Sia $H=(X,E)$ l'ipergrafo che consiste dei vertici
    $X=\lbrace x_{i}|i\in I_{v}\rbrace ,$
e avente come insieme arco
    $E=\lbrace e_{i}|i\in I_{e},e_{i}\subseteq X\rbrace ,$
dove $I_{v}$ e $I_{e}$ sono gli insiemi indici dei vertici e degli archi, rispettivamente. Un sottoipergrafo è un ipergrafo con alcuni vertici rimossi. Formalmente, il sottoipergrafo $H_{A}$ indotto dal sottoinsieme $A$ di $X$ è definito come
    $H_{A}=\left(A,\lbrace e_{i}\cap A|e_{i}\cap A\neq \varnothing \rbrace \right).$
Un'estensione di un sottoipergrafo è un ipergrafo dove ogni iperarco di $H$ che è parzialmente contenuto nel sottoipergrafo $H_{A}$ è completamente contenuto dall'estensione $Ex(H_{A})$. Formalmente, $Ex(H_{A})=(A\cup A',E')$ con $A'=\cup _{e\in E}e\setminus A$ e $E'=\lbrace e\in E|e\subseteq (A\cup A')\rbrace$.
L'ipergrafo parziale è un ipergrafo con alcuni archi rimossi. Dato un sottoinsieme $J\subset I_{e}$ dell'insieme di indici dell'arco, l'ipergrafo parziale generato da $J$ è l'ipergrafo
    $\left(X,\lbrace e_{i}|i\in J\rbrace \right).$
Dato un sottoinsieme $A\subseteq X$, la sezione dell'ipergrafo è l'ipergrafo parziale.
    $H\times A=\left(A,\lbrace e_{i}|i\in I_{e},e_{i}\subseteq A\rbrace \right).$
Il duale $H^{*}$ di $H$ è un ipergrafo i cui vertici e archi sono scambiati, tale che i vertici sono dati da $\lbrace e_{i}\rbrace$ e i cui archi sono dati da $\lbrace X_{m}\rbrace$ dove
    $X_{m}=\lbrace e_{i}|x_{m}\in e_{i}\rbrace .$
Quando una nozione di uguaglianza è propriamente definita, come quella seguente, l'operazione di prendere il duale di un ipergrafo è un'involuzione, cioè
    $\left(H^{*}\right)^{*}=H.$
Un grafo connesso G con lo stesso insieme vertice di un ipergrafo connesso H è un grafo ospite per H se ogni iperarco di H induce a un sottografo connesso in G. Per un ipergrafo disconnesso H, G è un grafo ospite se esiste una funzione biettiva tra le componenti connesse di G e di H, tale che ogni componente connessa G' di G è un ospite del corrispondente H'.
A ipergrafo bipartito se e solo se i suoi vertici possono essere divisi in due classi, U e V, in modo tale che ogni iperarco di cardinalità almeno 2 contenga almeno un vertice da entrambe le classi.
La sezione-2 (o cricca, grafo di rappresentazione, grafo primale, grafo di Gaifman) di un ipergrafo è il grafo con gli stessi vertici dell'ipergrafo, e con gli archi tra tutte le coppie di vertici contenute nello stesso iperarco.

## Modello di un grafo bipartito

Un ipergrafo H può essere rappresentato da un grafo bipartito BG come segue: gli insiemi X e E sono le partizioni di BG, e (x$_1$, e$_1$) sono connessi con un arco se e solo se il vertice x$_1$ è contenuto nell'arco e$_1$ in H. Contrariamente, ogni grafo bipartito con parti fissate e alcun nodo sconnesso nella seconda parte, rappresenta l'idea di ipergrafo appena descritta. Questo esempio di grafo bipartito viene anche chiamato grafo di incidenza.

## Aciclicità

In contrasto con ordinari grafi sconnessi per i quali esiste una singola nozione naturale di cicli e grafi aciclici, esistono multiple definizioni non-equivalenti di aciclicità per ipergrafi che è in contrasto con l'ordinaria aciclicità dei grafi, nel caso particolare di grafi ordinari.
Una prima definizione di aciclicità per ipergrafi viene data da Claude Berge: un ipergrafo è Berge-aciclico se il suo grafo di incidenza (il grafo bipartito sopra definito) è aciclico. Tale definizione è molto restrittiva: per esempio, se un ipergrafo ha una coppia $v\neq v'$ di vertici e alcune coppie $f\neq f'$ di iperarchi tali che $v,v'\in f$ and $v,v'\in f'$, allora esso è Berge-ciclico. La Berge-cyclicità può ovviamente essere indagata in tempo lineare esplorando un grafo di incidenza.
Possiamo utilizzare una definizione più debole di aciclicità di ipergrafo, in seguito chiamata α-aciclicità. Tale nozione di aciclicità è equivalente a quella di un ipergrafo conforme (ogni cricca del grafo originario è coperta da alcuni iperarchi) e avente grafo originario cordale; esso è anche equivalente alla riducibilità di un grafo vuoto tramite GYO algorithm (anche noto come algoritmo di Graham), un processo iterativo confluente che rimuove gli iperarchi utilizzando una definizione generica di ears. Entrando nel dominio della teoria delle basi di dati, è noto che uno schema di database gode di alcune desiderabili proprietà se l'ipergrafo sottostante è α-aciclico. Inoltre, l'α-aciclicità è anche legata all'espressività del frammento custodito di logica del primo ordine.
Si può verificare in tempo lineare se un ipergrafo sia α-aciclico.
Bisogna però far notare che l'α-aciclicità ha la seguente proprietà contro intuitiva: aggiungere iperarchi a un ipergrafo α-ciclico può renderlo α-aciclico (per esempio, aggiungere un iperarco contenente tutti i vertici dell'ipergrafo lo renderà sempre α-aciclico). Tale limite viene in parte motivato, Ronald Fagin definì le nozioni più forti di β-aciclicità e γ-aciclicità. Possiamo definire la β-aciclicità come il requisito affinché tutti i sottoipergrafi di un ipergrafo siano α-aciclici, che è equivalente a una precedente definizione di Graham. La nozione di γ-aciclicità è una condizione più restrittiva, che è equivalente a diverse proprietà desiderabili di uno schema di una base di dati ed è legato ai diagrammi di Bachman. Sia β-aciclicità che γ-aciclicità possono essere esplorate in tempo polinomiale.
Queste quattro nozioni di aciclicità possono essere confrontate: la Berge-aciclicità implica la γ-aciclicità che a sua volta implica la β-aciclicità che implica l'α-aciclicità. Tuttavia nessuna delle precedenti implicazioni può essere invertita, e pertanto sono considerate aciclicità differenti.

## Morfismi e isomorfismi

Un omomorfismo di ipergrafi è una associazione dall'insieme dei vertici di un ipergrafo a un altro, tale che ogni arco è associato a un altro arco.
Un ipergrafo $H=(X,E)$ è isomorfo a un altro ipergrafo $G=(Y,F)$, scritto $H\simeq G$, se esiste una biezione
    $\phi \colon X\to Y$
e una permutazione $\pi$ di $I$ tale che
    $\phi (e_{i})=f_{\pi (i)}.$
La biezione $\phi$ è in seguito chiamato isomorfismo dei grafi. Notare che
    $H\simeq G$ se e solo se $H^{*}\simeq G^{*}$.
Quando gli archi di un ipergrafo sono esplicitamente marcati, si presenta la nozione di isomorfismo forte. Si dice che $H$ è fortemente isomorfo a $G$ se la permutazione è l'identità e si indica $H\cong G$. Un isomorfismo forte di grafi è anche un isomorfismo di grafi, ma non viceversa.
Quando i vertici di un ipergrafo sono esplicitamente marcati, si presenta la nozione di equivalenza, e anche di uguaglianza. Si dice che $H$ è equivalente a $G$, e si scrive $H\equiv G$ se l'isomorfismo $\phi$ ha
    $\phi (x_{n})=y_{n}$
e
    $\phi (e_{i})=f_{\pi (i)}.$
Si noti che
    $H\equiv G$ se e solo se $H^{*}\cong G^{*}.$
Se, in aggiunta, la permutazione $\pi$ è l'identità, si dice che $H$ eguagli $G$, e si scrive $H=G$. Si noti che, con tale definizione di uguaglianza, i grafi sono auto-duali
    $\left(H^{*}\right)^{*}=H.$
Un automorfismo su un ipergrafo è un isomorfismo da un insieme di vertici a un altro, che è una rimarcatura di vertici. L'insieme di automorfismi di un ipergrafo H = (X, E) è un gruppo, chiamato gruppo di automorfismi di un ipergrafo, e scritto Aut(H).

### Esempi

Si consideri l'ipergrafo $H$ con archi
    $H=\lbrace e_{1}=\lbrace a,b\rbrace ,e_{2}=\lbrace b,c\rbrace ,e_{3}=\lbrace c,d\rbrace ,e_{4}=\lbrace d,a\rbrace ,e_{5}=\lbrace b,d\rbrace ,e_{6}=\lbrace a,c\rbrace \rbrace$
e
    $G=\lbrace f_{1}=\lbrace \alpha ,\beta \rbrace ,f_{2}=\lbrace \beta ,\gamma \rbrace ,f_{3}=\lbrace \gamma ,\delta \rbrace ,f_{4}=\lbrace \delta ,\alpha \rbrace ,f_{5}=\lbrace \alpha ,\gamma \rbrace ,f_{6}=\lbrace \beta ,\delta \rbrace \rbrace$
Chiaramente $H$ e $G$ sono isomorfi (con $\phi (a)=\alpha$, etc.), ma non sono fortemente isomorfi. Quindi, per esempio, in $H$, il vertice $a$ incontra gli archi 1, 4 e 6, così che
    $e_{1}\cap e_{4}\cap e_{6}=\lbrace a\rbrace$
Nel grafo $G$, non esiste alcun vertice che incontri gli archi 1, 4 e 6:
    $f_{1}\cap f_{4}\cap f_{6}=\varnothing$
In questo esempio, $H$ e $G$ sono equivalenti, $H\equiv G$, e i duali sono fortemente isomorfi $H^{*}\cong G^{*}$.

## Ipergrafi simmetrici

Il rango $r(H)$ di un ipergrafo $H$ è la cardinalità massima che di un arco nell'ipergrafo. Se tutti gli archi hanno stessa cardinalità k, l'ipergrafo viene detto uniforme o anche k-uniforme, o anche chiamato k-ipergrafo. Un grafo nel senso classico può essere visto come un ipergrafo 2-uniforme.
Il grado d(v) di un vertice v è il numero di archi in cui è contenuto. Un ipergrafo H è k-regolare se ogni vertice ha grado k.
Il duale di un ipergrafo uniforme è regolare, e viceversa.
Due vertici x e y di H sono chiamati simmetrici se esiste un automorfismo tale che $\phi (x)=y$. Due archi $e_{i}$ e $e_{j}$ sono detti simmetrici se esiste un automorfismo tale che $\phi (e_{i})=e_{j}$.
Un ipergrafo è detto vertice-transitivo (o vertice-simmetrico) se tutti i suoi vertici sono simmetrici. Ne segue che un ipergrafo si dice arco-transitivo se tutti gli archi sono simmetrici. Se un ipergrafo è sia arco-simmetrico che vertice-simmetrico, allora l'ipergrafo si dice transitivo.
Data la dualità di un ipergrafo, lo studio della arco-transitività è collegato allo studio della vertice-transitività.

## Rappresentazione grafica di ipergrafi

Sebbene gli ipergrafi siano più difficili da rappresentare graficamente rispetto ai grafi, diversi ricercatori hanno studiato modi per visualizzare ipergrafi.
Una possibile rappresentazione visuale di ipergrafi, simile a quella standard in cui delle curve sul piano sono utilizzato per rappresentare gli archi, i vertici degli ipergrafi sono rappresentati come punti, dischi, rettangoli, e gli iperarchi sono alberi che hanno i vertici come foglie. Se i vertici sono rappresentati come punti, gli iperarchi possono essere curve che connettono insieme di punti, o curve chiuse che racchiudono insiemi di punti.
Un altro stile di visualizzazione degli ipergrafi, la suddivisione modella la rappresentazione dell'ipergrafo, il piano è suddiviso in regioni, ognuna delle quali rappresenta un singolo vertice dell'ipergrafo. Gli iperarchi dell'ipergrafo sono rappresentati da sottoinsiemi contigui di tali regioni, che possono essere rappresentati dal colore, da contorni intorno ad esse o da entrambi. Un diagramma di Venn, ad esempio, può suddividere un ipergrafo in iperarchi (le curve chiuse definiscono il diagramma) e 2$^n$ - 1 vertici (rappresentati dalle regioni in cui queste curve suddividono il piano). Diversamente dal tempo polinomiale per riconoscere grafi planari, il suo tempo NP-completo per determinare in che modo un ipergrafo ha possa avere una suddivisione planare. L'esistenza di una rappresentazione di questo tipo può essere testato efficacemente quando il modello di adiacenza delle regioni è vincolato in un percorso, un ciclo o un albero.
Una rappresentazione alternativa dell'ipergrafo chiamata PAOH, mostrata nella seconda figura di questo articolo. Gli archi sono linee verticali che collegano i vertici. I vertici sono allineati a sinistra. La legenda sulla destra mostra i nomi degli archi. Sebbene tale tecnica sia stato pensata per visualizzare gli ipergrafi dinamici, può essere utilizzata anche per gli ipergrafi semplici.