Обсуждение:Задача о паросочетании максимального веса в дереве, амортизированные оценки для ДП на дереве — различия между версиями
| Строка 5: | Строка 5: | ||
: {{tick | ticked=1}} Не надо писать «Псевдокод на ''C++''», так как это не с++. Просто «Псевдокод»  | : {{tick | ticked=1}} Не надо писать «Псевдокод на ''C++''», так как это не с++. Просто «Псевдокод»  | ||
: {{tick | ticked=1}} Псевдокод надо оформить в виде функции, которая принимает граф в каком-либо его виде, а возвращает максимальный вес паросочетания. Тут же только dfs, и даже неясно, из какой вершины его запускать(видимо, из произвольной, но всё же).  | : {{tick | ticked=1}} Псевдокод надо оформить в виде функции, которая принимает граф в каком-либо его виде, а возвращает максимальный вес паросочетания. Тут же только dfs, и даже неясно, из какой вершины его запускать(видимо, из произвольной, но всё же).  | ||
| − | : {{tick}} Раз упомянул про алгоритм Куна, добавь ссылку на него, он есть в конспектах дискретки второго курса. И на паросочетание добавь.    | + | : {{tick | ticked=1}} Раз упомянул про алгоритм Куна, добавь ссылку на него, он есть в конспектах дискретки второго курса. И на паросочетание добавь.    | 
| − | : {{tick}} еще не хватает категорий  | + | : {{tick | ticked=1}} еще не хватает категорий  | 
| − | : {{tick}} « работает за время <tex>O \left ( \sum_{x=1}^n \limits \left ( Ch \left ( x \right ) \right )^k \right )</tex> для вершины x.». Странно, для вершины x, а вершину x мы перебираем в суммировании. Как-то странно. А еще тут нет модуля, тебе же нужна мощность множества Ch.  | + | : {{tick | ticked=1}} « работает за время <tex>O \left ( \sum_{x=1}^n \limits \left ( Ch \left ( x \right ) \right )^k \right )</tex> для вершины x.». Странно, для вершины x, а вершину x мы перебираем в суммировании. Как-то странно. А еще тут нет модуля, тебе же нужна мощность множества Ch.  | 
| − | : {{tick}} Ch(x) — не множество потомков, а множество сыновей, наверное. Мне кажется, это разные вещи.  | + | : {{tick | ticked=1}} Ch(x) — не множество потомков, а множество сыновей, наверное. Мне кажется, это разные вещи.  | 
| − | : {{tick}} br'ы убирай, для этого есть двойной перевод строки.  | + | : {{tick | ticked=1}} br'ы убирай, для этого есть двойной перевод строки.  | 
== Замечания АС ==  | == Замечания АС ==  | ||
: {{tick | ticked=1}} Определение - множество ребер чего? Надеюсь, графа ;)  | : {{tick | ticked=1}} Определение - множество ребер чего? Надеюсь, графа ;)  | ||
| − | : {{tick}} Опять сразу "заведём массивы a, b и c размерностью n" без формулировки принципов оптимальности  | + | : {{tick | ticked=1}} Опять сразу "заведём массивы a, b и c размерностью n" без формулировки принципов оптимальности  | 
Как следствие, дальнейшие рассуждения выглядят безосновательными.  | Как следствие, дальнейшие рассуждения выглядят безосновательными.  | ||
: {{tick}} А второй раздел с места в карьер начинается утверждением, им и заканчивается. Возникает естественный вопрос: "и что?"  | : {{tick}} А второй раздел с места в карьер начинается утверждением, им и заканчивается. Возникает естественный вопрос: "и что?"  | ||
:: И зачем шаблон убрал, все равно это не изменило бы замечания АС, а форматирование ухудшилось.    | :: И зачем шаблон убрал, все равно это не изменило бы замечания АС, а форматирование ухудшилось.    | ||
| − | : {{tick}} Про утверждение: "алгоритм динамического программирования" - а другой алгоритм не будет так работать, будет дольше?  | + | : {{tick | ticked=1}} Про утверждение: "алгоритм динамического программирования" - а другой алгоритм не будет так работать, будет дольше?  | 
Текущая версия на 07:59, 29 февраля 2012
- ☑ Написать код алгоритма.
 - ☑ Почитать внимательно правила оформления псевдокода, особенно насчёт фигурных скобок и именований переменных
 - ☑ Зачем вводить странную конструкцию типа «переберем блаблабла», можно же написать что-то типа «for w in adjList[v]»? И предка лучше передавать в рекурсии явно, а то непонятно, как без цветов вершин в обходе мы вообще можем узнать, что было предком. --Дмитрий Герасимов 15:26, 27 ноября 2011 (MSK)
 
- ☑ Не надо писать «Псевдокод на C++», так как это не с++. Просто «Псевдокод»
 - ☑ Псевдокод надо оформить в виде функции, которая принимает граф в каком-либо его виде, а возвращает максимальный вес паросочетания. Тут же только dfs, и даже неясно, из какой вершины его запускать(видимо, из произвольной, но всё же).
 - ☑ Раз упомянул про алгоритм Куна, добавь ссылку на него, он есть в конспектах дискретки второго курса. И на паросочетание добавь.
 - ☑ еще не хватает категорий
 - ☑ « работает за время для вершины x.». Странно, для вершины x, а вершину x мы перебираем в суммировании. Как-то странно. А еще тут нет модуля, тебе же нужна мощность множества Ch.
 - ☑ Ch(x) — не множество потомков, а множество сыновей, наверное. Мне кажется, это разные вещи.
 - ☑ br'ы убирай, для этого есть двойной перевод строки.
 
Замечания АС
- ☑ Определение - множество ребер чего? Надеюсь, графа ;)
 - ☑ Опять сразу "заведём массивы a, b и c размерностью n" без формулировки принципов оптимальности
 
Как следствие, дальнейшие рассуждения выглядят безосновательными.
-  ☐ А второй раздел с места в карьер начинается утверждением, им и заканчивается. Возникает естественный вопрос: "и что?"
- И зачем шаблон убрал, все равно это не изменило бы замечания АС, а форматирование ухудшилось.
 
 - ☑ Про утверждение: "алгоритм динамического программирования" - а другой алгоритм не будет так работать, будет дольше?