スポンサーリンク

ロジックは人間が考えるもの

スポンサーリンク
この記事は約3分で読めます。

アルゴリズムとロジックの境界線

  • ロジカル(logical)
    • 「論理的な」「筋の通った」という意味。
    • 使い方:「彼はロジカルに話すので説得力がある」
  • ロジックが通る / 通らない
    • 話の筋道が通っているか、矛盾がないかを表す。
    • 使い方:「その主張は少しロジックが通っていない(理屈がおかしい)」
  • ロジカルシンキング
    • 物事を体系的に整理し、筋道を立てて考える「論理的思考」のこと。

大方この理解で間違いありません。

この定義に従うなら、ロジックは「人間の分野」だと私は感じます。

なぜなら、ロジックには理由があるからです。

「なぜ、その条件を見るのか」
「なぜ、その数値を重視するのか」
「なぜ、この場合は見送るのか」
「なぜ、この順番で判断するのか」

このような問いに対して、人間が筋道を立てて考える部分がロジックです。

一方で、アルゴリズムはその考え方を、パソコンが実行できる形に並べたものです。

つまり、

ロジックは、人間が考える判断の筋道。
アルゴリズムは、その筋道をパソコンに実行させるための手順。

このように分けて考えると、少し整理しやすくなります。

たとえば人間が、

「この条件のときは少し有利だと考える」
「この条件が重なったときは危険だと判断する」
「この数値が低い場合は評価を下げる」

と考えたとします。

これはロジックです。

しかし、このままではパソコンは動けません。

パソコンに実行させるためには、

「Aの値を確認する」
「Bの値が一定以上か判定する」
「条件を満たせば点数を加える」
「条件を満たさなければ点数を加えない」
「最後に合計点を出す」

というように、具体的な手順へ変換する必要があります。

これがアルゴリズムです。

競艇ソフト制作で難しいのは、いきなりプログラムを書くことではありません。

本当に難しいのは、

自分が何を根拠に判断しているのか。
その判断に矛盾はないのか。
それをパソコンに渡せる形まで分解できるのか。

この部分です。

ロジックが曖昧なままアルゴリズムを作ると、ソフトは一応動きます。

しかし、なぜその結果になったのか分からないソフトになります。

逆に、ロジックが整理されていれば、アルゴリズムは後から修正できます。

条件を増やす。
重みを変える。
判定の順番を変える。
使うデータを変える。

このような改善ができるようになります。

だから、競艇ソフト制作では、

「まずロジックを考える」
「次にアルゴリズムへ落とし込む」
「最後にプログラムとして動かし検証する」

この順番が大切でここはあなたの作業なのです。

アルゴリズムは、パソコンを動かすための手順です。

ロジックは、その手順に意味を与える考え方です。

この二つを混同しないことが、競艇ソフト制作の第一歩になります。