Usi delle strutture algebriche nell'informatica teorica


67

Sono un professionista del software e sto scrivendo un sondaggio sulle strutture algebriche per la ricerca personale e sto cercando di produrre esempi di come queste strutture sono utilizzate nell'informatica teorica (e, in misura minore, altri sotto-campi dell'informatica) .

Sotto la teoria dei gruppi mi sono imbattuto in monoidi sintattici per linguaggi formali e monoidi di traccia e storia per il calcolo parallelo / simultaneo.

Da un punto di vista della teoria degli anelli, mi sono imbattuto in quadri di semiring per l'elaborazione di grafici e l'analisi basata sul semiring.

Non ho ancora trovato alcun uso delle strutture algebriche dalla teoria dei moduli nella mia ricerca (e vorrei farlo).

Suppongo che ci siano ulteriori esempi e che non sto cercando nel posto giusto per trovarli.

Quali sono alcuni altri esempi di strutture algebriche dei domini sopra elencati che si trovano comunemente nell'informatica teorica (e in altri sottocampi dell'informatica)? In alternativa, quali riviste o altre risorse puoi consigliare per coprire questi argomenti?


12
Questo sembra piuttosto vasto. Tutti i tipi di strutture algebriche (gruppi, anelli, semirimorchi, semigruppi, campi) si presentano nell'informatica teorica ed è abbastanza pervasivo che ti sarebbe difficile trovare un sottocomponente specifico. Inoltre, non dimenticare i campi finiti per l'hashing e molti altri metodi di impronte digitali randomizzati.
Suresh Venkat,

3
Forse tutto ciò che può essere rappresentabile ha un uso in Informatica!
vs

Risposte:


46

La mia impressione è che, in generale, l'algebra tradizionale è piuttosto troppo specifica per l'uso in Informatica. Quindi gli informatici o usano strutture più deboli (e, quindi, più generali), o generalizzano le strutture tradizionali in modo che possano adattarle alle loro esigenze. Usiamo anche molto la teoria delle categorie, che i matematici non pensano di far parte dell'algebra, ma non vediamo perché no. Riteniamo che la ricostituzione della matematica tradizionale in "algebra" e "topologia" come rami separati sia scomoda, anche inutile, perché l'algebra è generalmente di primo ordine mentre la topologia ha una possibilità di trattare aspetti di ordine superiore. Quindi, le strutture utilizzate in Informatica hanno algebra e topologia mescolate. In effetti, direi che tendono più alla topologia che all'algebra. La classificazione del ragionamento in "algebra" e "logica" è un'altra divisione inutile dal nostro punto di vista, perché l'algebra si occupa delle proprietà equazionali mentre la logica si occupa anche di tutti gli altri tipi di proprietà.

Tornando alla tua domanda, i semigruppi e i monoidi sono usati abbastanza intensamente nella teoria degli automi. Eilenberg ha scritto una raccolta in 2 volumi , il secondo dei quali è quasi interamente algebra. Mi è stato detto che stava pianificando quattro volumi, ma la sua età non ha permesso il completamento del progetto. Jean-Eric Pin ha una versione modernizzata di molti di questi contenuti in un libro online . Gli automi sono "moduli monoid" (chiamati anche azioni monoid o "atti"), che sono al giusto livello di generalità per l'Informatica. I moduli ad anello tradizionali sono probabilmente troppo specifici.

La teoria della grata era una forza importante nello sviluppo della semantica denotazionale. La topologia è stata mescolata alla teoria reticolare quando gli informatici, insieme ai matematici, hanno sviluppato reticoli continui e poi li hanno generalizzati in domini . Direi che la teoria dei domini è la matematica degli stessi informatici, di cui la matematica tradizionale non è a conoscenza.

L'algebra universale viene utilizzata per definire le specifiche algebriche dei tipi di dati . Arrivati ​​lì, gli informatici hanno immediatamente scoperto la necessità di occuparsi di proprietà più generali: equazioni condizionali (chiamate anche clausole di Horn equazionali) e proprietà logiche del primo ordine, usando ancora le stesse idee di algebra universale. Come noterai, l'algebra ora si fonde con la teoria dei modelli.

La teoria delle categorie è il fondamento della teoria dei tipi. Mentre gli informatici continuano a inventare nuove strutture per affrontare vari fenomeni computazionali, la teoria delle categorie è un quadro molto confortante in cui collocare tutte queste idee. Utilizziamo anche strutture abilitate dalla teoria delle categorie, che non hanno esistenza nella matematica "tradizionale", come le categorie di funzioni. Inoltre, l'algebra ritorna nell'immagine da un punto di vista categorico nell'uso delle monadi e delle teorie algebriche degli effetti . coalgebre , che sono i doppi delle algebre, trovano molta applicazione.

