Для чого використовують групи, моноїди та кільця в обчисленнях бази даних?


38

Чому така компанія, як Twitter, зацікавлена ​​в таких алгебраїчних поняттях, як групи, моноїди та кільця? Перегляньте їх сховище в github: twitter / algebird .

Все, що я міг знайти, це:

Реалізація Monoids для цікавих алгоритмів наближення, таких як фільтр Bloom , HyperLogLog та CountMinSketch . Вони дозволяють думати про такі складні операції, як ти, можливо, чисел, і додавати їх у hadoop або в Інтернеті для отримання потужної статистики та аналітики.

та в іншій частині сторінки GitHub:

Спочатку він був розроблений як частина Matrix API Scalding , де в матрицях були значення, що є елементами моноїдів , груп або кілець . Згодом було зрозуміло, що код мав ширше застосування в межах Scalding та інших проектів у Twitter.

Якою може бути ця більш широка програма? у Twitter та для загального інтересу?


Схоже, складові бази даних мають моноїдну структуру.

Те саме питання щодо Quora: Чим зацікавлений Твіттер у абстрактній алгебрі (з алгебридом)?


У мене математика, але я не є вченим. Було б чудово використовувати «реальні» використання моноїдів та напівгруп. Вони, як правило, вважаються марними теоретичними конструкціями і ігноруються в багатьох абстрактних курсах з алгебри (через відсутність нічого цікавого сказати).


1
Я знайшов цю приємну статтю привіт HackerNews news.ycombinator.com/item?id=5196708 "Алгебра типів алгебраїчних даних"
John mangual

погодився, вважай, що дивно щебечуть у цих районах, його досить абстрактно. Основна ідея, як видається, є багаторазовими компонентами для системи, подібної до Mapreduce. Альгеберд, схоже, «відкинувся» від ошпарювання. ось розмова про ошпарювання . однак алгебраїчні об'єкти не згадуються. можливо, вони можуть бути використані як примітивні об'єкти даних / типи для маніпулювання потоками даних, які також відображаються у стилі функціонального програмування ....
vzn

Короткий обмін з автором осквернення його algebirdбібліотеки, у Twitter: twitter.com/posco/status/300692719561482240
Джон Мангуал

2
Я б сильно заперечував твердження, що одночасно моноїди та напівгрупи вважаються "марними теоретичними конструкціями", оскільки обидва мають досить корисні результати як у самій математиці, так і в теорії категорій та для моделювання різних інших алгебраїчних структур. З якої галузі математики ви берете, що вважає напівгрупи "марними"?
Стівен Стадницький

Можливо, синтаксичний моноїд формальної мови є актуальним, хоча він не згадується у відповідях. Хоча я очікую, як і багато відповідей, що це стосується обчислень загалом, а не обчислень баз даних.
PJTraill

Відповіді:


27

Основна відповідь полягає в тому, що, використовуючи структуру напівгруп, ми можемо будувати системи, які правильно паралелізуються, не знаючи основної операції (користувач обіцяє асоціативність).

Використовуючи Monoids, ми можемо скористатись ощадливістю (ми маємо справу з великою кількістю розріджених матриць, де майже всі значення є нулем у деяких Monoid).

Використовуючи Кільця, ми можемо робити матричне множення на інші речі, крім чисел (що це було зроблено).

Сам проект algebird (як і історія випусків) досить чітко пояснює, що тут відбувається: ми будуємо багато алгоритмів для агрегації великих наборів даних, а використання структури операцій дає нам виграш на стороні систем (що зазвичай є больовою точкою при спробі виробити алгоритми на 1000-ти вузлах).

Вирішіть системні проблеми один раз для будь-якої Semigroup / Monoid / Group / Ring, і тоді ви можете підключити будь-який алгоритм, не замислюючись про Memcache, Hadoop, Storm тощо.


4
Чи може хтось розширити зв'язок між розрідженими матрицями та нулями в деяких Monoid?
vzn

кілька посилань на приклади чи подальше читання було б дуже приємно
Ерік Аллік

11

Моноїди є всюдисущими в програмуванні, тільки що більшість програмістів не знає про них.

  • Числові операції, такі як додавання та множення.
  • Матричне множення.
  • По суті всі структури схожих на збір даних утворюють моноїди, де моноїдна операція є конкатенацією або об'єднанням. Сюди входять списки, набори, карти ключів до значень, різні види дерев тощо.
  • AAAAA

abab

Оскільки моноїди настільки загальні, вони дозволяють писати дуже загальні функції. Наприклад, складання даних над структурою даних може бути виражене як відображення кожного її елемента в моноїд, а потім використання моноїдної операції для об'єднання їх до єдиного результату.

aantimesO(logn)

  • швидке експоненцію чисел;
  • O(logn)
  • O(1)O(log(min(n1,n2)))
  • тощо.

Більше прикладів див. Приклади моноїдів / напівгруп у програмуванні .


7

Одна важлива проблема в розподілених файлових системах ( DFS ) - це генерувати файли з розподілених блоків. Область коду стирання з теорії інформації та алгебри (групи, кільця, лінійна алгебра, ...) широко використовується в розподілених файлових системах, що мають толерантність до помилок, наприклад, у HDFS RAID (файлова система на базі Hadoop). Соціальна мережа та хмарні компанії широко базуються на DFS, тому їм потрібні люди, які освоюють Алгебру та Кодекс стирання, щоб створити більш якісні та високопродуктивні системи (наприклад, коди Ріда-Соломона тощо).

