Ich habe eine vernünftige Grundausbildung in Mathematik, war aber noch nie zu 100% mit abstrakter Algebra (der Mathematik von Gruppen, Ringen, Feldern usw.) vertraut. Ich denke, dies war zum Teil so, wie ich es brauchte, um Anwendungen zu sehen, und alle, die ich finden konnte, befanden sich in der Physik, nicht in CS. Da ich mich wirklich für CS interessiere, gibt es jetzt Materialien (Online-Entwürfe, Vorlesungsunterlagen, Videos, Bücher), die sich mit abstrakter Algebra aus der Sicht von Anwendungen in CS und insbesondere Algorithmen / Theorie befassen? Ich bin froh, dass diese Anwendungen vollständig theoretisch sind, aber sie sollten keine bereits vorhandenen abstrakten Algebra-Kenntnisse voraussetzen.
Ich bin mir ziemlich sicher, dass diese Ressourcen von einer großen Anzahl von CS-Forschern geschätzt würden, wenn sie existieren würden.
quelle
Antworten:
Sie können die Notizen aus dem Kurs von Madhu Sudan ausprobieren: Algebra und Berechnung
quelle
Ein möglicher Weg in die abstrakte Algebra könnte darin bestehen, sie aus Sicht der Kryptographie zu betrachten, bei der es um Algorithmen auf dem endlichen Feld geht. Felder sind Ringe, und Felder sind auch zwei Gruppen, die durch einfache Gesetze verbunden sind. Die Feldtheorie verwendet Vektorräume in prominenter Position (Galois-Theorie), daher sollte dieser Winkel eine Menge abstrakter Algebra abdecken. Das Buch
Eine rechnergestützte Einführung in Zahlentheorie und Algebra von V. Shoup
könnte daher von Interesse sein.
Meine persönliche Empfehlung wäre, Bewerbungen zu ignorieren und einen Grundlagentext für Mathematik über abstrakte Algebra zu studieren. Daran mangelt es nicht. Vertrauen Sie einfach darauf, dass all dieses Zeug nützlich ist und dass sich die Verwendung leichter zeigt, sobald Sie ein grundlegendes Verständnis für das Material haben.
Die meiste grundlegende Algebra ist konstruktiv und Sie können einfach grundlegende Konzepte implementieren, um ein besseres Verständnis zu erlangen, z. B. Algorithmen, die prüfen, ob eine Multiplikationstabelle eine Gruppe ist, ein Gleichungslöser in einer Gruppe, ein Programm, das prüft, ob zwei algebraische Strukturen isomorph sind usw. Die meisten Von diesen Problemen gibt es Brute-Force-Lösungen, die einfach zu implementieren, aber langsam sind. Je mehr Sie über Algebra lernen, desto mehr algorithmische Verknüpfungen können Sie erstellen, um Ihre Programme zu beschleunigen. ZB die berühmten Miller-Rabin- und AKS- Primalitätstests.
quelle
Lesen Sie dieses Buch von Rudolf Lidl und Harald Niederreiter: Einführung in endliche Felder und ihre Anwendungen (2. Auflage, 1994) http://www.amazon.com/Introduction-Finite-Fields-their-Applications/dp/0521460948
Zitat aus der Buchbeschreibung in Amazon: "Die Theorie der endlichen Felder ist ein Zweig der modernen Algebra, der in den letzten Jahren aufgrund seiner vielfältigen Anwendungen in Bereichen wie Kombinatorik, Codierungstheorie, Kryptologie und dem mathematischen Studium von Schaltkreisen in den Vordergrund gerückt ist . "
quelle
Eine sehr praktische Anwendung der Algebra in der Informatik ist neben der Kryptographie vielleicht die Implementierung von Brüchen, bei denen Zähler und Nenner vom Typ Integral oder "große ganze Zahl" sind und die Codierungslänge durch Reduzieren von Brüchen (dh Ausklammern der größten gemeinsamen Zahl) kepts klein ist Teiler von Zähler und Nenner).
In Bezug auf Datentypen mit "großen ganzen Zahlen" ist das sogenannte "chinesische Resttheorem" ein interessantes Ergebnis, das die Parallelisierung von Ganzzahloperationen ermöglicht, sobald eine Darstellung als Primfaktoren der Argumente bekannt ist.
Darüber hinaus kann der Großteil der in der Algebra enthaltenen Inhalte ästhetisch ansprechend sein (nur aus persönlicher Sicht).
quelle