Quindi, esiste una vasta applicazione di "algebra" in Informatica, ma non è il tipo di algebra che si trova nei libri di testo tradizionali di algebra.

Nota aggiuntiva : c'è un senso concreto in cui la teoria delle categorie è l'algebra. Il monoide è una struttura fondamentale in algebra. È costituito da un operatore binario di "moltiplicazione" che è associativo e ha un'identità. Categoria teoria generalizza questo associando "tipi" per gli elementi del monoid, . È possibile "moltiplicare" gli elementi solo quando i tipi di corrispondenza: se un : X Y e B : Y Z poi un b : X Z . Ad esempio, n × nun':XYun':XYB:YZun'B:XZn×nle matrici hanno un'operazione di moltiplicazione che le rende un monoide. Tuttavia, le matrici (dove m e n potrebbero essere diverse) formano una categoria. I monoidi sono quindi casi speciali di categorie che hanno un solo tipo. Gli anelli sono casi speciali di categorie di additivi che hanno un solo tipo. I moduli sono casi speciali di funzioni in cui le categorie di origine e destinazione hanno un solo tipo. Presto. La teoria delle categorie è un'algebra tipizzata i cui tipi la rendono infinitamente più applicabile dell'algebra tradizionale.m×nmn


24
I teorici di categoria pensano all'algebra come parte della teoria delle categorie. Gli algebristi pensano alla teoria delle categorie come parte dell'algebra. I logici pensano che siano entrambi pazzi.
Jeffε

4
c'è molta interazione tra topologia e algebra nella matematica pura ...
Sasho Nikolov

16
Questa è una buona risposta, ma penso che i tuoi commenti su "reggimento" e "cultura del silo" siano fuorvianti. La ragione per cui algebra, topologia e logica ti sembrano unificate è che per le domande che ti interessano , le parti di questi argomenti che sono rilevanti per te sono strettamente intrecciate. Ma se, ad esempio, dovessi provare a classificare le varietà a 4 dimensioni rispetto ai numeri complessi, vedresti rapidamente l'utilità delle tradizionali distinzioni che i matematici fanno. Tutto dipende dal problema che stai cercando di risolvere.
Timothy Chow,

3
Personalmente sono ancora del tutto perplesso da praticamente ogni singola deduzione che fai sulla cultura della ricerca in matematica e informatica. Come sottolinea @TimothyChow, sono stati sviluppati diversi sottocampi per affrontare diversi tipi di problemi, e quindi sono stati sviluppati strumenti diversi. Dove ha senso portare strumenti da diversi sottocampi e le persone lo hanno capito, c'è interazione. Gli esempi non dovrebbero essere difficili da trovare, ad esempio nelle note di una lezione sull'algebra delle menzogne.
Sasho Nikolov,

3
per quanto riguarda il fatto che ci sia meno di una cultura del silo nell'informatica, non sarei d'accordo anche lì. Personalmente non ho idea del perché i ricercatori del PL abbiano bisogno di tutto questo macchinario pesante, per cosa lo usano, per quale problema risolvono e perché dovrei preoccuparmene. Forse è la mia ignoranza, ma dubito che la maggior parte dei teorici della complessità e degli algoritmici conoscano le risposte a queste domande ...
Sasho Nikolov,


15

Gruppi, anelli, campi e moduli sono ovunque nella topologia computazionale. Vedi in particolare il lavoro di Carlsson e Zomorodian [ex: 1 ] sull'omologia persistente (multidimensionale), che riguarda i moduli graduati sui principali domini ideali.


@JeffE, link, per favore.
scaaahu,

1
@JeffE, il mio commento non doveva essere offensivo. Sì, so come su Google. Il mio punto era: esiste un articolo particolare scritto da Carlsson e Zomorodian, che sarebbe una sorta di panoramica dell'omologia persistente? Se ce n'è uno, fatecelo sapere. Grazie.
scaaahu,

Suggerisco di iniziare con questo documento . (Mi dispiace, il mio commento precedente non è stato richiesto.)
Jeffε

@JeffE, capito, esattamente quello che stavo cercando. Grazie.
scaaahu,

14

Ecco un uso molto pratico e pratico: un algoritmo per il calcolo della connettività dei grafici (da FOCS2011 ). Per calcolare la connettività s-> t di un grafico, gli autori forniscono un algoritmo che assegna vettori casuali con voci tratte da un campo finito ai bordi esterni da s, quindi costruisce vettori simili per tutti i bordi del grafico prendendo casualmente combinazioni lineari, e infine scoprire la connettività calcolando il rango dei vettori risultanti assegnati agli in-edge di t.


Grazie per il puntatore e la panoramica! Questo è stato dal FOCS 2011: dx.doi.org/10.1109/FOCS.2011.55
András Salamon

12

