A linked bar chart is the augmentation of a traditional bar chart where each bar is partitioned into blocks and pairs of blocks are linked using orthogonal lines that pass over intermediate bars. The order of the blocks readily influences the legibility of the links. We study the algorithmic problem of minimizing the vertical length of these links, for a fixed bar order. The main challenge lies with ``dependent'' links, whose vertical link length cannot be optimized independently per bar. We show that, if the dependent links form a forest, the problem can be solved in $O(nm)$ time, for n bars and m links. If the dependent links between non-adjacent bars form a forest, the problem admits an $O(n^4m)$-time algorithm. Finally, we show that the general case is fixed-parameter tractable in the maximum number of links that are connected to one bar.
academic
Minimizzazione della Lunghezza Verticale nei Grafici a Barre Collegati
I grafici a barre collegati (Linked Bar Chart) sono una versione migliorata dei tradizionali grafici a barre, dove ogni barra è suddivisa in più blocchi collegati tra loro mediante linee ortogonali che devono attraversare le barre intermedie. L'ordine di disposizione dei blocchi influisce direttamente sulla leggibilità delle linee di collegamento. Questo articolo studia il problema algoritmico di minimizzare la lunghezza verticale delle linee di collegamento con ordine delle barre fissato. La sfida principale risiede nei "collegamenti dipendenti" (dependent links), la cui lunghezza verticale non può essere ottimizzata indipendentemente. La ricerca dimostra che: se i collegamenti dipendenti formano una struttura di foresta, il problema è risolvibile in tempo O(nm) (n barre, m collegamenti); se i collegamenti dipendenti tra barre non adiacenti formano una foresta, è risolvibile in tempo O(n⁴m); nel caso generale, il problema è Fixed Parameter Tractable (FPT) rispetto al grado massimo delle barre.
I grafici a barre tradizionali possono rappresentare solo dati di una singola categoria, ma in molti scenari pratici, determinati valori non appartengono esclusivamente a una categoria, bensì sono correlati a più categorie. Ad esempio:
Quantità Condivise: il volume di comunicazione tra account appare contemporaneamente nelle statistiche di due account
Incertezza Pairwise: negli exit poll elettorali, gli elettori incerti tra due partiti; il contributo delle fabbriche di confine all'inquinamento di due paesi
La visualizzazione di dati cross-categorici è un'esigenza importante nell'analisi dei dati. I grafici a barre collegati rappresentano queste relazioni aggiungendo linee di collegamento tra le barre, ma l'ordine di impilamento dei blocchi influisce direttamente sulla lunghezza verticale delle linee di collegamento, incidendo sulla leggibilità e l'estetica del grafico.
I grafici a barre standard non possono visualizzare direttamente valori cross-categorici
Sebbene i grafici a barre collegati siano stati proposti di recente 17, il problema di ottimizzazione dell'ordine di impilamento dei blocchi non è stato ancora studiato
I problemi tradizionali di graph drawing (come l'embedding su pagina singola) considerano solo l'ordine dei vertici, non questa nuova dimensione di impilamento dei blocchi
Questo articolo studia sistematicamente per la prima volta il problema algoritmico di minimizzare la lunghezza verticale dei collegamenti nei grafici a barre collegati, fornendo fondamenti teorici e algoritmi efficienti per questo nuovo metodo di visualizzazione.
Formalizzazione del Problema: Prima definizione del problema di ottimizzazione per minimizzare la lunghezza verticale dei collegamenti nei grafici a barre collegati, introducendo un sistema di classificazione di "collegamenti indipendenti" e "collegamenti dipendenti"
Algoritmo per Struttura di Foresta: Dimostrazione che quando il sottografo dei collegamenti dipendenti forma una foresta, il problema è risolvibile in tempo O(nm) mediante programmazione dinamica (Teorema 3)
Algoritmo per Foresta Non-Adiacente: Dimostrazione che quando i collegamenti dipendenti non-adiacenti formano una foresta, il problema è risolvibile in tempo O(n⁴m) (Teorema 6)
Algoritmo FPT: Dimostrazione che nel caso generale il problema è Fixed Parameter Tractable, con parametro il grado massimo Δ delle barre, con complessità temporale O(Δ^(3δ)·δ·n) (Teorema 8)
Limiti Inferiori di Complessità: Dimostrazione che quando i vertici possono avere più blocchi non collegati ordinabili arbitrariamente, il problema è fortemente NP-difficile (Teorema 12)
L'articolo classifica i collegamenti in due categorie principali:
Collegamenti Indipendenti (IL): La lunghezza verticale può essere ottimizzata indipendentemente posizionando il blocco in una destinazione fissa t, con costo |t - y| + |t - y'|. Tre casi:
Una barra intermedia è più alta della massima posizione possibile di un endpoint → destinazione è l'altezza della barra intermedia più alta H
Gli intervalli di posizioni possibili dei due endpoint non si sovrappongono internamente → destinazione è la posizione più bassa dell'intervallo più alto
La posizione di un endpoint è fissa (sequenza corrispondente è vuota) → destinazione è quella posizione fissa
Collegamenti Dipendenti (DL): La lunghezza verticale dipende dalla posizione relativa di due blocchi, non può essere assegnata una destinazione statica. Ulteriormente suddivisi in:
Idea Centrale: Utilizzare la struttura ad albero per determinare l'ordine di elaborazione delle barre, calcolando mediante programmazione dinamica dal basso verso l'alto.
Passi dell'Algoritmo:
Per ogni albero T nella foresta, scegliere arbitrariamente una radice
Per ogni barra B, sia lₚ* il blocco che collega il nodo genitore (collegamento genitore)
Definire la tabella di programmazione dinamica:
P(B, k): costo minimo del sottoalbero Tᵦ con k blocchi destri sotto il collegamento genitore
D↓(p, q): costo minimo dei primi p blocchi sinistri e q blocchi destri
D↑(p, q): costo minimo dei blocchi successivi
Strategia di Decomposizione: Il blocco del collegamento genitore lₚ* in posizione k divide la barra in due parti indipendenti:
Sistema di Classificazione dei Collegamenti: La classificazione in collegamenti indipendenti/dipendenti consente di decomporre il problema di ottimizzazione, dove i collegamenti indipendenti possono essere ottimizzati localmente e i collegamenti dipendenti richiedono considerazione globale
Programmazione Dinamica Stratificata:
Algoritmo 1: sfrutta la struttura ad albero per la decomposizione
Algoritmo 2: introduce stati parametrizzati per gestire gli ADL
Algoritmo 3: sfrutta la tree decomposition per il caso generale
Utilizzo della Proprietà di Grafo Esterno-Planare: La natura esterno-planare del sottografo dei collegamenti dipendenti garantisce tree-width ≤ 2, fornendo la base teorica per l'algoritmo FPT
Strategia di Precalcolo: Nel nodo di dimenticanza, precalcola il costo dei sottoinsiemi di blocchi indipendenti, evitando il ricalcolo
Nota: Questo articolo è un articolo di algoritmi teorici e non include una sezione di verifica sperimentale. L'articolo si concentra sulla progettazione di algoritmi e sull'analisi della complessità.
L'articolo dimostra la difficoltà del problema mediante riduzioni:
Teorema 12 (Difficoltà NP Forte): Quando i vertici possono avere più blocchi non collegati ordinabili arbitrariamente, minimizzare la lunghezza verticale dei collegamenti è fortemente NP-difficile.
Metodo di Prova: Riduzione dal problema 3-Partition
Costruzione: 2k-1 barre, B₀ ha n blocchi non collegati (corrispondenti all'istanza 3-Partition)
Proprietà Chiave: solo l'ordine dei blocchi non collegati di B₀ è regolabile
Equivalenza: esiste uno schema a lunghezza verticale zero ⟺ esiste una soluzione 3-Partition
Complessità Stratificata: La complessità del problema varia da O(nm) (struttura di foresta) a FPT (caso generale) a fortemente NP-difficile (versione estesa)
Algoritmi Pratici: Per strutture dati comuni (come distribuzioni di altezza unimodale/unimodale inversa), esistono algoritmi polinomiali efficienti
Risolvibilità Parametrizzata: Nel caso generale, quando il grado delle barre è limitato il problema è risolvibile efficientemente
1 Bernhart & Kainen (1979): The book thickness of a graph - Teoria fondamentale dell'embedding su pagina singola
6 Cygan et al. (2015): Parameterized algorithms - Manuale standard degli algoritmi FPT
11 Frederickson & Hambrusch (1988): Planar linear arrangements of outerplanar graphs - Algoritmi polinomiali per l'ottimizzazione di grafi esterno-planari
17 van Beusekom et al. (2024): Visualizing set sizes with dependent and independent uncertainties - Proposta originale dei grafici a barre collegati
Valutazione Complessiva: Questo è un articolo di alta qualità di geometria computazionale teorica che studia sistematicamente il problema algoritmico dell'ottimizzazione nei grafici a barre collegati. L'articolo è teoricamente rigoroso, la progettazione algoritmica è ingegnosa e l'analisi della complessità è completa. Il valore principale risiede nell'aver stabilito una base teorica solida per questo nuovo metodo di visualizzazione. Le insufficienze consistono nella mancanza di verifica sperimentale e nella caratterizzazione incompleta della complessità nel caso generale. Se in futuro potesse essere combinato con la valutazione su dati reali e la progettazione di algoritmi euristici, aumenterebbe significativamente il suo valore pratico.