Dies ist die Folgeherausforderung von dieser , wenn Sie verwirrt sind, überprüfen Sie diese bitte zuerst.
Zunächst sei die Anzahl der Cache-Fehlschläge einer Sequenz von Ressourcenzugriffen, vorausgesetzt, unser Cache hat die Kapazität und verwendet ein FIFO-Auswurfschema (First-In-First-Out), wenn es voll ist.
Geben Sie dann bei einem Verhältnis eine nicht leere Folge von Ressourcenzugriffen so dass mit .
Im Klartext, Konstrukt , das eine Sequenz der Ressource zugreift , so dass es zwei Cache - Größen , wo die größeren Cache (mindestens) hat - mal mehr Cache - Misses , wenn zur Lösung verwendet .
Ein Beispiel für , eine gültige Ausgabe ist die Folge , da sie bei einer Cache-Größe von Cache-Fehlschläge verursacht , aber Fehler bei einer Cache-Größe von .
Es spielt keine Rolle, welche Sequenz Sie zurückgeben, solange sie den Anforderungen entspricht.
Kürzester Code in Bytes gewinnt.
Antworten:
Wolfram Language (Mathematica) ,
124113101 BytesProbieren Sie es online!
HINWEIS: Die TIO-Ausgabe ist nicht die tatsächliche Liste, da sie sehr lang wäre. Die Wrapper-Funktion von TIO gibt die Anzahl der Seitenfehler für zwei Cache-Kapazitäten an.
Für die aktuelle Liste: Probieren Sie es online!
Siehe auch: arXiv: 1003.1336
Wie?
Nehmen wir an, wir haben zwei Cache-Kapazitäten
3
und4
.3
Nehmen wir auch an, der Cache hat sich{4, 2, 5}
ausgelagert, und der4
Cache hat sich{5, 4, 3, 2}
ausgelagert. Dann versuchen wir es mit Paging{1, 2, 3, 4, 5, 1, 2, 3, 4, 5}
:Der
3
-cache hatte 5 Seitenfehler, während der4
-cache 10 hatte. Wir sind auch in unseren ursprünglichen Zustand zurückgekehrt.Wenn wir hier das Blättern wiederholen
{1, 2, 3, 4, 5}
, erreichen wir asymptotisch das Verhältnis von2
.Wir können dieses Phänomen auf höhere Cache-Kapazitäten ausweiten, so dass wir
{1, 2, 3, ... , 2n + 1}
mit jedem Verhältnis paginieren und enden können.quelle