Grate e punti fissi sono alla base dell'analisi e della verifica del programma. Sebbene i risultati avanzati della teoria del reticolo siano usati raramente perché ci occupiamo di problemi algoritmici come il calcolo e l'approssimazione di punti fissi, mentre la ricerca nella teoria del reticolo ha un focus diverso (connessioni alla topologia, teoria della dualità, ecc.). I documenti di interpretazione astratti iniziali usano la teoria reticolare di base. Il lavoro di Roberto Giacobazzi e dei suoi collaboratori utilizza risultati più avanzati.

Nel calcolo distribuito, una celebre famiglia di risultati di impossibilità è stata derivata usando metodi di topologia algebrica (Vedi il lavoro di Maurice Herlihy e Nir Shavit).

[Modifica: vedi Applicazioni della topologia all'informatica .]


12

L'algebra universale è uno strumento importante nello studio della complessità dei problemi di soddisfazione dei vincoli.

Ad esempio, la congettura della dicotomia afferma che, in termini approssimativi, un problema di soddisfazione del vincolo su un dominio finito è o NP-completo o risolvibile in tempo polinomiale. Si noti che secondo il teorema di Ladner ci sono problemi in NP che non sono in P e non NP-completi, tranne P = NP, quindi la congettura afferma che i CSP sono speciali nell'avere una dicotomia che le classi di complessità più grandi non hanno. Fornirebbe anche una spiegazione del motivo per cui la maggior parte dei problemi che incontriamo nella pratica può essere classificata come NP-completa o in P.

Le dicotomie sono state dimostrate per diversi casi speciali, ad esempio CSP di dominio binario (Schaefer) e CSP di dominio ternario (Bulatov) e omomorfismi in grafici non indirizzati (Hell e Nesetril). Ma il caso generale è abbastanza aperto. Una delle principali linee di attacco è attraverso l'algebra universale. Molto approssimativamente (e non sono assolutamente un esperto in questo!) Si definisce un polimorfismo di CSP come una funzione sul dominio del CSP che lascia tutti i vincoli soddisfatti soddisfatti se viene applicato a ciascuna variabile. L'insieme di polimorfismi di un CSP in un certo senso ne cattura la complessità. Ad esempio, se un CSP A ammette tutti i polimorfismi di un CSP B, allora A è un tempo polinomiale riducibile a B. L'insieme di polimorfismi forma un'algebra, la cui struttura sembra utile nel designare algoritmi / mostrare riduzioni. Ad esempio, se l'algebra polimorfica di un CSP è idempotente e ammette il tipo unario, allora il CSP è NP-completo. L'idempotenza è un presupposto semplificativo che può essere fatto più o meno senza perdita di generalità. Mostrare che un CSP la cui algebra è idempotente e non ammette il tipo unario può essere risolto in tempo polinomiale dimostrerà la congettura della dicotomia.

Vedi il sondaggio di Bulatov: http://www.springerlink.com/content/a553847g6h673k05/ .


11

Ecco due applicazioni da una parte diversa di TCS.

I seminari vengono utilizzati per modellare le annotazioni nei database (in particolare quelli necessari per la provenienza) e spesso anche per le strutture di valutazione nella stima della soddisfazione dei vincoli. In entrambe queste applicazioni, i singoli valori devono essere combinati insieme in modi che conducono naturalmente a una struttura semiring, con associatività e un'operazione di semiring distribuita sull'altra. Per quanto riguarda la tua query sui moduli, nessuno dei due monoid ha un contrario in queste applicazioni, in generale.


10

Anelli, moduli e varietà algebriche sono usati nella correzione degli errori e, più in generale, nella teoria dei codici.

In particolare, esiste uno schema di correzione degli errori astratto (codici geometria algebrica) che generalizza i codici Reed-Solomon e i codici di resto cinese. Lo schema è fondamentalmente quello di prendere i tuoi messaggi provenienti da un anello R e codificarli prendendo i suoi residui modulo molti ideali diversi in R. Sotto alcuni presupposti su R, si può dimostrare che questo rende un errore decente correggendo il codice.

Nel mondo della decodifica delle liste, un recente articolo di Guruswami fornisce un metodo lineare-algebrico di decodifica delle liste codici Reed-Solomon piegati, che ha la bella proprietà che tutti i messaggi candidati si trovano in un sottospazio affine a bassa dimensione dello spazio dei messaggi . Si possono costruire insiemi evasivi del sottospazio , che sono quasi grandi quanto l'intero spazio ma hanno una piccola intersezione con ogni sottospazio affine a bassa dimensione. Se uno limita i messaggi a provenire da un set evasivo di sottospazi all'interno dello spazio dei messaggi, lo schema di Guruswami fornisce un algoritmo che garantisce una buona dimensione dell'elenco. Finora l'unica costruzione esplicita di insiemi evasivi del sottospazio è data da Dvir e Lovett nel loro prossimo articolo STOC, Subspace Evasive Sets e costruire il set prendendo una specifica varietà affine (e portando con sé il suo prodotto cartesiano).


6

Dai un'occhiata alla teoria di Ramsey - sostanzialmente una significativa generalizzazione del principio del buco del piccione che sta alla base di molti automi e teoria del linguaggio formale (o dovrei dire, il principio del buco del piccione è il caso più semplice della teoria di Ramsey). Sostanzialmente afferma che anche le strutture altamente disordinate risultano necessariamente contenere molto ordine se sono sufficientemente grandi. Per un piccolo esempio appena oltre il principio del buco del piccione, nota che se prendi sei persone, allora tre di loro si conoscono reciprocamente o tre di loro non si conoscono reciprocamente.

Questo documento sembra un buon punto di partenza per le connessioni con l'informatica, ma puoi cercare su Google. È più combinatorio che algebrico nella sua natura di base, ma ha molte applicazioni in algebra e CS teorico.

E dai un'occhiata anche alla storia dell'inventore, Frank Ramsey - veramente un polimero straordinario che ha dato contributi fondamentali, persino rivoluzionari in economia e filosofia, nonché in matematica, molti non apprezzati fino a molto tempo dopo, il tutto prima di morire all'età di 26 anni - basta pensare! In effetti, il teorema originale di Ramsey, la base della teoria di Ramsey, era un mero lemma in un documento con uno scopo più grande nella logica matematica.


2
questa è roba combinatoria classica estrema, mi chiedo dove vedi la connessione con l'algebra? (Non discuto che la teoria di Ramsey sia fonte di grandi problemi e teoremi)
Sasho Nikolov

SUNK> =2nwUN+neSw=Xu1...unyX,yUN*u¯io=e

non sto contestando la rilevanza della teoria di Ramsey, per non parlare della teoria dei grafi, per tcs. sto dicendo che l'OP ha chiesto delle applicazioni dell'algebra e della teoria di Ramsey non è qualcosa che di solito è associato con l'algebra, afaik. ma poiché sembri avere qualche teoria ramsey di connessione -> algebra -> tcs in mente, forse puoi aggiungerla alla tua risposta
Sasho Nikolov,

@Sasho - Se vuoi dire che Ramsey Theory non è un argomento di algebra, quindi la mia risposta è off-base, allora hai ragione al 100%. Chiedo scusa per la mia risposta. Immagino che la mia mente tende a varcare abbastanza facilmente i confini disciplinari e subdisciplinari. Ma è peggio di così: la Ramsey Theory non è in alcun modo una "struttura algebrica". Sentiti libero di sottovalutare la mia risposta. Saluti.
David Lewis,

beh, anche se forse il downvoting sarebbe logico, adoro la combinatoria estrema, quindi non lo farò :) A proposito, sono abbastanza sicuro che ci sono alcuni fenomeni di tipo ramsey che si verificano con strutture algebriche, forse anche a "densità" più basse a causa della simmetrie, quindi mi stai dando un'idea di una domanda
Sasho Nikolov,

