Python 学習パス - Python スライス シミュレーション LRU アルゴリズム

Python 学習パス - Python スライス シミュレーション LRU アルゴリズム

問題の説明: プロセスが 3 つのメイン メモリ ブロックを使用する権利を取得しました。プロセスが 1、2、3、4、1、2、5、1、2、3、4、5 の順序でページにアクセスするとします。 LRU アルゴリズムを使用するとページフォールトはいくつ発生しますか?

ヒント: LRU (Least Recently Used) は、最も最近使用されていないことを意味します。

このアルゴリズムは、ページ置換アルゴリズムでよく使用されます。アクセスしたい新しいページがメインメモリにない場合は、最も最近使用されていないページがメインメモリから削除され、新しいページがメインメモリに保存されます。このアルゴリズムはキューでシミュレートできます。現在アクセスしている Web ページはキューの末尾にあり、最も最近アクセスされていない Web ページはキューの先頭にあります。新しくアクセスした Web ページがキューにある場合、このページはキューの末尾に移動され、他のページは順番に前方に移動します。新しくアクセスした Web ページがキューにない場合は、キューの先頭が削除され、他のページが前方に移動され、新しくアクセスしたページがキューに追加されます。ページ フォールトとは、メイン メモリ内にアクセスする必要があるページが存在しないことを意味します。

Python を使用して LRU アルゴリズムをシミュレートします。

  1. List=[1,2,3,4,1,2,5,1,2,3,4,5] #このリストには訪問するページが格納されます
  2. a_list=[] #このリストはLRUアルゴリズムのメインメモリをシミュレートするために使用され、最大3つの数値を格納できます
  3. count =0 #欠落しているページ数を記録する
  4. tag=1 #ページが欠落しているかどうかをマークする
  5. for i in List: #アクセスするリスト要素をループする
  6. もし私  in a_list: #アクセスする要素がa_listにない場合はページフォールトです
  7. カウント+=1
  8. タグ=1
  9. if len(a_list)<3: #a_listがいっぱいでない場合
  10. a_list[len(a_list)::]=[i] #a_list.append(i) と同等で、要素 i を a_list の末尾に追加します
  11. else : #リストがいっぱいの場合
  12. a_list[:2:]=a_list[1::] #スライスを使用して最初の2つの要素を最後の2つの要素に置き換え、リストから最初の要素を削除する関数
  13. a_list[2::]=[i] #移動後にi番目の要素をリストに入れる***
  14. そうでない場合: #i 要素がリスト内にある
  15. タグ=0
  16. a_list[ a_list.index (i)::]=a_list[a_list.index ( i)+1::]#要素 i 以降の要素を要素 i 以降の要素に置き換えます
  17. a_list[len(a_list)::]=[i] #移動したリストの後にi番目の要素を挿入する
  18. print(a_list, "ページがありません" if tag==1 else   「欠落ページはありません
  19. print( "欠落しているページ数:" , count )

操作結果:

<<:  ソゴウ・チャン・ボー:インテリジェントな運用とメンテナンスは代替ではなくアップグレードです

>>:  AIのダークサイドを暴く:人工知能は人間に取って代わるが、機械をどのように学習するかは分からない

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

企業の75%が現在ChatGPTを無効化しているか、永久に無効化する予定である。

BlackBerry が発表した新しい調査によると、世界中の組織の 75% が現在、職場での Ch...

独立サイトへのアクセス数が10万を超えました。YidiantianxiaのKreadoAIのサポートにより、海外のウィッグ市場でこのように活躍できることがわかりました。

近年、ウィッグ業界は海外進出のホットな分野として、国際市場で急速に台頭してきました。 Statist...

...

東大大学の中国人博士が「心の理論」を使ってテキサスホールデムをプレイすることを GPT-4 に教えました。従来のアルゴリズムを上回り、人間の初心者を圧倒する

完全情報ゲームでは、すべてのプレイヤーがすべての情報要素を知っています。しかし、不完全情報ゲームは異...

AIは科学者のツールになり得るか? Nature がトップクラスの学者 5 人にインタビュー: コードの書き方を学び、期待を下げよう

[[430245]]人工知能(AI)は、専用の研究分野から他の分野のツールへと徐々に移行しており、学...

ビッグニュース! Googleが突然発表!百度と滴滴出行は混同されている

21 金融ニュースは、日刊金融ニュース (ncjs111)、網易科技、創業報 (ichuangye...

NVIDIA の最も強力な汎用大型モデル Nemotron-4 が登場! 15Bが62Bに勝ち、ターゲットはA100/H100です。

最近、NVIDIA チームは、8T トークンでトレーニングされた 150 億のパラメータを持つ新しい...

...

...

スマートからレスポンシブへ: 人工知能で建築の未来を探る

未来の建築: AIが新たな現実を構築する人工知能 (AI) は、未来的な概念という見せかけを超えて、...

...

遺伝的アルゴリズムの動作原理を 1 つの記事で理解する (Python 実装付き)

最近、「遺伝的アルゴリズムの紹介とデータ サイエンスにおけるその応用」というタイトルの記事が Ana...

...

...