Strutture periodiche discrete:
introduzione del vincolo di periodicità e
studio della ricostruzione da due proiezioni.
A. Del Lungo, A. Frosini, M.Nivat, L.Vuillon
Tomografia
TOMOGRAFIA COMPUTERIZZATA:
il processo mediante il quale è possibile ottenere informazioni circa la
distribuzione di densità di una struttura fisica a partire da un insieme di
proiezioni ottenute tramite raggi X. Matematicamente si vuole ricostruire una
funzione di densità (x), con x R2 o R3, a partire dalla conoscenza dei suoi
integrali di linea L (x) dx.
Caratteristiche:
 la struttura da ricostruire ha, in generale, una grande quantità di valori di densità
 il numero delle proiezioni varia tra 480 e 1000
Tomografia
TOMOGRAFIA DISCRETA:
area della Tomografia Computerizzata che si occupa di strutture fisiche aventi
un piccolo numero di valori di densità diversi. Matematicamente: si vuole
ricostruire una funzione di densità (x), con x Z2 o Z3, a partire dalla
conoscenza del numero di atomi/molecole della struttura presenti su linee
discrete.
Caratteristiche:
 la struttura esaminata è spesso costituita da uno o al massimo due tipi
diversi di atomi/molecole;
 il numero delle proiezioni varia tra 2 e 4;
 l’indagine utilizza strumenti basati principalmente sulla matematica
discreta, geometria e combinatoria.
Applicazioni
 Tomografia computerizzata industriale: si effettuano test non distruttivi su
materiali omogenei per verificarne l’integrità. L’immagine ricostruita contiene solo
due valori: 0 per l’aria ed un valore associato al materiale.
 Compressione e codifica di dati: si considerano le proiezioni come codifica di un
oggetto. Difficoltà di ricostruzione possono garantirne la sicurezza, mentre risultati
di unicità la perfetta compressione.
Applicazioni mediche: nelle angiografie per la ricostruzione e, successivamente,
per la visualizzazione delle camere ventricolari a partire da sezioni planari di
queste. Nell’indagine si associa alla presenza del mezzo di contrasto il valore 1,
all’assenza il valore 0.
Analisi di strutture cristalline: in particolare nella ricostruzione della disposizione
degli atomi all’interno di strutture cristalline. Lo scopo è quello di utilizzare tali
informazioni per fare controlli di qualità su larga scala nell’ambito delle tecnologie
VLSI (Very Large-Scale Integration).
Il modello generale
Componente elementare
della struttura fisica
Punto x di Z3
Struttura fisica
Sottoinsieme S
finito di Z3
Direzione di proiezione
Vettore v in Z3
Proiezione di S lungo la
linea l (v) di direzione v
PS (l (v))=| S  l (v) |
Per lo studio di STRUTTURE CRISTALLINE privilegiamo:
 Strutture bidimensionali
 Le direzioni orizzontale e verticale: v1=(1,0) e v2=(0,1)
