Jump to content

СМА*

SMA* или упрощенная память с ограниченной памятью A* — это алгоритм кратчайшего пути, основанный на алгоритме A* . Основное преимущество SMA* заключается в том, что он использует ограниченную память, тогда как алгоритму A* может потребоваться экспоненциальная память. Все остальные характеристики SMA* унаследованы от A*.

Характеристики

[ редактировать ]

SMA* имеет следующие свойства

  • Он работает с эвристикой , так же, как A*
  • Он завершен, если разрешенная память достаточно велика для хранения самого поверхностного решения.
  • Оптимально, если разрешенная память достаточно велика для хранения наименьшего оптимального решения, в противном случае будет возвращено лучшее решение, которое помещается в разрешенную память.
  • Он избегает повторяющихся состояний, пока это позволяет ограничение памяти.
  • Он будет использовать всю доступную память
  • Увеличение объема памяти алгоритма только ускорит расчет.
  • Когда доступно достаточно памяти для размещения всего дерева поиска, скорость вычислений оптимальна.

Выполнение

[ редактировать ]

Реализация простой памяти A* очень похожа на реализацию A*; единственное отличие состоит в том, что узлы с самой высокой f-стоимостью удаляются из очереди, когда не остается места. Поскольку эти узлы удаляются, простой A*, ограниченный в памяти, должен запомнить f-стоимость наиболее забытого дочернего узла родительского узла. Когда кажется, что все исследованные пути хуже такого забытого пути, путь возрождается. [1]

Псевдокод:

function simple memory bounded A*-star(problem): path
  queue: set of nodes, ordered by f-cost;
begin
  queue.insert(problem.root-node);

  while True do begin
    if queue.empty() then return failure; //there is no solution that fits in the given memory
    node := queue.begin(); // min-f-cost-node
    if problem.is-goal(node) then return success;
    
    s := next-successor(node)
    if !problem.is-goal(s) && depth(s) == max_depth then
        f(s) := inf; 
        // there is no memory left to go past s, so the entire path is useless
    else
        f(s) := max(f(node), g(s) + h(s));
        // f-value of the successor is the maximum of
        //      f-value of the parent and 
        //      heuristic of the successor + path length to the successor
    end if
    if no more successors then
       update f-cost of node and those of its ancestors if needed
    
    if node.successors  queue then queue.remove(node); 
    // all children have already been added to the queue via a shorter way
    if memory is full then begin
      bad Node := shallowest node with highest f-cost;
      for parent in bad Node.parents do begin
        parent.successors.remove(bad Node);
        if needed then queue.insert(parent); 
      end for
    end if

    queue.insert(s);
  end while
end
  1. ^ Рассел, С. (1992). «Эффективные методы поиска с ограничением памяти». В Неймане, Б. (ред.). Материалы 10-й Европейской конференции по искусственному интеллекту . Вена, Австрия: John Wiley & Sons, Нью-Йорк, Нью-Йорк. стр. 1–5. CiteSeerX   10.1.1.105.7839 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7132a5409d6c7c446e43a557cc1ef9fa__1689091380
URL1:https://arc.ask3.ru/arc/aa/71/fa/7132a5409d6c7c446e43a557cc1ef9fa.html
Заголовок, (Title) документа по адресу, URL1:
SMA* - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)