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

ブログ    
ブログ    

推薦する

AIスタートアップが大手テクノロジー企業になるために開発すべき10の戦略

大手テクノロジー企業の開発経験からインスピレーションを得る人はたくさんいます。Amazon、Face...

私たちに必要なのは人工知能ではなく人工知能だ

一拍遅ければそれは「人工的な愚かさ」であり、一歩遅れればそれは「知的な人工性」であり、一歩速ければそ...

ビジネスにおけるAIベースの音声認識アプリケーション

[[342735]] [51CTO.com クイック翻訳] 人工知能(AI)が今日、さまざまな業界で...

...

...

目を覚ませ、自動運転車は皇帝の新しい服に過ぎない

高速で運転していて、車がブレーキをかけられないとします。目の前の片側には段ボール箱が山積みになってい...

世界を席巻しているトップ10のプログラミングアルゴリズムを鑑賞しましょう

[[121078]]アルゴリズムは今日の私たちの生活にとって非常に重要なので、いくら強調してもし過ぎ...

百度、中国企業のインテリジェントアップグレードプロセスを加速させる新型PaddlePaddleスマートマシンを発売

クラウドとインテリジェンスの統合は、中国企業が AI アプリケーションの実装の「最後の 1 マイル」...

清華大学人工知能開発報告:中国は過去10年間のAI特許出願で世界第1位

ザ・ペーパー記者 張偉最新の報告書によると、中国の人工知能特許出願件数は過去10年間で世界第1位であ...

AIの最下層に突入! NUSのYou Yang氏のチームは拡散モデルを使用してニューラルネットワークパラメータを構築したとLeCun氏は称賛した。

拡散モデルは新たな大きな応用をもたらしました——ソラが動画を生成するのと同じように、ニューラルネット...

世界初の「自己複製」する生体ロボットが誕生。科学者たちの次なる目標とは?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

2021 年に登場予定の 10 のビッグデータ テクノロジー

1. ハドゥープシンプルなプログラミング モデルを備えた Hadoop は、マシンのクラスター間で多...

顔認識はどのような技術サポートに依存していますか?個人のプライバシーが漏洩するでしょうか?

[51CTO.com からのオリジナル記事] 顔認識技術は新しいものではありません。多くの人が携帯...

GPT-4 が人間のデータ専門家を引き継いでいます!事前の知識により、LLMは従来の方法に匹敵する精度で大胆な予測を行うことができます。

データ サイエンスでは、AI 研究者は不完全なデータセットを処理するという課題にしばしば直面します。...