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

ブログ    
ブログ    
ブログ    

推薦する

ChatGPT、画像や動画コンテンツを生成するCanvaプラグインをリリース

9月4日、ChatGPT Plusサブスクリプションサービスで独自のCanvaプラグインがリリースさ...

パフォーマンス最適化技術: アルゴリズム

アルゴリズムとその実装にはさまざまな種類がありますが、この記事ではシングルコア、シングルスレッドのア...

76ページのレビュー+300以上の参考文献で、Tiandaチームは大規模言語モデルアライメント技術を包括的に紹介しています。

最近、天津大学の熊徳一教授のチームが大規模言語モデルアライメント技術に関するレビュー論文(以下、アラ...

ユニサウンド、50倍の性能を誇る世界初のIoT向けAIチップを発売

業界をリードするモノのインターネット(IoT)人工知能サービス企業であるUnisoundは、約3年間...

人工知能は人材紹介業界に狙いを定めています。仕事を見つけるにはロボットに頼らなければならないのでしょうか?

実装プロセスにおいて、AI 採用は本当にスローガン通りの結果を達成できるのでしょうか?求職者は3時間...

民間ドローンの産業応用シナリオに関する簡単な議論

[[357620]]科学技術の発展に伴い、人類は機械工学、材料科学、電子技術、自動制御、コンピュータ...

すべてのデータ サイエンティストが知っておくべき 19 の機械学習アルゴリズム

【51CTO.com 速訳】機械学習アルゴリズム入門機械学習アルゴリズムの分野では、分類には通常次の...

機械学習が金融業界に与える影響

過去 10 年間で、金融業界ではこれまでにない最先端のテクノロジーが数多く導入されました。この変化は...

ビッグデータアルゴリズムのジレンマ

2013年、米国で窃盗罪で有罪判決を受けた男性がウィスコンシン州の裁判所に訴訟を起こしたという物議を...

...

分散ストレージシステムにおけるDHTアルゴリズムの改善

1. 概要通常、分散ストレージ システムや分散キャッシュ システムでは、分散ハッシュ (DHT) ア...

このスタートアップは、アイドル状態のGPUを分散ネットワークに接続することで、AIモデルのトレーニングコストを90%削減できると主張している。

モンスターAPIは、採掘機器などのGPUコンピューティングパワーを使用してAIモデルをトレーニングし...