AIを学ぶ

LISPとは?メリットデメリットや人工知能での活用方法は?

投稿日:2019年4月6日 更新日:

LISPとは

LISPとは、1958年ジョン・マッカーシー(John McCarthy)によって開発されたプログラミング言語で、現在使用されている言語のなかでも古い言語のひとつです。開発者のジョン・マッカシー(John McCarthy)は、「人工知能(Artificial Intelligence)」という言葉の提唱者であるため、LISPは人工知能(AI)は親和性の高い言語であるとも言えます。主に人工知能のプログラムやWebアプリの開発に使用されていることが多いです。この記事では、そんな人工知能(AI)と親和性の高いLISPというプログラミング言語ついて詳しく解説いたします。「もうすぐにでも手を動かしたい!!」という方は、以下の目次リンクより、該当箇所に移動していただければと幸いです。

目次

LISPの特徴

LISPは、初心者には難しい言語です。理由としては、記述がわかりにいことがシンプルに要因だと言われています。初心者にとってはとっつきにくい言語である一方で、古くからマニアックなファン(Lisper:リスパーと言われるそうです…)が一定数いることも事実です。2019年になったいまでも、言語開発者や人工知能エンジニアなどの一部LisperがLISPを愛するのは、「未知への適応性を最重視する」というマインドが軸にあるからだそうです。(いやほかにも理由はあるみたいですが、非エンジニアの私には咀嚼しきれない内容でした。泣)

LISPにおける2つの流れ

LISPには「Coomn LISP」と「Schema」という2つのメインの型(方言?)が存在します。前者の「Coomon LISP」は名の通りLISPの標準となるもので、Pythonでいうライブラリみたいのです。この「Coomnon LISP」は、1984年と1994年に、ANSI(American National Standards Institute:米国国家規格協会)によって制定されております。特徴は、多機能であることで、「提案された機能を原則すべて導入する」というのがCommon LISPの姿勢です。このため、Common LISPの言語仕様はかなり大きなものとなっています。

一方「Schema」は、シンプルさを尊重した現在でも進化しつづけている方言です。「Schema」自体は1975年に開発され、2019年最新版の仕様は2013年7月にIEEE(Institute of Electrical and Electronics Engineers:米国電気電子学会、または米国電気電子技術者協会)によって成立しています。

 「Common LISP」と「Scheme」は、LISPの仕様としては主流です。しかしながら実装のやり方は、ほかに多くの種類があります。

 簡単に取り書かれるのはSchemeがよいかなといった印象です。

LISPのメリット

・式と文章が区分されないこと-S式とは?

 どゆことだ?そう感じた方もいらっしゃるのではないでしょうか?LISPは、その文の通り、式と文章が同じなのです。

・普段の思考法をそのままコードにできる

LISPはS式と呼ばれる 記述方針で成り立つことが多いです。S式(S-expression)とは、主にLISPに使用される2分木またはリスト構造のルールに沿った記述方式です。そのため普段、私達が使用するような場合分けの樹形図をコードに落とし込むだけであるため、その意味では人間が機械に言葉を合わせるのではなく、機械がこちら側に合わせてくれているという面でメリットととも言えます。

LISPのデメリット

LISPのデメリットとしては以下のような要素が挙げれます。

  • カッコが多いこと
  • 変数に型がないこと
  •  

LISPと人工知能(AI)との今後の関係性

今日までにはLISPは人工知能プログラムに多く活用されてきました。直近の流行りの人工知能ブームもあり、今後は急速に普及していくことが予測されます。

 

おすすめ記事

1

目次1 はじめに2 過学習の定義3 モデルをつくる:「訓練データ」「未知データ」とは?4 モデルを検証してみる:「汎化性能」とは?5 過学習(過剰適合)とは何か?6 なぜ過学習が起こるのか?原因はなに ...

2

AILearn 編集部 目次1 サマリ:要はこういう話2 はじめに3 サウジアラビアで人工知能・ロボット初の市民権を獲得4 CNBCのインタビューでは、人類滅亡を匂わせる発言5 「人類滅亡」から3ヶ月 ...

3

AILearn 編集部 目次1 本文2 今回のご相談3 今回のテーマ4 「男を見る目」とは何か?4.1 ◆男を見る目がない女性の特徴4.2 ◆男を見る目を養う方法5 「男を見る目」=「イイ男を判別する ...

4

目次1 自然言語処理とは?2 自然言語処理とは何か?2.1 自然言語処理の定義と役割2.2 自然言語とプログラミング言語の違い2.3 自然言語の曖昧さ2.4 自然言語の曖昧さへの対応3 自然言語処理を ...

-AIを学ぶ

Copyright© 人工知能/AIならAILearn(あいらーん) , 2024 All Rights Reserved Powered by AFFINGER5.