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

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

推薦する

Nvidia に挑戦する Groq の起源は何ですか?新しいAIチップLPUの簡単な紹介

今日の人工知能分野では、「GPUがあれば十分」というのが徐々にコンセンサスになってきています。十分な...

橋梁点検におけるUAV技術の応用

これらの技術の応用により、長期的にはドローンが開発され、橋梁点検の分野で応用されるでしょう。では、橋...

人工知能がサイバーセキュリティの世界に及ぼす影響

サイバーセキュリティは、今日世界中の企業が直面している戦略的な課題です。パンデミックによって加速した...

百度、検索エンジンアルゴリズムを調整して微博コンテンツのインデックスを強化

情報筋によると、検索エンジンの百度は先週、検索アルゴリズムを調整し、微博のコンテンツのインデックスを...

人工知能の主要技術分野のレビュー

[[441598]] AI への準備プロセスの多くは組織の変更です。人工知能の利用には、ニューカラー...

5分でPythonのランダムヒルクライミングアルゴリズムをマスターする

ランダム化ヒルクライミングは最適化アルゴリズムです。検索プロセスの一部としてランダム性を使用します。...

縮小版のOpenAIの新しいテキスト生成画像モデルGLIDEは、DALL-Eに匹敵する35億のパラメータを持つ。

[[441688]]モデルのパラメータサイズはそれほど大きくする必要はありません。今年初めにOpe...

ゼロから: Python で決定木アルゴリズムを実装する

決定木アルゴリズムは、非常に人気のある強力な予測方法です。初心者だけでなく専門家にも簡単に理解できる...

ASRU2019コンペティションが終了、中国語と英語の混合音声認識技術における新たなブレークスルー

2019 IEEE 自動音声認識および理解ワークショップ (ASRU) は、2019 年 12 月 ...

バーチャルシンガー、AIの背後にある見えざる手が音楽の未来を握っているのか?

19 世紀以前、人々が集まるときには、人生の物語を語り、感情や考えを伝えるために、常に最も原始的な...

人工知能時代の罠を回避し、実装を実現する方法

つい最近、カリフォルニア大学バークレー校で活躍している、インターネットで有名な無人食品配達車「Kiw...

AIがあなたの仕事を奪わないと決めつけないでください。

すでに、いくつかの日常的または退屈な作業がロボットや自動化によって置き換えられていますが、それによっ...

スタンフォード大学がAI法の講座を開設。人工知能は法律の対象になり得るか?

昨年3月、アリゾナ州でウーバーの自動運転車が歩行者をはねて死亡させた。米国の検察当局が「ウーバーに責...

AIがデータセンターの設計をどう変えるか

AI システムへの世界的な支出は 2023 年から 2026 年の間に 2 倍になると予想されており...

...