6章論理プログラミング

本章では次の事柄について学びます。

  • 論理プログラミング
  • 論理プログラミングの構成要素
  • 論理プログラミングによる問題解法
  • 論理プログラミング用パッケージのインストール
  • 数式の推定
  • 素数判定
  • 家系図の解析
  • 地理の解析
  • パズルの解法

6.1 論理プログラミングとは?

論理プログラミングは、プログラミングのパラダイム(プログラムの構成や方法についての考え方の枠組み)のひとつです。論理プログラミングがどのように構成され人工知能にどのように関係しているのかを説明する前に、プログラミングのパラダイムについて示します。

パラダイムの考え方は、プログラミング言語の分類のために生まれたもので、プログラムがコードを通じて問題を解決する方法を示すものです。プログラミングのパラダイムの中には、結果を達成するのに使われる命令の関連付けや並べ方に主に関係するものがあります。ほかに、コードの構成方法に関係するパラダイムもあります。

主要なプログラミングパラダイムを以下に示します。

命令型
プログラムの状態を変更する文を用いるもので、副作用を許容します。
関数型
計算を数学的な関数を評価することとみなし、状態の変化や変更可能なデータを許容しません。
宣言型
「どのように実行するのか」ではなく「何を実行したいのか」を記述することによってプログラムを書く方法です。制御の流れを明示的に記述せずに、背後にある計算の論理を表現することになります。
オブジェクト指向
各オブジェクトが自律するようにコードをまとめます。オブジェクトにはデータと、データの変更を規定するメソッドが格納されます。
手続き型
コードを関数にまとめ、各関数はある特定の処理手順を担当します。
記号型
プログラムが自分自身をデータとして扱って変更可能とする構文形式や文法を持ちます。 ...

Get PythonによるAIプログラミング入門 ―ディープラーニングを始める前に身につけておくべき15の基礎技術 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.