ダチョウ・アルゴリズム

ダチョウ・アルゴリズム（英: Ostrich algorithm）とは、計算機科学において、
発生頻度が極めて稀であるとの考えに基き、「頭を砂の中に突っ込み、問題がないようなふりをする」ダチョウのように潜在的な問題を無視するという戦略である。問題の発生を防止するよりも、問題が起きたほうがコストが低いということを仮定している。

この方法は、並列プログラミングでのデッドロック問題に対して、デッドロックが発生する可能性が極めて低く、解決や防止のコストが極めて高いとみなされれば、対策として用いることができる。

代償として利便性や正確性が失われる。

ダチョウ・アルゴリズムは回避(銀行家のアルゴリズム)、防止、検知と復活といったデッドロックの対処方法の一つである。

一般的に、計算機のアルゴリズムには最悪時の性能が悪いものが用いられることが多い。実際には起こらないような人工的なケースでしか悪い性能を顕在化させないからである。わかりやすい例として、シンプレックス法や、Standard MLにおける型チェックのアルゴリズムがある。同様に固定長の数値型を持つ言語における整数の桁あふれのような問題は、通常の入力データに存在しないような例外的な場合にのみ発生するため無視されることが多い。

参考文献
Ostrich algorithm

並行アルゴリズム