Rappresentazione del modello
3 4 1 3 0 6
5
2
3
4
1
2
x
l (1,0)
l (0,1)
v1= (1,0)
v2= (0,1)
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Problemi principali
Sia  una classe di insiemi di Z2 e sia  = (v1,v2). Definiamo
Consistenza ( , )
Dati: due vettori H e V
Domanda: esiste un insieme S  avente H e V come proiezioni lungo v1 e v2 ?
Ricostruzione ( , )
Dati: due vettori H e V
Compito: costruire un insieme S  avente H e V come proiezioni lungo v1 e v2
Unicità ( , )
Dati: un elemento S della classe 
Domanda: esiste un insieme S’  equivalente ad S rispetto alle proiezioni
lungo v1 e v2 ?
Alcuni risultati
Sia  la classe dei sottoinsiemi finiti di Z2.
Ryser, Gale (1957):
Ricostruzione ( , ) può essere eseguito in tempo polinomiale.
Consistenza ( , ) ammette soluzione in tempo polinomiale.
Unicità ( , ) ammette soluzione in tempo polinomiale.
Spesso il numero di matrici che soddisfano una coppia di soluzioni
è molto grande e queste possono risultare estremamente
diverse l’una dall’altra.
Eliminare le soluzioni equivalenti
AUMENTANDO IL NUMERO DI PROIEZIONI:
Gardner, Gritzmann, Prangerberg (1999):
Se   3, allora
Ricostruzione ( , ) è NP-hard.
Consistenza ( , ) è NP-completo.
Unicità ( , ) è NP-completo.
In tempo polinomiale possono essere ottenute solo soluzioni approssimate cioè
soluzioni le cui proiezioni sono “vicine” a quelle del sistema di partenza.
Sfortunatamente, se i dati in input non sono tali da determinare l’unicità della
soluzione, anche in questo caso il sistema ricostruito può essere molto diverso
da quello di partenza!
Eliminare le soluzioni equivalenti
UTILIZZANDO INFORMAZIONI A PRIORI:
Gli algoritmi di ricostruzione possono trarre vantaggio da proprietà geometriche
della struttura quali connessione o convessità.
Queste informazioni vengono sfruttate per ridurre l’ampiezza della classe  alla
quale la soluzione deve appartenere: ad esempio
Barcucci, Del Lungo, Nivat, Pinzani (1996):
Se  = (p), (h), (v), (p,h), (p,v), (h,v) e  = (v1,v2), allora
Ricostruzione ( , ) è NP-hard.
Consistenza ( , ) è NP-completo.
Se  = (p,h,v), allora
Ricostruzione ( , ) può essere eseguito in tempo polinomiale.
Consistenza ( , ) ammette soluzione in tempo polinomiale.
Strutture periodiche: definizioni
VINCOLO DI PERIODICITÀ
Una struttura si dice (p,q)-periodica se la matrice Am x n ad essa associata è
tale che
(ai,j=1)  ( ai+q,j+p=1 ) e ( ai-q,j-p=1 )
In A si definisce
 linea li,j : l’insieme degli elementi ai’,j’ =1 tali che
i’= i+kq , j’ = (j+kp) modn con k  Z
(attenzione agli indici delle colonne);
 inizio e fine di una linea: i due elementi della linea che occupano
