Algebra astratta per teorici informatici


19

Ho una ragionevole educazione matematica, ma non mi sono mai trovato al 100% a mio agio con l'algebra astratta (la matematica di gruppi, anelli, campi ecc.). Penso che questo sia stato in parte come avevo bisogno di vedere le applicazioni e tutti quelli che ho potuto trovare erano in fisica, non in CS. Dato che il mio interesse è davvero CS, ci sono dei materiali disponibili ora (bozze online, appunti, video, libri) che coprono l'algebra astratta dal punto di vista delle applicazioni in CS e in particolare algoritmi / teoria? Sono felice che queste applicazioni siano del tutto teoriche ma non dovrebbero assumere alcuna conoscenza di algebra astratta preesistente.

Sono abbastanza sicuro che se queste risorse esistessero, sarebbero apprezzate da un gran numero di ricercatori CS.


4
stackexchange fornisce molte domande "correlate" alle tue sulla barra di destra. Per favore, leggili prima, in particolare le strutture algebriche in Informatica .
Uday Reddy,

1
@UdayReddy Grazie. Sto leggendo quelli e alcuni dei link hanno delle buone cose in essi. Tuttavia, idealmente sto cercando un corso di lezioni dal titolo "Un'introduzione all'algebra astratta per gli informatici teorici" (come esempio fittizio casuale) piuttosto che un elenco di risultati CS in cui l'algebra astratta è stata cruciale. Il mio interesse è davvero per algoritmi / teoria e lontano dalla teoria delle categorie, per esempio.
Majid

Risposte:


17

Potresti provare gli appunti del corso di Madhu Sudan: Algebra e Calcolo


Questo risponde alla domanda molto bene. È un peccato che i corsi di "Mathematics for Computer Science" come 6.042 del MIT non sembrano coprire alcuna algebra astratta. Almeno non quelli che ho visto.
Majid

11

Un possibile percorso verso l'algebra astratta potrebbe essere quello di guardarlo dal punto di vista della crittografia, che riguarda gli algoritmi su campo finito. I campi sono anelli e anche i campi sono due gruppi accoppiati da leggi semplici. La teoria dei campi utilizza spazi vettoriali in posizione prominente (teoria di Galois), quindi questo angolo dovrebbe coprire molta algebra astratta. Il libro

Un'introduzione computazionale alla teoria dei numeri e all'algebra di V. Shoup

potrebbe quindi essere di interesse.

La mia raccomandazione personale sarebbe quella di ignorare le applicazioni e studiare un testo di base sulla matematica per studenti universitari sull'algebra astratta. Non mancano quelli. Basta avere fiducia che tutta questa roba sia utile e che l'uso si rivelerà più facilmente una volta che avrai una conoscenza di base del materiale.

La maggior parte dell'algebra di base è costruttiva e puoi facilmente implementare concetti di base per ottenere una migliore comprensione, ad esempio algoritmi che controllano se una tabella di moltiplicazione è un gruppo, un risolutore di equazioni in un gruppo, un programma che controlla se due strutture algebriche sono isomorfe, ecc. di questi problemi hanno soluzioni a forza bruta che sono facili da implementare, ma lente. Più impari sull'algebra, più scorciatoie algoritmiche puoi creare, per accelerare i tuoi programmi. Ad esempio i famosi test di primalità Miller-Rabin e AKS .


1

Dai un'occhiata a questo libro di Rudolf Lidl e Harald Niederreiter: Introduzione ai campi finiti e alle sue applicazioni (2a edizione, 1994) http://www.amazon.com/Introduction-Finite-Fields-their-Applications/dp/0521460948

Citando la descrizione del libro in Amazon: "La teoria dei campi finiti è una branca dell'algebra moderna che è emersa negli ultimi anni a causa delle sue diverse applicazioni in settori come la combinatoria, la teoria dei codici, la crittografia e lo studio matematico dei circuiti di commutazione ".


-1

Oltre alla crittografia, un'applicazione pratica molto bella dell'algebra nell'informatica è forse l'implementazione di frazioni, in cui numeratore e denominatore sono di tipo integrale o "grande numero intero" e la lunghezza di codifica è piccola riducendo le frazioni (cioè prendendo in considerazione il più grande comune divisore di numeratore e denominatore).

Per quanto riguarda i tipi di dati "big integer", un risultato interessante è il cosiddetto "teorema del resto cinese" che consente la parallelizzazione delle operazioni sui numeri interi una volta che una rappresentazione come fattori primi degli argomenti è nota.

Inoltre, la maggior parte delle cose trovate in algebra può essere esteticamente piacevole (solo un punto di vista personale).


2
Non vedo come questo risolva la domanda?
András Salamon,
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.