| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Алгоритм вычисления DG-базиса |
| Автор: denis10 14.12.2010, 16:59 |
| помогите написать программу на с++ вот алгоритм: Для замкнутой системы квазизамкнутых подмножеств используется алгоритм NEXT CLOSE, в котором в качестве оператора замыкания используется оператор L* -замыкания. Обычно, для краткости, говорят, что вычисляется следующее квазизамыкание подмножества , и используется обозначение NEXT_ L* _CLOSE(A). Квазизамкнутые подмножества порождаются в лексическом порядке. Их них сохраняются только такие, которые не являются замкнутыми (и, следовательно, являются псевдо-замкнутыми). Так как квазизамкнутые подмножества порождаются в лексическом порядке, то на каждом шаге имеется полная информация о лексически предшествующих псевдо-замкнутых подмножествах. Этого достаточно для вычисления очередного квази-замыкания. Алгоритм вычисления DG-базиса Вход: Оператор замыкания X->X`` на конечном множестве M , например, заданный формальным контекстом.заданный формальным контекстом K. Выход: DG-базис. Метод: 1. L := 0 2. while A не равно М do 3. begin 4. if A не равно A`` them L:= L объединяет{A-> A``} 5. A:= NEXT _ L* _ CLOSE(A) 6. end |
| Автор: Pavia 14.12.2010, 19:57 |
| denis10, Этот алгоритм применяется при переводи NFA в DFA. Реализацию можно подсмотреть сдесь. http://swtch.com/~rsc/regexp/dfa0.c.txt |
| Автор: denis10 24.12.2010, 22:38 |
| спасибо, но это не много не то!!! мне нужно получить базис импликации!!! найти псевдо-замкнуты подмножество |
| Автор: denis10 27.12.2010, 22:46 |
| ау!!! |