Информационный портал Media Systems & Bear Corp.

Главная Новости Delphi C&C++ Tеория Графов Web-Design Математика Исходники и Проекты Лисп и Пролог Ссылки

Портал :: Математика :: ФАЛ
Преобразование ФАЛ к Конъюнктивной Совершенно Нормальной Форме (КСНФ).  

 

By Bear:

Построение КСНФ:

  1. В табличном представлении функции выбираем наборы, на которых функция принимает значение 0.
  2. Выписываем дизъюнкции вида X1&X2&..&Xn таким образом, что если Xi=0 в этом наборе, то записываем его напрямую, а если Xi=1 в этом наборе, то - с отрицанием.
  3. Полученные конъюнкции объединяем операцией конъюнкции.

By d'AEON:

Здесь приведен алгоритм построения КСНФ на базе FP32 для языка Delphi32  абсолютно аналогичный алгоритму построения ДСНФ за исключением незначительных изменений.

Переменные : Combinations – число комбинаций значений переменных.
            Count – число переменных.
           Cells – наша таблица типа TFTable;
            F  - текстовый файл,  в  который выводится аналитически нормализованная форма для выходной функции FP32 Imaging)

procedure TForm7.KSNF;

var i,j:integer;

    f:textfile;

    a:integer;

begin

a:=0;

assignfile(f,'temp.io');

rewrite(f);

for j:=1 to combinations do

 if cells[count-1,j]='0' then begin

  if a>1 then writeln(f,'&');

  for i:=1 to count-1 do

  if i<>count-1 then

   if cells[i,j]='0' then write(f,atoms[i],'v')

   else write(f,'_',atoms[i],'v')

  else

   if cells[i,j]='0' then write(f,atoms[i])

   else write(f,'_',atoms[i]);

  a:=2;

 end;

closefile(f);

end;

В atoms вы можете закинуть необходимые вам имена переменных но лучше придерживаться стандартов для FP32 .

 
     
  Гостевая книга . Связь с разработчиками: Bear Corporation, Media Studio.  
  Это место для вашей рекламы  

Дизайн: Bear Corner, Inc. & Media Sudio.
Последнее обновление: 29.03.2001.

Rambler's Top100 Rambler's Top100
Hosted by uCoz