2013-05-13 2 views
0

Я студент по информатике среди предметов, которые изучаю Аннотация Алгебра, особенно Group theory.Контекст между абстрактной алгеброй и программированием

Я программирую около 5 лет, и я никогда не использовал такие вещи, как я узнал в абстрактной алгебре.

Каков контекст между программированием и абстрактной алгеброй? Я действительно должен знать.

ответ

1

Теория групп очень важна для криптографии, например, особенно для конечных групп в асимметричных схемах шифрования, таких как RSA и El Gamal. Они используют конечные группы, основанные на умножении целых чисел. Однако существуют и другие, менее очевидные типы групп, которые применяются в криптографии, такие как эллиптические кривые.

Другое применение теории групп или, если быть более конкретным, конечных полей, является контрольной суммой. Широко используемый механизм контрольной суммы CRC основан на модулярной арифметике в полиномиальном кольце конечного поля GF (2).

Еще одно абстрактное применение теории групп - это функциональное программирование. Фактически, все эти приложения существуют на любом языке программирования, но языки функционального программирования, особенно Haskell и Scala (z), охватывают его, предоставляя классы типов для алгебраических структур, таких как моноиды, группы, кольца, поля, векторные пространства и т. Д. , Преимущество этого заключается, очевидно, в том, что функции и алгоритмы могут быть заданы очень общим, высокоуровневым способом.

На мета уровне я бы также сказал, что понимание базовой математики, такой как это, важно для любого компьютерного ученого (не столько для программиста, сколько для компьютерного ученого - определенно), так как он формирует ваш весь способ мышления и необходим для более продвинутой математики. Если вы хотите делать 3D-графику или программировать промышленный робот, вам понадобится линейная алгебра, а для линейной алгебры вы должны знать хотя бы некоторую абстрактную алгебру.

1

Я не думаю, что есть какой-либо контекст между теорией групп и программированием ... или, скорее, ваш вопрос не имеет никакого смысла. Существуют приложения программирования к алгебре и наоборот, но они не связаны друг с другом или взаимно выгодны друг другу, так сказать.

Если вы являетесь ученым-компьютерщиком, пытающимся решить некоторые интересные проблемы абстрактных алгебр, существует множество проблем с перечислением и классификацией, которые могут извлечь выгоду из вычислительного подхода, над которым нужно работать в теории геометрических групп, которая является горячей темой на данный момент, здесь довольно обширный список исследователей и проблем (от 3-х лет назад, по крайней мере)

http://www.math.ucsb.edu/~jon.mccammond/geogrouptheory/people.html

популярных проблемы включают конечно определенные группы, классификацию групп перестановок переходных Мобиус функций, полициклические генерирующие системы

и эти

http://en.wikipedia.org/wiki/Schreier -Sims_algorithm

http://en.wikipedia.org/wiki/Todd -Coxeter_algorithm

и проблема, которая дала мне много бессонных ночей

http://en.wikipedia.org/wiki/Word_problem_for_groups

Существующие системы включают алгебры GAP и MAGMA

наконец отличная ссылка

http://books.google.com/books?id=k6joymrqQqMC&printsec=frontcover&dq=finitely+presented+groups+book&hl=en&sa=X&ei=WBWUUqjsHI6-sQTR8YKgAQ&ved=0CC0Q6AEwAA#v=onepage&q=finitely%20presented%20groups%20book&f=false

Смежные вопросы

 Смежные вопросы