Алгоритм страуса

Алгори́тм страуса в інформатиці, це стратегія нехтування потенційними проблемами через те, що імовірність їх виникнення надзвичайно мала — «занурити голову в пісок і уявити, що проблеми немає». Тобто, припускається, що ефективніше дозволити проблемі реалізуватися, ніж спробувати її попередити.

Такий підхід може бути застосовано для взаємного блокування при паралельному програмуванні, якщо ми віримо в дуже низьку імовірність такого блокування, а вартість виявлення або запобігання зависока.

Взаємні поступки

  • Зручність
  • Правильність

Це один з методів роботи із взаємними блокуваннями. Інші методи: уникнення (алгоритм Пітерсона), запобігання (алгоритм банкіра), виявлення та відновлення.

Недоліки

У найгіршому випадку (коли проблеми виникають досить часто) цей алгоритм призводить до вкрай низької продуктивності системи. Алгоритми з низькою продуктивністю у найгірших випадках здебільшого застосовують через те, що низьку продуктивність вони виявляють на штучних прикладах, які майже не зустрічаються у практиці; типові приклади це симплекс-метод і алгоритм перевірки типів для Standard ML. Такими випадками як цілочисельне переповнення цілих фіксованої ширини у мовах програмування також часто нехтують через те, що вони стаються лише у виняткових випадках, які не зустрічаються у практичних вхідних даних.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.