Le strutture 1-predicato infinite sono classificate in base alla complessità dei loro alberi di calcolo, e due classi fondamentali sono SDLP (Strutture 1-predicato con alberi di calcolo deterministici di tempo logaritmico e dimensione polinomiale) e SNCP (Strutture 1-predicato con alberi di calcolo non deterministici di tempo costante e dimensione polinomiale). Queste classi sono definite da specifiche condizioni sulle profondità e sulla dimensione degli alberi di calcolo che risolvono deterministicamente e non deterministicamente i problemi posti sulle strutture 1-predicato.

La classe SDLP comprende tutte le strutture 1-predicato per le quali esistono costanti c1,c2,c3,c4ω{0}c_1, c_2, c_3, c_4 \in \omega \setminus \{0\} tali che, per ogni problema zProbl(U)z \in Probl(U), esiste un albero di calcolo α\alpha che risolve il problema in modo deterministico, e che soddisfa le seguenti disuguaglianze:

h(α)c1log2(dim(z))+c2h(\alpha) \leq c_1 \log_2(\text{dim}(z)) + c_2

L(α)c3(dim(z))c4L(\alpha) \leq c_3 (\text{dim}(z))^{c_4}

Dove h(α)h(\alpha) rappresenta la profondità dell'albero di calcolo e L(α)L(\alpha) la sua dimensione in termini di nodi. La seconda disuguaglianza, che limita il numero di nodi dell'albero, segue direttamente dalla prima, che impone un limite sulla profondità.

D'altra parte, la classe SNCP comprende le strutture 1-predicato per le quali esistono costanti c1,c2,c3ω{0}c_1, c_2, c_3 \in \omega \setminus \{0\} tali che, per ogni problema zProbl(U)z \in Probl(U), esiste un albero di calcolo non deterministico α\alpha che risolve il problema e soddisfa:

h(α)c1h(\alpha) \leq c_1

L(α)c2(dim(z))c3L(\alpha) \leq c_2 (\text{dim}(z))^{c_3}

Entrambe le classi descrivono strutture 1-predicato dove la crescita della profondità e della dimensione degli alberi di calcolo è limitata dalla crescita della dimensione del problema dim(z)\text{dim}(z). Questo comporta una limitazione nella complessità computazionale associata a ciascuna struttura.

Un'importante relazione tra queste due classi è che SDLP è un sottoinsieme di SNCP, come affermato nel Teorema 3.9. Ciò implica che ogni struttura appartenente alla classe SDLP è anche parte della classe SNCP. Tuttavia, la questione se queste due classi coincidano in generale rimane aperta. Esiste una risposta affermativa solo per le strutture 1-predicato "boundedly incompatible" (incompatibili in modo limitato).

Una struttura 1-predicato U=(A,P)U = (A, P) si dice m-boundedly incompatible se, per ogni sistema di equazioni incompatibili sulla base AA, esiste un sottosistema incompatibile che contiene al massimo mm equazioni. Le strutture appartenenti alla classe BIS(m) sono quelle che soddisfano questa proprietà. Il Teorema 3.10 stabilisce che, per tali strutture, le classi SDLP e SNCP coincidono:

SDLPBIS=SNCPBISSDLP \cap BIS = SNCP \cap BIS

Un esempio concreto di struttura incompatibile limitata è dato dalla struttura U1=(A1,P1)U_1 = (A_1, P_1), dove A1=ω{0}A_1 = \omega \setminus \{0\} e P1={li:iω{0}}P_1 = \{ l_i : i \in \omega \setminus \{0\} \}, con la funzione li:ω{0}E2l_i : \omega \setminus \{0\} \to E_2 definita in modo che li(j)=1l_i(j) = 1 se e solo se j>ij > i. Si può dimostrare che U1U_1 è una struttura 2-boundedly incompatible, il che implica che appartiene sia alla classe SDLP che a SNCP, come previsto dal Teorema 3.10.

Nel contesto delle strutture finite 1-predicato, la ricerca sulla complessità degli alberi di calcolo deterministici e non deterministici ha portato alla definizione di funzioni come hdUg(z)hdU_g(z) e haUg(z)haU_g(z), che descrivono rispettivamente la profondità minima degli alberi di calcolo deterministici e non deterministici per un dato problema zz. Queste funzioni dipendono dalla dimensione del problema e dalla natura delle strutture predicato finite, come indicato nei Teoremi 3.11 e 3.12. Per esempio, se la dimensione nn di un problema è inferiore o uguale a ds(U)ds(U) (la massima dimensione di un problema stabile deterministico), la profondità dell'albero deterministico cresce linearmente con la dimensione del problema. Altrimenti, la crescita della profondità è regolata da una funzione logaritmica o polinomiale, a seconda delle proprietà specifiche della struttura predicato.

