エネルギーユニットの計算方法:「Crash Course AI」の倫理的課題におけるアルゴリズム的アプローチの方法
概要
「Crash Course AI」のビデオで、EthicとHedgeは、アルゴリズムを使用して塔を登るために必要な正確なエネルギーユニットの数を計算する課題に直面します。彼らは、3つの異なる課題についてこれを行わなければならず、数字を間違えた場合、彼らは落ちてしまいます。Hedgeは、エネルギーバシンの壁の高さと位置を決定し、各バシンが保持できるユニット数を計算するためにアルゴリズムを使用しなければなりません。課題の複雑さは、各ステージで増加しますが、EthicとHedgeは、彼らの組み合わせたスキルによって、彼らのミッションを成功させることができました。
目次
- 課題:エネルギーユニットを使用して塔を登る
- Hedgeのアルゴリズム:ブロックの各列を調べる
- 線形時間のためのアルゴリズムの最適化
- 結論:問題解決のためのアルゴリズム的アプローチ
課題:エネルギーユニットを使用して塔を登る
「Crash Course AI」のビデオで、EthicとHedgeは、エネルギーユニットを使用して塔を登る課題に取り組んでいます。課題には3つの異なるステージがあり、それぞれが異なるユニット数を必要とします。問題は、Hedgeが一度に1つのブロック列しか見ることができないため、エネルギーバシンの壁の高さと位置を計算するためにアルゴリズム的アプローチを使用しなければならないことです。
Hedgeの最初のステップは、各バシンが保持できるエネルギーユニットの数を決定することです。数字を間違えた場合、エネルギーリフトは失敗し、彼らは落ちてしまいます。この問題を解決するために、Hedgeは、参照点として1つのブロック列を考慮し、左側のスタックからスタックごとに最も高いものの高さを見つけ、次に右側を見て、最も高いものの高さを見つけます。その後、2つの高さのうち小さい方をエネルギーが満たす高さとして取ります。結果が対象の列より高い場合は、元の列の高さを引いて、その列が保持できるユニット数が結果になります。それが対象の列のレベル以下の場合、エネルギーはあふれます。
Hedgeのアルゴリズム:ブロックの各列を調べる
Hedgeのアルゴリズムは、各ブロック列を調べ、エネルギーバシンの壁の高さと位置を決定して、各列が保持できるユニット数を計算することを含みます。彼は、各列の左と右の最も高いスタックの高さを考慮し、そのうち小さい方をエネルギーがあふれない高さとして使用しなければなりません。
これは例を見ることで視覚化することができます。5つのブロック列があり、左端の列はエネルギーを保持するには短すぎます。2番目のスタックは、4ブロックスタックの間に3つのユニットを持つことができます。高さが4でエネルギーがレベルオフする場所から高さを取り、スタックの高さを引くことで、3つのユニットを得ることができます。3番目のスタックも同様で、4ブロックスタックの間に1つのエネルギーユニットを保持します。4番目と5番目のスタックは、右側に何もないため、エネルギーを保持することができません。
Hedgeのアルゴリズムは、1つずつ各ブロック列を調べることによって、このアプローチを自動化します。左端の列から始め、彼は最も高いスタックの高さを見つけて保存することで、左側のバシンの壁の高さを計算します。一度終わると、右から左に向かって再度処理を行い、右側の最も高いスタックの高さを見つけます。その後、各ブロック列が保持できるユニット数を、左と右のバシンの壁の高さに基づいて計算するために1回追加で通過します。これは、2つの高さのうち小さい方を取り、現在のタワーの高さを引いて行われます。結果が正の場合、その列はその数のユニットを保持できます。そうでない場合、エネルギーはあふれます。
線形時間のためのアルゴリズムの最適化
Hedgeのアルゴリズムは効果