<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=423102&amp;view=findpost&amp;p=3852158</guid>
        <pubDate>Mon, 20 Sep 2021 14:10:17 +0000</pubDate>
        <title>Метод грубой силы для обработки графов</title>
        <link>https://forum.sources.ru/index.php?showtopic=423102&amp;view=findpost&amp;p=3852158</link>
        <description><![CDATA[FasterHarder: Всем хай&#33; Сразу переходим к графовому делу&#33;<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="blue" style="color: blue"><br>
Вот условие задачи:</span></strong> дано около 20 топологий графа (две наиболее простых и понятных приведены на рисунке - &quot;Звезда&quot; и &quot;Кольцо&quot;). Используя методы грубой силы проверить заданный граф, например, на топологии &quot;Звезда&quot;.<br>
Примечание: в коде запрещены ЛЮБЫЕ оптимизации/ускорения вычислений. Решать ТОЛЬКО методом грубой силы. Графы задаются матрицами смежностями.<br>
<span class="b-attach" data-size="10232" data-hits="225" data-attach-id="63058" data-attach-post-id="3852158">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3852158&amp;attach_id=63058' title='Скачать файл' target='_blank'>__________________.png</a> (, : 225)
		</span><br>
-----------------------------------------------------------------------<br>
Данная задача привлекла тем, что здесь запрещено что-то оптимизировать (обычно все наоборот  :unsure: ) + есть некоторые вопросы по брут-форсАМ.<br>
<br>
Насколько понимаю, используя метод грубой силы, требуется перебрать ВСЕ ВОЗМОЖНЫЕ комбинации чего-либо (исчерпывающий перебор).<br>
<strong class='tag-b'>момент №1:</strong> Например, проверка на &quot;Звезду&quot;. Тут вроде брут-форс логичен.<br>
Вот пример на псевдокоде:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">k = 0 &nbsp; &nbsp; &nbsp; количество центров звезды (в результате должна быть 1)</div><div class="code_line">&nbsp;</div><div class="code_line">запустить перебор всех вершин</div><div class="code_line">&nbsp;&nbsp; &nbsp;если текущая вершина смежна со всеми остальными, то</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;запомнить ее номер (center)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;k увеличиваем на +1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;запустить перебор всех смежных с ней (center) вершин</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;если смежная вершина соседствует не только с center, то</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;k уменьшаем на 1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;выход из внутреннего цикла (break)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">если k = 1, то</div><div class="code_line">&nbsp;&nbsp; &nbsp;да, это &quot;Звезда&quot;</div><div class="code_line">иначе</div><div class="code_line">&nbsp;&nbsp; &nbsp;нет, не &quot;Звезда&quot;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Сложность вроде O(n^2), где N - количество вершин. Это ведь брут-форс?)<br>
<br>
<strong class='tag-b'>2 момент:</strong> надо ли заканчивать брут-форс, если решение НАЙДЕНО?? Например, если делается подбор пароля и там 128 млрд. комбинаций и на 117 883 993 подборе пароль подошел. Брут-форс ПРЕКРАЩАЮТ (а зачем дальше работать, лол) ведь? С одной стороны пишут, что брут-форс делает ИСЧЕРПЫВАЮЩИЙ перебор, но ведь его и прекратить можно, если найдено решение, верно?<br>
<br>
<strong class='tag-b'>3 момент:</strong> брут-форс для &quot;Кольца&quot;<br>
Берем произвольную вершину. У нее должна быть 2 соседа. Если не 2, то все, конец. Зачем дальше проверять?? Это уже НЕ кольцо. Т е брут-форс ОБРЫВАЕМ?? Если 2 соседа, то надо их проверять. Но их 2 и как бы разветвление идет, т е нужно задействовать контейнер для их хранения (очередь или еще что) и вообще это напоминает обход графа, допустим DFS, но ДФС ведь не брут-форс. С этим &quot;кольцом&quot; что-то неясно, к чему стремиться, чтобы именно КОНКРЕТНЫЙ брут-форс был.<br>
<br>
<strong class='tag-b'>4 момент:</strong> при методах грубой силы стремится к циклам или рекурсии? (если отталкиваться от условия задачи этой)<br>
<br>
подскажите, как быть-то?<br>
спасибо за внимание]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	