2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Задача про графы: вершины покрашены в k цветов, сущ. ли путь
Сообщение03.01.2012, 13:57 


03/01/12
19
Помогите, пожалуйста, ответить на вопрос.

Дано дерево из $n$ вершин, которые покрашены в $k$ цветов.
Никакие две смежные вершины не покрашены в один цвет.

Существует ли путь длины $k$ из корня дерева,
с вершинами покрашенными в разные цвета?

Можно ли свести эту задачу к задаче поиска гамильтонова пути
в графе с $k$ вершинами ?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 17:36 


27/01/10
260
Россия
Рассмотрите граф, множество вершин которого есть множество всех цветов графа, а ребро проводится между двумя цветами тогда и только тогда, когда в дереве есть ребро между некоторыми вершинами, окрашенными в эти цвета. В графе есть гамильтонов путь (из вершины-цвета, в который окрашен корень дерева) $\Leftrightarrow$ в дереве есть путь с указанным свойством.

Для получения самого пути нужно рассматривать граф с кратными рёбрами, соответствующими рёбрам исходного дерева.

А почему бы не решать эту задачу каким-нибудь обходом?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 17:55 


03/01/12
19
Огромное спасибо!
Как я понял, такое дерево можно быстро преобразовать в граф для поиска гамильтонова пути.
А можно ли быстро сделать обратную операцию ?

Обход это полный перебор всех возможных путей в дереве ?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 18:36 


27/01/10
260
Россия
Под обходом я имел в виду поиск в глубину например.

Что вы имеете в виду под обратной операцией?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 19:13 


03/01/12
19
Извините за мою безграмотность если что. :oops:

Под обратной задачей я понимал превращение графа с $k$ вершинами в дерево с $n$ вершинами, такое, что если к этому дереву применить преобразования как Вы написали выше, получится исходный граф.

Для решения задачи нахождения пути в дереве с заданным условием (длина $k$ и все вершины разного цвета) поиск в глубину будет экспоненциальным или полиномиальным ?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 19:15 


27/01/10
260
Россия
Ну конечно полиномиальным.

Обратная операция невозможна. Так как одному графу может соответствовать несколько деревьев

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 19:32 


03/01/12
19
Т. е. можно написать обычный поиск в глубину и при каждом заходе в непокрашенную вершину в массиве предков проверять цвета у предыдущих вершин в пути ?
Таким образом путь найдется в худшем за $ (n+n^2) \cdot n$ операций, где $n$ число вершин в дереве ?

Мне кажется что это неверный алгоритм... может надо как то по-другому ?

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 19:46 


27/01/10
260
Россия
Не надо проверять у всех предыдущих. Можно, например, завести стек, в котором хранить цвета вершин в текущем пути.

 Профиль  
                  
 
 Re: Задача про графы
Сообщение03.01.2012, 20:45 


03/01/12
19
А, точно, сразу до меня не дошло, что можно все цвета не проверять. Спасибо!
Наверно можно вместо стека завести массив размером в количество цветов, в который на $i$-ое место ставим $1$ если идем через вершину с цветом $ i$ и ставим $0$ если рекурсия возвращается назад ?

Если можно еще вопрос по этой задаче (думаю над ней весь день уже) :-(

1) Если каждая $i $-ая вершина покрашена не в $1$ цвет, а в $a_i$ цветов (всего цветов $k$), и необходимо найти путь в дереве длиной $d$, такой, что все цвета из вершин этого пути разные. Можно ли это сделать аналогично предыдущей задаче, так же поиском в глубину например ?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group