Size: a a a

2020 May 08

AL

Alexander Litvinov in pro.algorithms
Mikail Bagishov
Ну, если юзер лежит в нескольких группах, надо их все друг с другом склеить.
Эту операцию надо проделать для каждого юзера.

Реализуется через дфс или систему непересекающихся множеств.
Спасибо, пойду думать/пробовать.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Ребят, а у меня вопрос по регулярным выражениям.

Для каждого регулярного выражения строиться свой конечный автомат или они как-то обьеденяются?
источник

ВВ

Вадим Великодный... in pro.algorithms
 ‌‌Gleb Pilipets
Ребят, а у меня вопрос по регулярным выражениям.

Для каждого регулярного выражения строиться свой конечный автомат или они как-то обьеденяются?
Если это независимые регулярки, то зачем их объединять?
источник

i

igor in pro.algorithms
Да бро
источник

i

igor in pro.algorithms
Ты прав
источник

i

igor in pro.algorithms
Регулярные языки замкнуты по обединению пересечение дополнению и т. П.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Вадим Великодный
Если это независимые регулярки, то зачем их объединять?
Ну а что значит независимые?

Ну например, если один автомат можно расширить так, что он будет обрабатывать два регулярных выражения, то значит ли это, что эти регулярные выражения зависимы?

У одного автомата будет выходов уже не 2(match/unmatch), а n(match regex 1, ..., match regex n-1, unmatch)
.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Как бы на листочке можно сделать как два отдельных автомата, так и один на два регулярных выражения
источник

i

igor in pro.algorithms
Это известно
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Вопрос в том, как это работает в языках программирования
источник

i

igor in pro.algorithms
Строишь декартово произведение автоматов
источник

i

igor in pro.algorithms
Оно обработает сколько хочешь языков
источник

A

Andrey in pro.algorithms
igor
Строишь декартово произведение автоматов
И получаешь дохрена вершин
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
igor
Строишь декартово произведение автоматов
А потом минимизируешь?
источник

A

Andrey in pro.algorithms
Практичней использовать несколько автоматов, когда можно
источник

A

Andrey in pro.algorithms
Потому что у одного автомата, даже после минимизации (которая, кстати говоря, по умолчанию не учитывает "разные типы" терминальных состояний), у одного автомата будет только одно текущее состояние.
А у нескольких будет несколько — по одному на каждого. Так что несколько автоматов могут в сумме иметь меньший размер, чем один большой, даже минимизированный.
источник

A

Andrey in pro.algorithms
Ну то есть остаток по модулю 2^32 лучше хранить как 32 автомата с 2 состояниями, а не как один автомат с 2^32 состояниями.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Просто я посмотрел примеры лексеров для языков программирования и там используется отображение регулярных выражений на типы токенов. То есть ответственность за построение автоматов лежит на regex-based engines.
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Andrey
Ну то есть остаток по модулю 2^32 лучше хранить как 32 автомата с 2 состояниями, а не как один автомат с 2^32 состояниями.
🤔
источник

i

igor in pro.algorithms
Andrey
Ну то есть остаток по модулю 2^32 лучше хранить как 32 автомата с 2 состояниями, а не как один автомат с 2^32 состояниями.
Фантастика
источник