タグ

ブックマーク / qiita.com/square1001 (2)

  • 直感でわかる、ヒューリスティック問題の羅針盤 ~貪欲法から山登り法まで~ - Qiita

    1. はじめに 最初に、記事ではどのようなトピックを扱うのかについて、少し説明したいと思います。 1-1. 記事で扱うトピック 21 世紀になり、IT 化が急速に進む今、現実社会ではいろいろなものが最適化されて動いています。これを形作るプログラミングの現場でも、例えば以下のような問題を考えたり、あるいは実際に使ったりすることもあるのではないでしょうか1。いくつか例を挙げてみましょう。 例 1. コイン問題:特定の金額をぴったり支払うために、最小で何枚の硬貨が必要か? 例 2. 最短経路問題:地図上の A 地点から B 地点までに行くのに、最短で何メートル歩く必要があるか? 例 3. 箱詰め問題:長方形の箱に、できるだけ多くの荷物を敷き詰めたい 例 4. 数分割問題:「できるだけ合計の値が近くなるように」2 つのグループに分割したい このように、いろいろな問題があります(もちろん名前を覚

    直感でわかる、ヒューリスティック問題の羅針盤 ~貪欲法から山登り法まで~ - Qiita
  • 超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita

    1. はじめに ~メインを読むための準備~ まず、大きな数の計算の話をする前に、少しコンピューターと計算回数について話しましょうか。 コンピューターは、現代ではソフトウェアやアプリケーションの開発に使われていますが、これには重要な背景があります。これは「計算がめっちゃ速いこと」です!人間なんかと比べたら、圧倒的な計算スピードを誇ります。 1-1. 人間の計算速度はどのくらい? まず人間はどのくらいの速度で計算できるでしょうか?速い人も遅い人もいると思います。 例えば、$628 \times 463$ の計算を、今やってみましょう。10 秒以内で計算できたらかなり速い方でしょう。この計算では、次のように「単純計算」を合計 28 回もしていることになります。 9 回の 1 桁 × 1 桁の掛け算 6 回の 1 桁 × 1 桁の足し算 13 回の繰り上がり計算 もし $628 × 463$ が

    超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita
  • 1