Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Алгоритм вычисления 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
ау!!!  smile  помогите!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)