Це також хороший плакат для їх застосування (алгебри) у хмарному сховищі: Нові коди для хмарного зберігання


6

Якщо ваше питання є

Які приклади груп, моноїдів та кілець у обчисленні?

то один із прикладів, які я можу придумати, - це алгоритми пошуку шляхів у теорії графів. Якщо ми визначимо семірінг із+ як хв і як +, тоді ми можемо використовувати матричне множення за допомогою матриці суміжності, щоб знайти всі пари-найкоротший шлях. Цей метод фактично описаний у CLRS.

Хоча це може здатися лише теоретичним з алгебраїчної точки зору, це дозволяє нам використовувати дуже сильно оптимізовані бібліотеки лінійних алгебр для задач графіків. Комбінаторна BLAS - одна з таких бібліотек.


1
Так, і ми додали minplus зробити це саме так: github.com/twitter/algebird/blob/develop/algebird-core/src/main/…
Оскар Бойкін

4

Сукупність усіх слів над деяким кінцевим алфавітом разом із конкатенацією утворює вільний моноїд (Σ,). Тому все поле формальної мови можна розглядати через алгебраїчну лінзу, і її іноді викладають так.

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


3

У мене математика, але я не є вченим. Було б чудово використовувати «реальні» використання моноїдів та напівгруп. Вони, як правило, вважаються марними теоретичними конструкціями і ігноруються в багатьох абстрактних курсах з алгебри (через відсутність нічого цікавого сказати).

Занадто багато цікавого сказати. Однак це скоріше тема дискретної математики та комбінаторики, ніж абстрактна алгебра та аналіз, принаймні для менш тривіальних тем. Існує також питання, скільки ви повинні знати про певну тему, перш ніж ви зможете сказати комусь іншому, це буде цікавою математичною темою, пов’язаною з моноїдами та напівгрупами. Наприклад, мені цікаві такі теми (пов'язані з напівгрупами):

  • кінцеві напівгрупи та теорія Крона-Родоса
  • часткові симетрії, зворотні напівгрупи, групоїди та квазікристали
  • піврічки та тропічна геометрія
  • часткові порядки та функції Мебіуса
  • субмодульні функції та (подібні Дульмаге-Мендельсону) розкладання

Чи багато я знаю про кожну з цих тем? Напевно, ні. Існує також багато більше математичних тем, пов’язаних з моноїдами та напівгрупами, деякі з них є більш внутрішніми для самої теорії напівгруп (як відносини Гріна), інші - загальніші та не характерні для напівгруп (універсальні напівгрупи, теореми гомоморфізму та ізоморфізму, коефіцієнти коефіцієнтів та конгруенції), але також важливі з математичної точки зору. Тематика, яку я цитував вище, здебільшого має додатки "реального світу", але є й інші пов'язані теми, які також мають додатки "реального світу".


Сказане не є відповіддю на реальне запитання, а лише стосується зауваження "... зазвичай вважаються марними теоретичними конструкціями ... за відсутності нічого цікавого сказати ...". Тож я перерахував деякі "цікаві" моменти, стверджував, що в основному вони мають додатки "реального світу", і тепер Hi-Angel запитує трохи інформації про ці програми. Але оскільки "існує занадто багато цікавого для того, щоб сказати", не чекайте занадто багато від цієї інформації: теорема Крона-Родоса є про декомпозицію для кінцевих напівгруп. Його застосування передбачає інтерпретацію виробу з вінка як свого роду композиції (перетворювачів) у зв'язку з теорією автоматів і звичайними мовами,Марк V Лоусон: дві лекції з підручника та допоміжний матеріал, що міститься (404 зараз) хорошого матеріалу про обернені напівгрупи . Основою для їх застосування є їх з'єднання з симетричною оберненою напівгрупою , тобто безліччю всіх часткових біекцій на множині. основних алгебраїчних характеристик зворотних напівгруп, але такий підхід ризикує знехтувати зв’язками з частковими порядками, які важливі для багатьох застосувань. Якось мені доведеться вести блог про конкретне застосування зворотних напівгруп як "ієрархію", що використовується для стиснення макетів напівпровідників. . Застосування семірінгів уже описано в інших відповідях (і тропічна геометрія відведе нас далеко від інформатики). Оскільки моноїди і напівгрупи також пов'язані з частковими порядками, такі приємні теми, як функції Мебіуса, як описано в " Комбінаторика: Шлях Рота" , також пов'язані. А потім також пов'язані такі теми з " Матриць" та "Матроїдів для системного аналізу", як декомпозиція Дульмаге-Мендельсона , які були однією з моїх мотивацій до вивчення теорії решіток (та прихованих ієрархічних структур).


Не те, щоб я скаржився, але я думаю, що якщо ви додасте трохи інформації про реальні програми застосування перелічених пунктів, у вас було б набагато більше результатів.
Привіт-Ангел

1
@ Привіт-Ангел Наведене вище не є відповіддю на реальне запитання, а лише стосується коментаря "... марний теоретичний конструкт ... відсутність нічого цікавого сказати ...". Це натякає на те, що я, можливо, не є найбільш кваліфікованою особою для вирішення цього питання: "Чи знаю я багато про кожну з цих тем? Напевно, ні". Моя найвища проголосована посада потрапляє до тієї ж категорії. Бенджамін Штейнберг називає це "токсичною" областю , і він би був кваліфікований для "відповіді" ...
Томас Клімпель,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.