雑記まとめ

役に立ちそうな内容を気づき次第、アップします!ゆるーい感じでやっていこうと思っています

アルゴリズムとは??テクノロジーの進歩が目まぐるしい昨今、必要不可欠な基礎知識を4つ

アルゴリズムとは??テクノロジーの進歩が目まぐるしい昨今、必要不可欠な基礎知識を4つ

ある、ビジネス用の研修用の動画を見た際に、興味深い内容でしたので記事にしてまとめました。よく、「これからの時代は、テクノロジーだ」とか「プログラミングが必要だ」とか「AIに仕事取られる」、「IoTが熱い」などなど本当に良く聞きます。それぞれ必要な能力や知識について教えてくれて、かなり印象に残ったので、興味を持ったんだと思います。これらの基礎となる、浅く、広く学んでいた方が良い4つの学びについてまとめました。

ビジネスのテクノロジー化を考える上での必要なもの4つ

■ビジネス研修用の動画によると、以下の4つの学びが基礎であり、知識やスキルを身に付けておくと、テクノロジーの基礎を固めることが出来るようです。

  1. アルゴリズムとは
  2. プログラミングの基礎
  3. 統計学(コンピューターの)
  4. データの扱い

ほぼすべて私は良く分かっていなかったです。なんとなーく理解している程度のモノも多かったです。

アルゴリズムとは

アルゴリズムとは、考え方の手順のことです(コンピューターの処理の考え方の手順)。例えば、食料品を買う時にはいくつかの方法があり、手順があります。スーパーで買う時の手順は、「①スーパーまで行く②食料品を選ぶ③レジで会計をする④袋に商品を詰める⑤帰宅する」です。またネットで買い物するときには「①ネットにアクセスする②食料品を探す③カートに入れる④決済をする⑤商品が届くのを待つ」などです。このように、何かの課題を行う際に、いくつかの方法や手順があります。このような手順のことをアルゴリズムというようです。

   TECH::CAMPの即戦力エンジニア養成プログラム【TECH::EXPERT】

■別の例えでいうと、「家事をする」という課題で考えたとき、洗濯や掃除、夕食の準備、買い物、洗い物などがありますが、これらの一つ一つの順番考えます。一つ一つ記載した順番で終わらせて取り組んでも、時間がかかってしまいます。そこで順番を入れ替えたり、方法を工夫して「洗濯機を回している間に、買い物に行って、料理の合間に洗い物をする」など、それぞれの要素の順番次第で、この課題である「家事をする」ことにかかる時間を短縮できます。これはコンピューターの処理でも言えるようです。このコンピューターの処理(アルゴリズム)を改善することで、コンピューターの処理スピードも上がるようです。

   話題のITエンジニア養成スクール「テックキャンプ」

■ちなみに、プログラミングはアルゴリズムをコンピュータに伝えるための言語の様です。その為、プログラミングの言語は複数あり、時代とともに変わる可能性もあるが、アルゴリズムは考え方なので、不変です。考え方(手順の並び変え=ソートアルゴリズム)の代表的なものをいくつか挙げます。まず、「バブルチャート」とは2つのデータを比較して、処理を繰り返していく手順(アルゴリズム)の様です。次に、「選択ソート」とは最も大きなものや小さいものを選択して入れ替えたりする手順です。最後に「クイックソート」とは、ある基準を決めて比較して処理する手順の様です。

 ↑ この辺は理解が浅いため、あまり分かりやすく書けませんでした。

要は、データの処理の手順であるアルゴリズムの違いによって、処理スピードが大きく変わるということです。検索が遅くなったなどは、アルゴリズムを改善することでサイトの検索スピードを改善することが出来るかもしれません。

検索スピードの重要性

アメリカの実験で、サイトの検索スピードによる利用者の感じ方の実験があったようです。それによると、ネットの遅れ時間によって、ユーザーは以下の様に感じるようです。

  • ネットの遅れが「0~0.1秒」   ⇒ 「即時」
  • ネットの遅れが「0.1~0.3秒」 ⇒ 「わずかに遅れを感じる」
  • ネットの遅れが「0.3~1秒」    ⇒ 「機械が動いているとは感じる」
  • ネットの遅れが「1秒以上」      ⇒ 「思考が途切れる」
  • ネットの遅れが「10秒以上」    ⇒ 「やりかけていたことを止める」

たぶん、参考文献はこれです ↓

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

 この研究データから言えることは、1秒の遅れがネットの購買などに影響(ネットショッピングで買おうと思っていたものを買わないなど)を与えることがある言えます。

 このことから、良いアルゴリズムは計算量が少ないものであると結論付けていました。

まとめ

 ■ビジネス向けの動画の内容を引用すると、アルゴリズムとは「コンピュータを利用して、与えられた課題を解決する為の処理手順のこと」だそうです。そして良いアルゴリズムとは、「計算、演算、比較」などの計算が少ないほど良いとされるようで、ビジネスにも影響を与えるようです。

かなり分かりやすい内容の動画だったので簡単にですが、まとめてみました。だいぶ勉強になりました。機会があれば、ビジネスで必要なテクノロジーの4つの知識・スキルのプログラミングや統計学、データの扱いなども書いていきたいと思います。

       

 ▼ ▼ 他にも記事を書いています ▼ ▼

にほんブログ村 ライフスタイルブログ 自分らしい暮らしへ
にほんブログ村