Lisp Scheme Part41 (856レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
164: デフォルトの名無しさん [sage] 2020/03/05(木) 20:29:29.92 ID:h922Dn8C(1/11) AAS
>>50
50(1): デフォルトの名無しさん [sage] 2019/02/22(金) 06:25:30.84 ID:6MhIDIeu(1) AAS
ISLispのプログラミングテキストや解説書って笹川賢一って人が書いたKindle用の電子的なのが2タイトルあるだけで
それ以外は海外でも何も出てないんですかね、Amazon USでタイトルを“ISLisp”で検索しても、その2タイトル以外は
ISOの規格票しか出てきませんね

とにもかくにも国際規格になったんだから、規格案をプッシュした連中がプログラミングの教科書や言語解説書や入門書ぐらいは
書いて出版するぐらいのことはやるべきなんじゃないかと思うんですが、見事なほどに何も出ていないようで驚きました
需要の問題だろ
Lisp自体がマイナーで
Common Lispでやっと本が出せる位なのに
165: デフォルトの名無しさん [sage] 2020/03/05(木) 20:29:51.26 ID:h922Dn8C(2/11) AAS
>>53
53(2): デフォルトの名無しさん [sage] 2019/03/05(火) 05:20:40.92 ID:1ASLdeDU(1) AAS
昔の情報処理試験で人工知能の分野ときたらLispだったけど今違うのかな?
今はAIといえばPythonだろ?
166: デフォルトの名無しさん [sage] 2020/03/05(木) 20:30:44.79 ID:h922Dn8C(3/11) AAS
>>54
54(2): はちみつ餃子 ◆8X2XSCHEME [sage] 2019/03/05(火) 09:20:27.48 ID:mHzXPPXa(1) AAS
>>53
このスレ (の過去スレ) では何度も話題になっている気がするが、
「人工知能」とは何か、それに「向いている」とはどういう意味かが曖昧なので、
Yes とも No とも言えるというのがおおよその結論。

人工知能を定義するなら「人間の知的活動を代行するもの」であり、
かつてはコンパイラや数式処理なども人工知能の範疇だった。
でも、分野として確立して以降は
コンパイラはコンパイラだし、数式処理は数式処理であって、
今ではそれを人工知能と呼ぶ人なんかいない。

逆に言えば分野として確立していない知的な処理はなんだって
人工知能なので、範囲がざっくりしすぎて
どんな言語が向いているかなんて言いようが無い。

強いて言うなら、かつては人工知能の主役は記号処理を基礎に据えたものであったので、
そのときの事情を前提にするならば、
それらを記述するには (当時あった他の主要な言語よりは) LISP が向いていると
言ってもそこそこ妥当ではあった。
昔の一時期は妥当だったんだろうけど
今ならPythonの方が向いてるだろう
167: デフォルトの名無しさん [sage] 2020/03/05(木) 20:32:32.21 ID:h922Dn8C(4/11) AAS
>>57
57(2): はちみつ餃子 ◆8X2XSCHEME [sage] 2019/03/06(水) 03:45:46.67 ID:7/fqDaVy(1) AAS
人工知能のカテゴリのひとつに「ルールベース」があるけど、
これって要するに if 文を並べて判断するようなシステムのことで、
現代的な感覚だと人工知能とは言わんよな。
ひとつのカテゴリとして名前を付けることすら馬鹿馬鹿しい。
(あくまでも現代の感覚で見ればという話なので、
当たり前のものにしてきた先人の努力を貶めるものではないことは断わっておく。)

そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。

結果的に LISP が人工知能の記述に「適していた」あるいは「適している」のが事実であってもなくても、
LISP が人工知能の記述を目指しているというわけでもないし、
(LISP 系言語は幅広いので特に人工知能を指向したものも有りはするかもしれないが)
主要な LISP 系言語は Python やら Ruby やらと並べても違和感のないごく普通の汎用言語なんで、
用途を限定してしまうような言説は、個人的にはあまり好きじゃないな。

使いたいように使っていいんだよ。
>>58
58(2): デフォルトの名無しさん [sage] 2019/03/06(水) 23:50:18.20 ID:pTvDqBNf(1) AAS
>>57
> そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
> 人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。

70年代前半だと数式処理(記号微分とか記号積分とか、特に記号積分はね)も立派な人工知能の一分野
ついでに言えば50年代後半だと今で言うコンパイラの研究も人工知能の1テーマだったらしい
要は人工知能というより記号処理なんだよ
168: デフォルトの名無しさん [sage] 2020/03/05(木) 20:34:42.44 ID:h922Dn8C(5/11) AAS
>>82
82(1): デフォルトの名無しさん [sage] 2019/09/23(月) 00:25:37.40 ID:yOVeMM4I(1) AAS
パーソナルコンピュータの父アラン・ケイが選ぶ「プログラマー必読の古典本」とは?
外部リンク:gigazine.net

アラン・ケイ氏が「大ファンだ」と絶賛する本が、プログラミング言語LISPを生み出した
ジョン・マッカーシー自身の手による解説書「LISP 1.5 Programmer's Manual」です。
アラン・ケイ氏によると、この本を読んで成長するためには「どうすべきなのか」
「実際にどうしているのか」を意識しながら本を読むだけではなく、13ページに書かれた
例を「自力で書き直す」ことが重要とのこと。

アラン・ケイ氏は「LISPは単なるプログラミング言語にとどまらず、思考を鍛えるのに最適な言語です」
と述べており、「LISP 1.5 Programmer's Manual」を「完璧な古典」だと絶賛しています。
>>84
84(1): デフォルトの名無しさん [sage] 2019/09/23(月) 13:19:32.86 ID:CUAPT5Qo(1) AAS
LISP知らん人に勧めても判るのかね
MITってschemeやめてpython教えてるんでしょ
MITの件もあるし
今ならPythonでいいでしょ

MITレベルの頭ならLispなんて
すぐ読み書きできると思うが
169: デフォルトの名無しさん [sage] 2020/03/05(木) 20:39:40.49 ID:h922Dn8C(6/11) AAS
>>146
146(2): デフォルトの名無しさん [sage] 2020/02/18(火) 22:12:38.88 ID:i+WlpfA0(1) AAS
SICPで4.4論理プログラミングがでてきたけど、論理プログラム言語(Prolog)なんて
一生使わんのじゃないのか・・・?俺みたいな雑魚PGは特に。
そもそも俺はなんでインタプリタ作ってるんや・・・
>論理プログラム言語(Prolog)なんて
ほとんどのプログラマが
仕事では一生使わないだろうな?
でも設計をする上で参考になる
170: デフォルトの名無しさん [sage] 2020/03/05(木) 20:41:41.16 ID:h922Dn8C(7/11) AAS
>>149
149(1): デフォルトの名無しさん [sage] 2020/02/22(土) 11:13:35.82 ID:dEZr6bBq(1/3) AAS
歴史、哲学、思想を勉強しても目の前の仕事には直結しない
みたいなことなのかな
Prologの勉強は無駄ではないと思うが
すぐ成果には結びつかないだろうね?

でも長期的には流行りの言語やFWに飛びつくより
地力につながる可能性もあるだろう
171: デフォルトの名無しさん [sage] 2020/03/05(木) 20:42:43.57 ID:h922Dn8C(8/11) AAS
>>150
150(1): デフォルトの名無しさん [sage] 2020/02/22(土) 11:15:49.62 ID:dEZr6bBq(2/3) AAS
PrologはSQLに近い(同じ?)という人もいるね
宣言型という点では近いけど言語としては同じじゃない
ユニフィケーションやバックトラックの挙動があるから
172: デフォルトの名無しさん [sage] 2020/03/05(木) 20:44:54.71 ID:h922Dn8C(9/11) AAS
>>151
151(1): はちみつ餃子 ◆8X2XSCHEME [sage] 2020/02/22(土) 12:07:02.06 ID:5jIrjfcF(1) AAS
事実を列挙すれば解を求める処理をやってくれるってのは理想のひとつではあるよな。

実際にはには Prolog が答えを出すメカニズムを理解していないと
答えを (効率的に) 出しやすい事実を上手く与えられない場合もあるし、現実は厳しい……。
AIはディープラーニングが主流になったが
それはそれとしてアレでPrologがもう少し
分かりやすければ日常的に使うんだけどな
これどうやって書くんだってのが多すぎる
173: デフォルトの名無しさん [sage] 2020/03/05(木) 20:47:20.68 ID:h922Dn8C(10/11) AAS
>>156
156(1): デフォルトの名無しさん [sage] 2020/03/03(火) 18:09:46.41 ID:wrUSgHR4(1) AAS
>>152
> Prologではあんまり関連付けて言われないですよね

Prologは「論理プログラミング言語」と呼ばれたりするけれど書かれたプログラムを実行可能にするためのプログラミング言語であるために
論理のための言語(つまり論理式を記述するための言語)とはかなり違ってしまっているからね

その典型がPrologで動くプログラムを書く上で不可欠なカット “!” ね
あれは本来の論理には対応物がなく論理とは全く縁のないコンストラクトだが
カットを使わなければほとんどのPrologプログラムはまともに動かなくなってしまうだろう

その点、Schemeから命令的な言語コンストラクトおよび標準手続きであるset!とset-car!, set-cdr!を除いた部分は
弱い(weak, つまりλ抽象の本体式中のβ-簡約基(redex)は簡約せずに放置しておく)
作用的順序(applicative order)の評価戦略(reduction strategy)のλ計算そのものだ

call-ccは継続(continuation)というメタな(つまり意味論上の)値を対象レベルに持ち込むmeta-circular的な拡張であり
Schemeに限らずLisp一般で広く採用されているS-式という構文は自分の構文に対する抽象構文の表現になっているから
プログラムが自分自身(や同じ言語で書かれた他のプログラム)のソースコードを記述している言語を対象言語として
自分自身がそれを素直な形で操作できるメタ言語レベルの存在として振る舞えることになるからね

言い換えればS-式という表現形式のために括弧をやたらと多用させられるLisp言語では
ソースコードをその抽象構文(木構造)と同型な形で記述させていると言っても良い

だからLispのプログラムをLispで処理する場合には、C等のような普通のプログラミング言語で書かれたプログラムを処理する場合には
不可欠な字句解析や構文解析が実質上は不要なんだよ

何故ならば処理する側のLispプログラムにとって処理される側のLispコードは最初から抽象構文木と1:1対応する形式で提供される訳だから

正にゲーデルの不完全性定理で行っている形式化された論理のゲーデル数による表現とそれを原始再帰的函数や同述語を含むメタ論理のレベルで
処理する構造が、Lispの世界に対応していると言えるわけですよ
Lispはメタプログラミングしやすいって理屈は分かるが
実際にそれでものすごい作業効率が上がるかは疑問だな?

なぜんあらメジャーな言語はライブラリが充実してて
それ使えば最初から書かなくても済むわけだから早い
174: デフォルトの名無しさん [sage] 2020/03/05(木) 20:48:56.47 ID:h922Dn8C(11/11) AAS
>>159
159(1): デフォルトの名無しさん [sage] 2020/03/03(火) 20:29:22.74 ID:44YhJRv6(1) AAS
要するにPrologはメタ論理レベルのプログラミングが出来ないってこと?
本当にできるかできないかは知らんが
そういえばメタプロやってるって
声ほとんど聞いたことないな
Lisp勢はマクロマクロうるさいのに
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s