Un aspetto cruciale da tenere in considerazione per il lettore è che la struttura dei predicati e la complessità degli alberi di calcolo sono profondamente interconnessi. La natura delle relazioni tra i predicati in una struttura e la loro capacità di descrivere sistemi di equazioni compatibili o incompatibili gioca un ruolo determinante nel determinare l'efficienza computazionale di una struttura 1-predicato. La stabilità e la ridondanza dei predicati possono influenzare significativamente la profondità degli alberi di calcolo e, di conseguenza, la complessità computazionale nel risolvere i problemi associati.

Analisi dei Cicli Computazionali su Strutture Arbitrari

In questa sezione esamineremo le strutture generali, che possono includere sia predicati che funzioni, su cui vengono costruiti gli alberi computazionali per risolvere problemi complessi. L'approccio che adotteremo è globale, il che ci permette di utilizzare predicati e funzioni arbitrari dalla struttura per costruire alberi computazionali che risolvano determinati problemi.

Consideriamo una struttura arbitraria U=(A,F,P)U = (A, F, P), dove AA è un insieme non vuoto, FF è una collezione di funzioni definite su AA, e PP è un insieme di predicati. Su tale struttura, per ogni nn naturale, definiamo un insieme Probl(U,n)\text{Probl}(U, n) di problemi con nn variabili di input. Ogni problema zProbl(U,n)z \in \text{Probl}(U, n) è descritto da una sequenza finita di espressioni di funzioni e predicati definiti su UU, rappresentata dalla forma α1,,αr\alpha_1, \ldots, \alpha_r, dove ciascuna αi\alpha_i è una funzione del tipo p(t1,,tm)p(t_1, \ldots, t_m), con pPp \in P e t1,,tmt_1, \ldots, t_m funzioni definite su x1,,xnx_1, \ldots, x_n, ottenute tramite sostituzione da funzioni di F{x}F \cup \{x\}.

Gli alberi computazionali su queste strutture possono essere deterministici o non deterministici, a seconda di come si risolvono i problemi associati. Ogni area dell'insieme AnA^n è etichettata con un insieme finito e non vuoto di soluzioni, e la nostra missione è quella di trovare una soluzione per ogni nn-tupla aˉAn\bar{a} \in A^n.

Una delle principali difficoltà nella costruzione di alberi computazionali è il calcolo della complessità dei problemi. Ogni problema è caratterizzato da tre parametri: la complessità della descrizione del problema ψi(U,z)\psi_i(U, z), la complessità minima di un albero computazionale che risolve il problema in modo deterministico ψd(U,z)\psi_d(U, z), e la complessità minima di un albero computazionale non deterministico ψa(U,z)\psi_a(U, z). Questi parametri sono fondamentali per comprendere come la complessità di un problema si relazioni con le risorse computazionali necessarie per risolverlo.

Per analizzare la relazione tra la descrizione del problema e la complessità degli alberi computazionali, definiremo due funzioni parziali che operano su insiemi di numeri interi non negativi: Ubcψn(m)U_{bc} \psi_n(m) e Lbcψn(m)L_{bc} \psi_n(m). La funzione Ubcψn(m)U_{bc} \psi_n(m) rappresenta un limite superiore, mentre Lbcψn(m)L_{bc} \psi_n(m) rappresenta un limite inferiore per la complessità del problema, in base alla complessità di altri parametri. Questi limiti non sono facili da calcolare, ma la loro analisi offre una visione più chiara delle relazioni complesse tra i diversi tipi di problemi e le soluzioni computazionali.

I risultati ottenuti attraverso lo studio di questi parametri sono analoghi a quelli ottenuti per gli alberi decisionali, ma con una maggiore generalità, poiché includono non solo la risoluzione deterministica, ma anche la risoluzione non deterministica di un problema. Con l'aumento del numero di variabili di input, i parametri di relazione tra la complessità della descrizione del problema e la complessità degli alberi computazionali possono cambiare, creando nuovi scenari di complessità.

Inoltre, l'analisi dei "tipi" delle funzioni UbcψnU_{bc} \psi_n e LbcψnL_{bc} \psi_n, e dei relativi "n-tipi" delle coppie (U,ψ)(U, \psi), ci permette di classificarli in sette categorie distinte. Questa classificazione è cruciale per capire come le strutture complesse evolvono quando il numero di variabili di input cresce. Ogni tipo di funzione rappresenta una diversa modalità di crescita o limitazione della complessità del problema.

Un ulteriore sviluppo di questa analisi riguarda il "tipo dinamico" di una coppia (U,ψ)(U, \psi). La sequenza di variabili dinamiche rappresenta l'evoluzione del tipo di una coppia nel corso del tempo, in relazione al numero di variabili di input. Comprendere questa evoluzione è fondamentale per predire come la complessità di un problema potrebbe comportarsi quando si modifica la sua struttura di base.

Per concludere, lo studio degli alberi computazionali su strutture arbitrarie non è solo una questione di determinare la complessità di un problema, ma anche di comprendere le dinamiche sottostanti a questi sistemi. Ogni modifica nel numero di variabili di input o nella struttura del problema può influire significativamente sulla sua risoluzione, creando nuove sfide per la teoria computazionale.