Home
Maxim Babenko's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Maxim Babenko's LiveJournal:

    [ << Previous 20 ]
    Sunday, September 13th, 2009
    5:45 pm
    Пользуясь случаем, хочу сделать объявление про спецкурс, который собираюсь читать в наступившем семестре. На раз этот планируется годовой курс про теорию потоков. Рассказывать предполагается с нуля, так что никаких предварительных знаний не потребуется.

    Занятия будут проходить на 5-й паре по пятницам начиная с 18 сентября, ауд. 1327.
    Приходите :)

    Под катом -- список тем первого семестра )

    Current Mood: calm
    Thursday, July 30th, 2009
    9:08 am
    С 1 по 14 августа буду в Хорватии. Если что-то срочное, пишите SMS. Почту постараюсь не читать.

    Всем привет ;)

    Current Mood: busy
    Saturday, June 6th, 2009
    2:40 pm
    Пушкин
    Рассказывают, что литературный мир отмечает сегодня 210-летие со дня рождения нашего выдающегося поэта.

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

    Поздравляю всех причастных, сочувствовавших и помогавших :)

    Тем временем, пора в отпуск.
    Saturday, April 11th, 2009
    1:30 pm
    Мы тут подумали немного с Игнатом Колесниченко и Ильей Разенштейном ([info]ilyaraz) и посчитали, что вот такую задачу умеем решать за O(E + V log V):

    Задан ненаправленный граф и 6 различных терминалов: s1, s2, s3, t1, t2, t3. Нужно провести три не пересекающихся по ребрами пути: из s1 в t1, из s2 в t2 и из s3 в t3. При этом степени всех терминалов нечетные, а остальных вершин четные.

    Хочется быстрее :) Может кто-нибудь что-нибудь придумает?

    Чтобы почувствовать, что дает условие на степени, можно начать с задачи, где всего две пары терминалов, и понять, что задачи там как таковой нет.

    Update: всем спасибо, с помощью некоторого трюка с инкрементальной достижимостью задача решилась за линейное время. Заодно нашлась интересная ссылка для случая 2 пар и безо всякой эйлеровости: http://www.springerlink.com/content/efw5mb2rfhj75pcm/
    Tuesday, March 24th, 2009
    11:45 pm
    Завтра утром улетаю в Ханты-Мансийск. Вернусь в понедельник вечером. Вероятно, почту читать буду, но в случае надобности лучше звонить.

    Всем привет.
    Saturday, March 21st, 2009
    12:55 pm
    Друзья,

    Никто из вас случайно не собирается в Питер в ближайшее время?

    Одному хорошему человеку нужно передать туда записанную болванку. Естественно, забирающая сторона встретит у поезда.

    Заранее спасибо.
    Thursday, March 5th, 2009
    9:53 pm
    Бывает, что приходит в жизни момент, когда нужно забросить сомнения и сделать что-то неожиданное и слегка невозможное. Сделать для того, чтобы чуть лучше узнать себя. Сделать это для кого-то близкого, заранее понимая, каков будет итог.

    Завтра утром нас ждет трасса М10 и, похоже, в ее плену мы проведем как минимум день. Всем друзьям из Питера неожиданный привет, я еду к вам :) В субботу-воскресение надеюсь оказаться в вашей теплой компании и побывать на кораблике. А уже в понедельник обратный путь домой.

    Такие вот планы :)

    P.S. Дорогие слушатели спецкурса по пятницам! Как вы, наверное, поняли, завтрашнее занятие не состоится. Буду очень признателен, если повесите соответствующее объявление на кафедре. Я, увы, это сделать уже не успеваю.
    Saturday, February 28th, 2009
    11:07 am
    Инкрементальный топологический порядок
    Известна такая простая, на первый взгляд, задача: в исходно пустой направленный граф последовательно добавляют дуги. После каждого запроса на добавление требуется перестроить в текущем графе топологический порядок, либо предъявить цикл.

    Совсем недавно на ISAAC 2008 в Австралии слушал приглашенную лекцию Tarjan-а на эту тему. Если кратко суммировать результаты, которые он упомянул, то получается следующее:

    1) O(V) времени на каждую добавляемую дугу несложно получить с помощью некоторого инкрементального DFS
    2) O(E^{1/2}) достичь также можно, но потребуются не вполне тривиальные структуры данных плюс bidirected search

    И вот сюрприз, оказывается, задачу можно решить за время O(V^2 log V) на все E добавлений. Соответствующая статья принята на SODA 2009, а текст доступен здесь.

    Внимательно пока не изучал, но судя по всему там что-то вполне понимаемое. Приятно осознавать, что даже в таких фундаментальных задачах все еще возможны прорывы. История творится на наших глазах, между прочим ;)

    P.S. Кстати, дорогие питерские друзья, я к вам обещался с лекцией в ПОМИ. Рассказать как раз хотелось про данную задачу. Теперь материала прибавилось.
    Wednesday, September 10th, 2008
    3:51 pm
    Объявления
    В осеннем семестре 2008-2009 года я буду читать на мехмате спецкурс про приближенные алгоритмы. На нем будет рассказано о задачах из разнообразных разделов computer science (теория графов, строковые алгоритмы, булевы формулы, вычислительная геометрия), для которых не известно эффективного точного решения. Более того, для подавляющего большинства этих задач в предположении P != NP полиномиальных алгоритмов заведомо нет.

    Вот типичный (и весьма неполный) список таких проблем:
    1. минимальные целочисленные покрытия и максимальные целочисленные упаковки
    2. деревья Штейнера и задача коммивояжера
    3. максимальная выполнимость булевых формул
    4. кратчайшие общие надстроки
    5. максимальные разрезы в графах
    6. подсчет числа выполняющих наборов для булевых формул
    7. вычисление параметров надежности сетей
    8. кратчайшие целочисленные векторы в решетках
    Оказывается, что даже если точное решение в этих задачах и не может быть найдено эффективно, существуют алгоритмы, вычисляющие за полиномиальное время приближения к оптимуму с определенной гарантированной точностью. Именно их мы и рассмотрим на наших занятиях.

    Первое занятие состоится в пятницу 12 сентября в 16:45. Сбор в 16:40 у кафедры математической логики и теории алгоритмов (ауд. 1605). Приглашаются все желающие.


    Одновременно, у нас начинает работать спецсеминар по комбинаторной оптимизации и теории алгоритмов. Данный семинар ориентирован в первую очередь на младшекурсников. Его целью является познакомить слушателей с типичными методами, используемыми в комбинаторной оптимизации -- разделе математики, изучающим способы нахождения экстремумов функций, заданных на наборах комбинаторных объектов (перестановок, строк, последовательностей, путей, остовов, паросочетаний, покрытий и т.д.)

    Предварительный список тем:
    1. Примеры задач комбинаторной оптимизации
    2. Основные алгоритмы теории графов
    3. Динамическое программирование
    4. Линейное программирование, линейная двойственность
    5. Тотальная унимодулярность и тотальная двойственная целочисленность линейных систем
    6. Целочисленное программирование и полиэдральная комбинаторика
    7. Линейное программирование на конусе неотрицательно определенных матриц (semidefinite programming)
    8. Основные понятия теории матроидов
    9. Субмодулярные функции и полиматроиды
    10. Полиматроиодные пересечения
    Первое занятие состоится в пятницу 12 сентября в 18:30 в ауд. 1324. Приглашаются все желающие.
    Friday, September 5th, 2008
    10:20 pm
    Вы это уже наверняка видели, но если вдруг нет, то оно того стоит:

    Wednesday, September 3rd, 2008
    8:45 pm
    Поездки
    С 14 по 18 буду в Карлсруэ (Германия) на 16th Annual European Symposium on Algorithms рассказывать про мультипотоковый алгоритм. Спасибо всем, кто помог советами про оформление виз. Если кому-то что-то надо оттуда, то пишите. Про наклейки на клавиатуру помню :)

    А в середине декабря есть мысль съездить на недельку в Австралию и побывать на 19th International Symposium on Algorithm and Computation, куда приняли статью про weight scaling technique for minimum cost bibranching. На этот раз спасибо в основном Пете Митричеву, который внимательно прочитал драфт и нашел там массу непонятных мест.

    Осталось только найти добрых спонсоров, поскольку поездка обещает быть недешевой. Any ideas?
    8:30 pm
    Эти забавные списки
    Многим из вас наверняка кажется, что связные списки -- это просто и даже почти банально. Тем, кто так не думает или вообще не понимает, о чем речь, читать дальше наверное будет не очень интересно.

    Основных разновидностей списков две: одно- и двусвязные. Считая, что у нас 32-битные адреса, в первом случае мы тратим 4 дополнительных байта на каждую вершину (указатель next), а во-втором случае -- 8 байт (указатели next и prev).

    Предположим, что у нас есть вполне практическая задача: нужен список, по которому можно ходить итераторами в обе стороны (bidirectional iterator), расходуя O(1) единиц времени на каждое перемещение. При этом итератор позволяет читать-писать значение, на которое он указывает, а также производить обычные операции Remove, Insert-Before, Insert-After.

    Как решить эту задачу? Очевидно, нужно использовать двусвязный список. Но представим себе, что памяти у нас совсем мало, зато есть такое дополнительное ограничение:

    easy: в любой момент по списку может гулять лишь один итератор;
    hard: в любой момент по списку может гулять произвольное количество итераторов, но стоит одному из них выполнить Remove, Insert-Before или Insert-After, как остальные тут же становятся невалидными. (Известное мне решение представляет собой некоторый не вполне переносимый hack. Например, хочется иметь flat memory model. А еще для C#/Java напрямую работать оно не будет.)

    Внимание, соцопрос: можно ли получить требуемое, затратив лишь 4 байта на каждую вершину и O(1) единиц времени на каждую операцию?

    Решение под катом )
    Monday, July 7th, 2008
    11:31 pm
    Школа Яндекса, версия 2.0
    Пока некоторые замечательные знакомые выходят замуж и женятся (привет [info]ircha11 и [info]programmer ;), мы посовещались и решили, что пора нам наоборот разделиться.

    Так что с этой осени в Школе Яндекса будет два факультета (отделения): A) анализа данных (которое возглавит Илья Борисович Мучник) и B) computer science (руководить которым будет Лена Бунина).

    (Все названия предварительные.)

    Первая основная цель -- поделить целевые аудитории слушателей. Вторая основная цель -- не пытаться объять необъятное в рамках одной общей программы, а выделить два направления.

    Отделение computer science будет больше ориентировано на мехмат, а также близкие по духу академические структуры. Мои курсы будут в обоих программах (как специальные для отделения A и основные -- для отделения B).

    Вот такие дела. Следите за новостями, информацию на официальном сайте мы скоро выложим ;)
    Sunday, May 25th, 2008
    5:24 pm
    ESA'08
    Давно ничего не писал, поскольку повода не было. А вот теперь есть.

    Нашу с А.В. Карзановым статью про мультипотоковый алгоритм приняли на ESA'08 (16th Annual European Symposium on Algorithms). Собираюсь туда поехать в сентябре, если, конечно, отпустят :)

    В один из прошлых разов попытка съездить в Италию (на WEA 07) закончилась тем, что мне вежливо объяснили: подавать документы на визу надо за пару месяцев до начала, а не как я, за 30 дней :) Очень не хочется повторения этих приключений.

    Так что если вы недавно обращались за немецкой визой, то буду признателен любым наблюдениям.

    Спасибо!

    P.S. Текущий драфт работы, если вдруг кому-то это интересно, лежит здесь. Конечно, критика приветствуется.

    P.P.S. Последнее время чувствую как минимум три несовместных желания:
    1) Бросить наконец преподавание и заняться наконец наукой.
    2) Бросить наконец науку и заняться наконец работой
    3) Бросить наконец работу и заняться (наконец?) нормальной жизнью.
    Но поскольку выбрать одно не получается, то приходится перебирать по циклу.
    Thursday, March 27th, 2008
    8:24 pm
    Дорогие друзья с 1 и 2 курса мехмата,

    Очереденая встреча с кафедрой математической логики и теории алгоритмов состоится завтра, 28 марта в 16:45.

    Где именно, правда, не ясно, поэтому стоит подходить к кафедре (ауд. 1605).

    Приходите :)
    Saturday, February 23rd, 2008
    3:25 pm
    Провел вчера первую консульацию по матлогике для двух групп мехмата.

    Две группы оказались представлены аж целыми 11 студентами (мальчики в меньшинстве). Мило, смахивает на спецкурс.

    Нас, конечно, поджидают разнообразные трудности, но проблемы нехватки места среди них точно не будет.

    Current Mood: working
    Tuesday, February 12th, 2008
    1:03 pm
    Update: спецкурс про двунаправленные и кососимметрические графы
    Орг. собрание, а также первое занятие спецкурса состоятся в среду, 20 февраля на 5-й паре. Собираемся на кафедре математической логики (ауд. 1605 ГЗ).

    Важно: данное расписание не окончательное, 20 февраля мы обсудим выбор оптимального времени и места проведения. Поэтому даже если 5-я пара вам не подходит, то можно попробовать зайти в конце занятия и высказать свои пожелания о переносе.

    Приходите! =)
    Friday, February 8th, 2008
    9:12 pm
    А между тем...
    Нашу с Таней ([info]my_attic) статью "Computing Longest Common Substrings Via Suffix Arrays" приняли на CSR 2008.

    Еще раз спасибо друзьям из Google, которые послушали мой рассказ и выдали массу ценных замечаний. Часть из них даже была учтена ;)

    P.S. Если открыть страницу с комментариями, то там можно найти Таню и поздравить её =)
    P.P.S. А ещё здесь можно поздравить Юру ([info]est_lladon).
    Thursday, February 7th, 2008
    2:59 pm
    Спецкурс в весеннем семестре
    В наступающем весеннем семестре я буду читать на мехмате спецкурс "Введение в теорию двунаправленных и кососимметрических графов".


    Расписание пока ещё не утверждено, но первое занятие состоится в отрезке 18-23 февраля. Если вы планируете ходить, то пожалуйста оставьте комментарий с указанием того, какие дни вам лучше всего подходят.

    Спасибо.
    Monday, January 21st, 2008
    10:49 pm
    Угадайка
    Задача рассказана [info]andrewzta, за что ему большое спасибо:

    Как вам кажется, для любой ли функции f : R -> N найдётся четвёрка попарно различных вещественных чисел a, b, c, d, таких что:
    (i) f(a) = f(b) = f(c) = f(d)
    (ii) a + b = c + d

    Варианты ответа:

    a) Да, конечно!
    b) Нет, ну что вы!
    c) Фиг знает...

    Подумайте немного над этим несложным вопросом. Для самых нетерпеливых: правильный ответ скрывается под катом:

    Read more... )
[ << Previous 20 ]
My Website   About LiveJournal.com

Advertisement