To jest kolejne wyzwanie z tego , jeśli jesteś zdezorientowany, sprawdź to najpierw.
Po pierwsze, niech jest liczbą cache strzela sekwencja s dostępów zasobów miałoby zakładając naszą pamięć ma pojemność k i wykorzystuje pierwszy-w-pierwsze wyszło (FIFO) program wyrzutową gdy jest pełny.
Następnie dana stosunkiem , powrót niepusty sekwencję zasobów dostępy s tak, że istnieje k > j o m ( s , k ) ≥ R ⋅ m ( s , j ) .
W prostym języku angielskim, skonstruować ciąg zasobu dostępu tak, że nie ma gdzie dwa rozmiary większy cache cache ma (przynajmniej) R razy więcej tęskni cache, gdy stosowane do rozwiązywania s .
Przykładem dla , poprawnym wyjściem jest sekwencja ( 3 , 2 , 1 , 0 , 3 , 2 , 4 , 3 , 2 , 1 , 0 , 4 ) , ponieważ powoduje 9 braków pamięci podręcznej dla wielkości pamięci podręcznej 3 , ale 10 chybień dla rozmiaru pamięci podręcznej 4 .
Nie ma znaczenia, jaką sekwencję zwracasz, o ile spełnia ona wymagania.
Najkrótszy kod w bajtach wygrywa.
Odpowiedzi:
Wolfram Language (Mathematica) ,
124113101 bajtówWypróbuj online!
UWAGA: Wyjście TIO nie jest faktyczną listą, ponieważ byłoby bardzo długie. Funkcja owijania w TIO informuje o liczbie błędów strony dla dwóch pojemności pamięci podręcznej.
Rzeczywista lista: Wypróbuj online!
Powiązane: arXiv: 1003.1336
W jaki sposób?
Załóżmy, że mamy dwie pojemności pamięci podręcznej
3
i4
.Powiedzmy też, że
3
-cache{4, 2, 5}
stronicował, a4
-cache{5, 4, 3, 2}
stronicował. Następnie spróbujmy stronicować{1, 2, 3, 4, 5, 1, 2, 3, 4, 5}
:3
-Cache miał 5 stron błędów, natomiast4
-cache miał 10. Mamy również wróciliśmy do naszego pierwotnego stanu.Gdybyśmy powtarzali stronicowanie
{1, 2, 3, 4, 5}
, asymptotycznie osiągnęlibyśmy stosunek2
.Możemy rozszerzyć to zjawisko na wyższe pojemności pamięci podręcznej, abyśmy mogli wyświetlać strony
{1, 2, 3, ... , 2n + 1}
i uzyskiwać dowolne proporcje.źródło