Skip to content

Commit

Permalink
Rewrite task 3 about constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
KubEF committed Sep 7, 2024
1 parent a33be8a commit 760dc61
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@

Полный балл: 5

- [ ] Реализовать тип (`AdjacencyMatrixFA`), представляющий конечный автомат в виде разреженной матрицы смежности из [sciPy](https://docs.scipy.org/doc/scipy/reference/sparse.html) (или сразу её булевой декомпозиции) и информации о стартовых и финальных вершинах. У типа должны быть статические методы `from_dfa` и `from_nfa` для инициализации от `DeterministicFiniteAutomaton` и `NondeterministicFiniteAutomaton` из [Задачи 2](#задача-2-построение-детерминированного-конечного-автомата-по-регулярному-выражению-и-недетерминированного-конечного-автомата-по-графу).
- [ ] Реализовать тип (`AdjacencyMatrixFA`), представляющий конечный автомат в виде разреженной матрицы смежности из [sciPy](https://docs.scipy.org/doc/scipy/reference/sparse.html) (или сразу её булевой декомпозиции) и информации о стартовых и финальных вершинах. У типа должны быть конструктор от `DeterministicFiniteAutomaton` и `NondeterministicFiniteAutomaton` (первый является подклассом второго, так что можно не различать их явно) из [Задачи 2](#задача-2-построение-детерминированного-конечного-автомата-по-регулярному-выражению-и-недетерминированного-конечного-автомата-по-графу).
- [ ] Реализовать функцию-интерпретатор для типа `AdjacencyMatrixFA`, выясняющую, принимает ли автомат заданную строку и является ли язык, задающийся автоматом, пустым. Для реализации последней функции рекомендуется использовать транзитивное замыкание матрицы смежности.
- Требуемые функции:
```python
Expand Down Expand Up @@ -90,7 +90,6 @@

- [ ] Используя [разреженные матрицы из sciPy](https://docs.scipy.org/doc/scipy/reference/sparse.html) реализовать **функцию** достижимости с регулярными ограничениями с несколькими стартовыми вершинами (алгоритм на основе multiple source BFS через линейную алгебру).
- Для конструирования регулярного запроса и графа использовать [Задачи 2](#задача-2-построение-детерминированного-конечного-автомата-по-регулярному-выражению-и-недетерминированного-конечного-автомата-по-графу).
- Для каждой из стартовых вывести множество достижимых из неё.
- Требуемая функция:
```python
def ms_bfs_based_rpq(regex: str, graph: MultiDiGraph, start_nodes: set[int],
Expand Down

0 comments on commit 760dc61

Please sign in to comment.