la minima e massima riga rispettivamente;
loop: una sequenza di linee consecutive nella quale anche il primo e l’ultimo
elemento sono consecutivi (loop = linea in un toro).
Strutture periodiche
ESEMPIO: MATRICI CON PERIODICITÀ (1,2)
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
Due linee e tre punti
non appartenenti ad
alcuna linea.
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
Un loop composto da due linee.
Sono evidenziati i punti di
inizio e fine di ciascuna linea.
Strutture periodiche: risultati
RISULTATI PRINCIPALI
Formalizzazione della teoria degli switches.
Sia  la classe dei sottoinsiemi finiti di Z2 aventi periodicità (p,q) e  = (v1):
Ricostruzione ( , ), Consistenza ( , ) ed Unicità ( , )
ammettono soluzione in tempo polinomiale.
Sia ’ la classe dei sottoinsiemi finiti di Z2 aventi periodicità (1,q) e  = (v1,v2).
Ricostruzione (’ , ) può essere eseguito in tempo polinomiale.
Consistenza (’ , ) ammette soluzione in tempo polinomiale.
Unicità (’ , ) ammette soluzione in tempo polinomiale.
I tre problemi rimangono aperti nel caso generale.
Strutture periodiche:
algoritmo di ricostruzione
DETTAGLI SULLA RICOSTRUZIONE DI MATRICI
(1,q)-PERIODICHE DA 2 PROIEZIONI
Sia ’ la classe dei sottoinsiemi finiti di Z2 aventi periodicità (1,q) e  = (v1,v2).
Ricostruzione (’ , ):
Input: due vettori H e V.
Output: la matrice (1,q)-periodica A avente H e V come proiezioni orizzontali e
verticali.
Passo 1 - ricostruzione della parte fissa di A (preprocessing): vengono identificati
gli elementi non appartenenti ad alcuna linea e vengono ricostruiti separatamente
in una matrice F. I vettori H e V vengono aggiornati in H’ e V’.
Passo 2 - creazione di una istanza I’ del problema di ricostruzione di una classe di
poliomini convessi su una superficie toroidale a partire dalla conoscenza parziale
delle sue proiezioni orizzontali e verticali.
Strutture periodiche:
algoritmo di ricostruzione
DETTAGLI SULLA RICOSTRUZIONE DI MATRICI
(1,q)-PERIODICHE DA 2 PROIEZIONI
Passo 3 - caratterizzazione di I’ tramite una formula booleana appartenente a
2-SAT e sua soluzione (es. algoritmo di Aspvall, Plass e Tarjan, 1979).
Una soluzione di I’ conduce ad una soluzione per Ricostruzione (’ , )
con input H’ e V’.
Passo 4 - passaggio alla soluzione del problema Ricostruzione ( , ) con
input H’ e V’.
Passo 5 - fusione della soluzione trovata con la matrice F per ottenere la soluzione
finale A. Tale procedura necessita di una variante dell’algoritmo di Ryser per la
ricostruzione di una matrice binaria da due proiezioni.
N.B. qualora la periodicità ecceda le dimensioni della matrice,
l’algoritmo precedente si riduce al solo algoritmo di Ryser.
Strutture periodiche:
dettagli sul passo 2, esempio
CORRISPONDENZA
MATRICE PERIODICA - POLIOMINO CONVESSO
0
0
0
M: 1
0
0
1
0
1
0
0
0
1
0
11
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
P:
0
0
0
1
1
1
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
Ciascuna linea della matrice (1,2)-periodica M viene trasformata in una barra
costituente il poliomino P.
Strutture periodiche:
dettagli sul passo 2, esempio
Il poliomino P:
 è convesso su un toro;
 ha le stesse proiezioni verticali di M;
 ciascuna proiezione orizzontale ha valore 3 o 4;
 su ciascuna colonna possono essere presenti al più una barra di
lunghezza 4 ed una barra di lunghezza 3 contemporaneamente.
Questi vincoli possono essere imposti tramite una formula
booleana in 2-SAT.
La trasformazione può essere facilmente invertita.
Ricostruzione di strutture periodiche:
esempio
Input: i due vettori H = (3, 3, 5, 2, 4, 5, 3, 4) e V = (4, 3, 4, 3, 3, 3, 4, 1, 1, 3).
Output: una matrice A con periodicità (1,3) e consistente con H e V.
Passo 1
- ricostruzione della parte fissa di A;
- creazione dei vettori H’ e V’.
H’ = (2, 3, 5, 2, 3, 5, 2, 3)
V’ = (2, 2, 4, 3, 3, 3, 4, 1, 1, 2).
3
3
5
2
4
5
3
4
0
0
0
0
10
0
10
0
0
0
0
0
0
0
0
01
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
01
0
0
0
0
0
0
0
Ricostruzione di strutture periodiche:
un esempio
Passi 2 e 3 - creazione di una istanza I’ del problema di ricostruzione di una classe
di poliomini convessi su di un toro dalla conoscenza parziale delle
proiezioni orizzontali e verticali:
• V’ = (2, 2, 4, 3, 3, 3, 4, 1, 1, 2)
• le proiezioni orizzontali possono
assumere i valori 2 o 3.
• al più due barre di lunghezza 2 ed una
di lunghezza 3 possono essere presenti
in una stessa colonna del poliomino.
- caratterizzazione del problema tramite una formula in 2-SAT e sua
soluzione.
Ricostruzione di strutture periodiche:
un esempio
Passi 4 e 5 - passaggio alla soluzione del problema Ricostruzione ( , ) con
input H’ e V’ e fusione della soluzione trovata con la parte fissa della
soluzione A ottenuta nel passo 1.
2 2 4 3 3 3 4 1 1 2
4 3 4 3 3 3 4 1 1 3
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
A:
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
3
3
5
2
4
5
3
4
Scarica

(1,2) 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0