Algorithmen können entweder ahnungslos oder nicht ahnungslos sein, aber was ist der tatsächliche Unterschied zwischen den beiden?
quelle
Algorithmen können entweder ahnungslos oder nicht ahnungslos sein, aber was ist der tatsächliche Unterschied zwischen den beiden?
Oblivious bedeutet, dass der Kontrollfluss unabhängig von einigen Dateneigenschaften ist. Zum Beispiel ist die bitonische Sortierung (auch als Sortiernetz _ bezeichnet) nicht bekannt, da sie immer dieselben Elemente vergleicht, ohne die erhaltenen Daten zu berücksichtigen, während die schnelle Sortierung (oder Zusammenführungssortierung oder eine adaptive Sortierung) nicht vergessen wird, da sich die Algorithmusschritte basierend ändern Bitonische Sortierung führt im besten und im schlechtesten Fall genau die gleichen Schritte aus, während nicht vergessene Algorithmen davon abweichen können Schritte zu (zum Beispiel).
Diese Definition für Cache ist sehr ähnlich. Dies bedeutet, dass der Cache unabhängig von seiner Größe (Cache-Länge) genutzt wird.