<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 27 May 2012 09:29:27 -0700 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/ru-ru/articles/max_subarray_problem/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network Комментарии фид</title>
    <link>http://software.intel.com/ru-ru/articles/max_subarray_problem</link>
    <description></description>
    <language>ru-ru</language>
    <item>
      <title>От pawnbot</title>
      <description><![CDATA[ Я правильно понимаю, что это просто перевод статьи Тадао Такаока, и его алгоритм автором не был реализован?
Просто если это не так, то есть пара вопросов:
> Что же касается алгоритма Тадао Такаока для MSP - по всей видимости это наиболее быстрый алгоритм из всех
> известных на данный момент. Он работает за время O(n^3*log(log(n))/log(n)).
Правильно ли я понимаю, что константа при n^3*log(log(n))/log(n) - 12, в то время как у алгоритма Кадане - 0.5, т.е.
вообще говоря выгода может быть достигнута только на матрицах, которые и на терабайтовые жесткие диски не поместятся.
> Если m > n, поворачиваем матрицу на 90 градусов
Если не заводить дополнительной памяти, то это не такая простая задача и обращение к элементам матрицы будут идти не подряд, т.е. оперативная память при такой операции будет работать крайне неэффективно. ]]></description>
      <link>http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66859</link>
      <pubDate>Fri, 18 Nov 2011 09:18:22 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66859</guid>
    </item>
    <item>
      <title>От azilli</title>
      <description><![CDATA[ Да, это частичный перевод статьи Тадао Такаока, так как хотелось представить все алгоритмы в наиболее объективном виде. Однако этот алгоритм таки был реализован автором, спустя долгие часы и даже дни, проведенные над расшифровкой того, что же всё-таки имелось ввиду в той самой статье (=
Настолько в подробности о сложности алгоритма я не вникала, однако могу сказать, что по анализу различных алгоритмов преимущество данного действительно заметно только при больших матрицах (о террабайтах ничего не знаю (= ).
Тем более, что сравнивать Кадане и Такаоку ИМХО не очень корректно, так как Кадане работает для одномерного массива, а Такаока - для двумерного (и это естественно, что на одномерный массив не выгодно применять Такаоку). Но если вы имеете ввиду алгоритм Бентли, который фактически сводится к Кадане, то да - Такаоку в сравнении с ним выгодно применять только на больших данных.

Про поворот на 90 градусов: фактически необязательно поворачивать матрицу, как показала практика, транспонирование также допустимо.
Во избежание затрат на дополнительную память я реализовывала сложный доступ к элементам префиксной матрицы, который имитировал это самое транспонирование и прочие операции.
И, на самом деле, если вы копнёте глубже и попробуете разобраться в алгоритме Такаока для Distance Matrix Multiplication, то увидите, что проблем с этим алгоритмом гораздо больше (=

Спасибо за комментарий, рада что хоть кто-то заинтересовался статьёй, и мои титанические усилия по реализации алгоритма не прошли даром! (= ]]></description>
      <link>http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66884</link>
      <pubDate>Sat, 19 Nov 2011 09:15:52 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66884</guid>
    </item>
    <item>
      <title>От pawnbot</title>
      <description><![CDATA[ > Такаоку в сравнении с ним выгодно применять только на больших данных.
Т.е. вы смогли найти тест на котором Такаока быстрее Бентли.
Если не секрет, то можете сказать сколько ваша реализация алгоритма Такаока работает на матрице 10000х10000 на 1-м процессоре, или 40, или хотя бы какое соотношение времен алгоритма Такаока к алгоритму Бентли на 1-м или 40-ка процессорах. ]]></description>
      <link>http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66887</link>
      <pubDate>Sat, 19 Nov 2011 12:38:56 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66887</guid>
    </item>
    <item>
      <title>От azilli</title>
      <description><![CDATA[ Я говорю про большие тесты исключительно в теории (= Если вы хотите более углублённой теории, то это лучше искать в непосредственных источниках. Там есть и анализ и доказательство и иллюстрация сравнений в виде графиков.
Сама же я не пробовала сравнивать на больших матрицах по причине, описанной ниже.
Если бы вы вникли в алгоритм Distance Matrix Multiplication, то увидели б, что даже на средних матрицах эта реализация "жрёт" при распараллеливании огромное количество памяти. Так что нет, я не пробовала, и вряд ли мои скромные ресурсы позволят мне это (=

Хочу отметить, что в этой статье я всего лишь описала алгоритм, но не утверждала его эффективности при распараллеливании (= ]]></description>
      <link>http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66888</link>
      <pubDate>Sat, 19 Nov 2011 13:23:50 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/articles/max_subarray_problem/#comment-66888</guid>
    </item>
  </channel></rss>
