Редактирование: Основы Кибернетики, Алгоритмы решения задач/Задачи на ДНФ

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 60: Строка 60:
* (&minus; 0 1) &rarr; <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub>
* (&minus; 0 1) &rarr; <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub>
-
В результате получим сокращённую ДНФ ''x''<sub>1</sub> ∨ ''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub>
+
В реузльтате получим сокращённую ДНФ ''x''<sub>1</sub> ∨ ''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub>
==== Метод Блейка ====
==== Метод Блейка ====
Строка 158: Строка 158:
В результате получаем сокращённую ДНФ <span style="border-top:solid 1px">''x''</span><sub>1</sub><span style="border-top:solid 1px">''x''</span><sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>1</sub>''x''<sub>3</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ ''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub>''x''<sub>4</sub> ∨ ''x''<sub>1</sub>''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub> ∨ ''x''<sub>1</sub><span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub> ∨ ''x''<sub>1</sub>''x''<sub>4</sub>
В результате получаем сокращённую ДНФ <span style="border-top:solid 1px">''x''</span><sub>1</sub><span style="border-top:solid 1px">''x''</span><sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>1</sub>''x''<sub>3</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ <span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub><span style="border-top:solid 1px">''x''</span><sub>4</sub> ∨ ''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub>''x''<sub>4</sub> ∨ ''x''<sub>1</sub>''x''<sub>2</sub><span style="border-top:solid 1px">''x''</span><sub>3</sub> ∨ ''x''<sub>1</sub><span style="border-top:solid 1px">''x''</span><sub>2</sub>''x''<sub>3</sub> ∨ ''x''<sub>1</sub>''x''<sub>4</sub>
- 
- 
- 
-
нужно обьединить в прямоугольник единицу (с координатами [1;1]) с единицей ,у которой координаты [4;1]
 
-
нужно обьединить в прямоугольник единицу (с координатами [4;1]) с единицей ,у которой координаты [4;4]
 
-
прокомментировал getbraine e-mail v000du@gmail.com
 
==== Построение сокращенной ДНФ по совершенной ДНФ при помощи алгоритма Квайна ====
==== Построение сокращенной ДНФ по совершенной ДНФ при помощи алгоритма Квайна ====
Строка 171: Строка 165:
xK v (not x)K = xK v (not x)K v K
xK v (not x)K = xK v (not x)K v K
2)пока возможно поглощение
2)пока возможно поглощение
-
3) i++; if (i<=n) goto 1
+
3) i++; if (i<=n) goto 0
=== Построение ДНФ Квайна ===
=== Построение ДНФ Квайна ===
Строка 356: Строка 350:
Далее, определим ядровые точки, то есть те &alpha;<sub>i</sub>, у которых в столбце только одна единица. Таковыми являются &alpha;<sub>1</sub>, &alpha;<sub>3</sub>, &alpha;<sub>5</sub>, &alpha;<sub>7</sub>, &alpha;<sub>9</sub>, &alpha;<sub>10</sub>. Соответственно, ядровыми гранями являются те грани, которые соответствуют конъюнкциям, которым принадлежат ядровые вершины (смотрим на строки, в которых хотя бы для одного из выбранных столбцов &alpha;<sub>i</sub> стоит единица), то есть K<sub>1</sub>, K<sub>2</sub>, K<sub>4</sub>, K<sub>5</sub>, K<sub>7</sub>. Дизъюнкция этих конъюнкций есть пересечение тупиковых.
Далее, определим ядровые точки, то есть те &alpha;<sub>i</sub>, у которых в столбце только одна единица. Таковыми являются &alpha;<sub>1</sub>, &alpha;<sub>3</sub>, &alpha;<sub>5</sub>, &alpha;<sub>7</sub>, &alpha;<sub>9</sub>, &alpha;<sub>10</sub>. Соответственно, ядровыми гранями являются те грани, которые соответствуют конъюнкциям, которым принадлежат ядровые вершины (смотрим на строки, в которых хотя бы для одного из выбранных столбцов &alpha;<sub>i</sub> стоит единица), то есть K<sub>1</sub>, K<sub>2</sub>, K<sub>4</sub>, K<sub>5</sub>, K<sub>7</sub>. Дизъюнкция этих конъюнкций есть пересечение тупиковых.
-
Для нахождения всех тупиковых ДНФ построим КНФ, элементарныё дизъюнкции которой будут состоять из БП, соответствующих тем конъюнкциям, в которые входит рассматриваемая точка &alpha;<sub>i</sub> (то есть, всего дизъюнкций столько же, сколько есть точек, где функция принимает единичное значение, причём первая дизъюнкция будет содержать те БП, которые соответствуют тем ЭК, которым принадлежит &alpha;<sub>1</sub> (в данном примере это K<sub>1</sub>), вторая — те, которые соответствуют ЭК, которым принадлежит &alpha;<sub>2</sub> (K<sub>1</sub>, K<sub>2</sub>, K<sub>3</sub>), и так далее):
+
Для нахождения всех тупиковых ДНФ построим КНФ, элементарныё дизъюнкции которой будут состоять из БП, соответствующих тем конъюнкциям, в которые входит рассматриваемая точка &alpha;<sub>i</sub> (то есть, всего дизъюнкций столько же, сколько есть точек, где фугкция принимает единичное значение, причём первая дизъюнкция будет содержать те БП, которые соответствуют тем ЭК, которым принадлежит &alpha;<sub>1</sub> (в данном примере это K<sub>1</sub>), вторая — те, которые соответствуют ЭК, которым принадлежит &alpha;<sub>2</sub> (K<sub>1</sub>, K<sub>2</sub>, K<sub>3</sub>), и так далее):
K<sub>1</sub> & (K<sub>1</sub> ∨ K<sub>2</sub> ∨ K<sub>3</sub>) & K<sub>2</sub> & (K<sub>3</sub> ∨ K<sub>6</sub>) & K<sub>4</sub> & (K<sub>4</sub> ∨ K<sub>5</sub> ∨ K<sub>7</sub>) & K<sub>5</sub> & (K<sub>6</sub> ∨ K<sub>7</sub>) & K<sub>7</sub> & K<sub>7</sub>
K<sub>1</sub> & (K<sub>1</sub> ∨ K<sub>2</sub> ∨ K<sub>3</sub>) & K<sub>2</sub> & (K<sub>3</sub> ∨ K<sub>6</sub>) & K<sub>4</sub> & (K<sub>4</sub> ∨ K<sub>5</sub> ∨ K<sub>7</sub>) & K<sub>5</sub> & (K<sub>6</sub> ∨ K<sub>7</sub>) & K<sub>7</sub> & K<sub>7</sub>

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Шаблоны, использованные на этой странице:

Разделы