5

L'analisi di qualsiasi problema con molta simmetria è facilitata dall'uso della teoria dei gruppi. Un esempio potrebbe essere quello di trovare algoritmi per cose come il cubo di Rubic. Sebbene non conosca i dettagli, sono sicuro che per dimostrare che il numero di Dio è 20 è necessaria una potatura teorica di gruppo seria. In un contesto diverso, i solutori pratici per il problema dell'isomorfismo dei grafici come la nautica usano il gruppo di automorfismi del grafico.


Inoltre, gli algoritmi per l'isomorfismo dei grafi [Luks '81; Babai - Luks '82] con le garanzie più note (vale a dire, funziona in teoria, ma può essere inefficace in pratica) usano pesantemente la teoria dei gruppi, anche invocando la classificazione di gruppi semplici finiti.
Joshua Grochow,

5

Zp


1
A quanto ho capito, ci sono altre strutture algebriche (campi finiti, anelli e altre strutture) utilizzate nella moderna Crypto - che sta gradualmente abbandonando la teoria dei numeri e concentrandosi maggiormente su reticoli, codici correttori di errori e problemi "quantistici-resistenti".
josh

1

Nella programmazione funzionale, le astrazioni più generali ed eleganti per i problemi sono spesso di natura algebrica (o teorica di categoria): monoidi, semirings , funzioni , monadi, algebre F, coalgebre F, ecc. Alcuni risultati classici (ad esempio, lo Yoneda lemma) ha contenuto e utilità computazionali.

Inoltre, esiste una teoria dei tipi di omotopia, che interpreta la teoria dei tipi in una sorta di impostazione topologica algebrica.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.