Жадный алгоритм в задачах о покрытии/Задачи/ex-depth-tree-for-vertex-covering-1-2 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 1: Строка 1:
 +
<big>Цыганова Светлана, 974 гр.</big>
 +
 
Студент предложил для задачи [[Vertex cover]] приближенный алгоритм с точностью ½:
 
Студент предложил для задачи [[Vertex cover]] приближенный алгоритм с точностью ½:
 
* найти в графе дерево (методом поиска в глубину),
 
* найти в графе дерево (методом поиска в глубину),
Строка 6: Строка 8:
 
Прав ли он? Докажите или опровергните.
 
Прав ли он? Докажите или опровергните.
  
[[Category:Нерешенные задачи]]
+
'''Решение'''
 +
 
 +
Допустим, что наш граф - цепь, вершиной является конец цепи. Рассмотрим на примере - допустим, есть цепь 1-2-3-4-5-6-7. Пусть корнем является вершина №1. Поиск в глубину найдет дерево 1-2-3-4-5-6-7. Если выкинуть из него листья, кроме корневого, то получится дерево 1-2-3-4-5-6. В таком случае студент объявляет, что вершинное покрытие имеет 6 вершин. Но на самом деле в вершинном покрытии 3 вершины - 2,4,6. Таким образом, нужная точность не достигается (отличие ответа алгоритма от настоящего в 2 раза, а не в ½, даже если округлить результат в нужную сторону: 5 вершин лежит в пределах указанной точности, а 6 - уже нет.)
 +
 
 +
Таким образом студент не прав.
 +
 
 +
 
 +
[[Category:На проверку]]

Версия 11:43, 27 ноября 2014

Цыганова Светлана, 974 гр.

Студент предложил для задачи Vertex cover приближенный алгоритм с точностью ½:

  • найти в графе дерево (методом поиска в глубину),
  • выкинуть из него листья (кроме корневого узла).
  • а оставшееся объявить вершинным покрытием.

Прав ли он? Докажите или опровергните.

Решение

Допустим, что наш граф - цепь, вершиной является конец цепи. Рассмотрим на примере - допустим, есть цепь 1-2-3-4-5-6-7. Пусть корнем является вершина №1. Поиск в глубину найдет дерево 1-2-3-4-5-6-7. Если выкинуть из него листья, кроме корневого, то получится дерево 1-2-3-4-5-6. В таком случае студент объявляет, что вершинное покрытие имеет 6 вершин. Но на самом деле в вершинном покрытии 3 вершины - 2,4,6. Таким образом, нужная точность не достигается (отличие ответа алгоритма от настоящего в 2 раза, а не в ½, даже если округлить результат в нужную сторону: 5 вершин лежит в пределах указанной точности, а 6 - уже нет.)

Таким образом студент не прав.