Prolog初心者のスレ
これは良い言語だ…
探検
【論理】Prolog【初心者】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/11/06(土) 13:00:56510デフォルトの名無しさん
2012/06/25(月) 16:18:25.34 あらゆるジャンプ先のアドレスを意識してプログラミングする奴がいるか?
511デフォルトの名無しさん
2012/06/25(月) 17:32:32.37 配列かリストか考えるだけでもランダムアクセスメモリのこと意識するんじゃね?
512デフォルトの名無しさん
2012/06/25(月) 18:55:26.23513デフォルトの名無しさん
2012/06/25(月) 21:33:57.47 >>506
Prologの計算モデルを実装するマシンはノイマン型に限定されないと思う
Prologの計算モデルを実装するマシンはノイマン型に限定されないと思う
514デフォルトの名無しさん
2012/06/25(月) 22:55:57.03 データフローw
515デフォルトの名無しさん
2012/06/26(火) 09:24:55.29 ノイマン型を意識する人は死ぬまで1コアマシンを使ってろw
516デフォルトの名無しさん
2012/06/26(火) 10:49:32.92 マルチコアで内部的にシーケンサが複数になってもノイマン型の範疇での話。
517デフォルトの名無しさん
2012/06/26(火) 14:00:36.35 VLIWでインターロックがなくっても(略
ベクトルプロセッサで(略
何を指摘されても、どうとでも言い逃れが可能な論理ですねw
ベクトルプロセッサで(略
何を指摘されても、どうとでも言い逃れが可能な論理ですねw
518デフォルトの名無しさん
2012/06/27(水) 05:55:26.77 http://ja.wikipedia.org/wiki/ハーバード・アーキテクチャ
519デフォルトの名無しさん
2012/07/20(金) 05:35:19.90 >>20を見て気になったのですが、Prologは以下の内容のデータベース構築に向いているのでしょうか?
http://toro.2ch.net/test/read.cgi/tech/1341099441/265
http://toro.2ch.net/test/read.cgi/tech/1341099441/265
520デフォルトの名無しさん
2012/07/20(金) 08:04:16.93521デフォルトの名無しさん
2012/07/20(金) 11:09:59.54 >>520
1GBのテキストとなると、検索で大量の「ユニフィケーションの繰り返し」が
起こるからちょっと疑問。
Prologの向き不向きの話は、ソースプログラムのドキュメントとしての表現力では
確実に他のプログラミング言語の上を行くので、少々遅かったり、書き難い点が
あっても、向かないとは考えない方がよい。
1GBのテキストとなると、検索で大量の「ユニフィケーションの繰り返し」が
起こるからちょっと疑問。
Prologの向き不向きの話は、ソースプログラムのドキュメントとしての表現力では
確実に他のプログラミング言語の上を行くので、少々遅かったり、書き難い点が
あっても、向かないとは考えない方がよい。
522デフォルトの名無しさん
2012/07/20(金) 14:44:53.02 >>519の内容は、単なるインデックス化テキストなんで、
(その上フレーズ検索が含まれてないという簡単仕様)
こういうのが向いてない汎用言語なんて基本的にないのではないか?
awkとかshだと面倒くさそうだけど。
(その上フレーズ検索が含まれてないという簡単仕様)
こういうのが向いてない汎用言語なんて基本的にないのではないか?
awkとかshだと面倒くさそうだけど。
523デフォルトの名無しさん
2012/07/20(金) 15:04:23.23 >>522
Prologの場合は、http://toro.2ch.net/test/read.cgi/tech/1341099441/265 で書かれている
タグが述語ですから、タグの読み方、意味指定等、ルール付けに何の拘束もありません。プログラマの
自由であり、記述力も概ね無限です。
注釈、コメントを含めてのルール付けになりますから、単なる構造体による定義ではありません。
Prologの場合は、http://toro.2ch.net/test/read.cgi/tech/1341099441/265 で書かれている
タグが述語ですから、タグの読み方、意味指定等、ルール付けに何の拘束もありません。プログラマの
自由であり、記述力も概ね無限です。
注釈、コメントを含めてのルール付けになりますから、単なる構造体による定義ではありません。
524デフォルトの名無しさん
2012/07/20(金) 15:16:37.29525デフォルトの名無しさん
2012/07/22(日) 00:12:08.00 タグが述語は余りよろしくないな。
複数タグを付けたり部分一致検索とかしずらい。
複数タグを付けたり部分一致検索とかしずらい。
526デフォルトの名無しさん
2012/07/22(日) 01:29:55.61527デフォルトの名無しさん
2012/07/28(土) 06:53:10.65528デフォルトの名無しさん
2012/07/28(土) 12:32:28.01 Prologで関係データベースのテーブルを節として定義するにはどうしたらいいのでしょうか?
例えば↓みたいな表です。
personテーブル
+--------------------
| id | name | address |
+--------------------
| 1 | yamada | tokyo |
| 2 | yamada | osaka | ←1とは同姓同名で別人
+--------------------
companyテーブル
+--------------------
| id | name | address |
+--------------------
| 1 | yamada | tokyo | ←紛らわしいがyamadaという会社名の会社
| 2 | yamada | osaka |←同名だが1とは別会社
+--------------------
person_companyテーブル
+--------------------
| person_id | company_id |
+--------------------
| 1 | 1 |
| 2 | 2 |
+--------------------
(続きあり)
例えば↓みたいな表です。
personテーブル
+--------------------
| id | name | address |
+--------------------
| 1 | yamada | tokyo |
| 2 | yamada | osaka | ←1とは同姓同名で別人
+--------------------
companyテーブル
+--------------------
| id | name | address |
+--------------------
| 1 | yamada | tokyo | ←紛らわしいがyamadaという会社名の会社
| 2 | yamada | osaka |←同名だが1とは別会社
+--------------------
person_companyテーブル
+--------------------
| person_id | company_id |
+--------------------
| 1 | 1 |
| 2 | 2 |
+--------------------
(続きあり)
529デフォルトの名無しさん
2012/07/28(土) 12:33:22.07 >>528
ただし、person(1, yamada, tokyo).といった定義は不可とします。
なぜなら、この節定義では、1とyamadaとtokyoの「意味」がプログラムとして定義されていないからです。
1がpersonテーブルのidだと解釈できるのはプログラム外のコメント文やドキュメントを読んだプログラマだけです。
(C言語の構造体やJavaのクラスでは変数名として意味を定義できています。)
(おわり)
ただし、person(1, yamada, tokyo).といった定義は不可とします。
なぜなら、この節定義では、1とyamadaとtokyoの「意味」がプログラムとして定義されていないからです。
1がpersonテーブルのidだと解釈できるのはプログラム外のコメント文やドキュメントを読んだプログラマだけです。
(C言語の構造体やJavaのクラスでは変数名として意味を定義できています。)
(おわり)
530デフォルトの名無しさん
2012/07/28(土) 13:59:37.01 person(id(1), name(yamada), address(tokyo)).
531デフォルトの名無しさん
2012/07/28(土) 14:56:59.84532デフォルトの名無しさん
2012/07/28(土) 21:24:10.18 >>531
その議論に参加していたが、つまり何が言いたい?
その議論に参加していたが、つまり何が言いたい?
533デフォルトの名無しさん
2012/07/29(日) 05:12:05.59 >>530
本当に必要な情報は第何引数にnameがあるかというようなもの。
テーブル情報(person,1,id,integer).
テーブル情報(person,2,namae,atom).
テーブル情報(person,3,address,atom).
のような述語定義をする他ない。
本当に必要な情報は第何引数にnameがあるかというようなもの。
テーブル情報(person,1,id,integer).
テーブル情報(person,2,namae,atom).
テーブル情報(person,3,address,atom).
のような述語定義をする他ない。
535デフォルトの名無しさん
2012/07/29(日) 12:37:48.14 >>533
>本当に必要な情報は第何引数にnameがあるかというようなもの。
そのとおりだと思うし、これがすべてだね
>>529の発想を裏返せば、
「C言語の関数やJavaのメソッドは引数と関数名(メソッド名)の意味が定義されていない」
から大問題だという話になる
あるいはSmalltalk/Objective-Cのメッセージ定義やRubyのハッシュ引数などのように、
名前で引数に意味を与えることのできる言語以外は一切認めない....ように見える
自分なら>>528は単純に書く
person(1, yamada, tokyo).
person(2, yamada, osaka).
company(1, yamada, tokyo).
company(2, yamada, osaka).
person_company(1, 1).
person_company(2, 2).
Prologにおける>>529の制約はナンセンスだと思う
>本当に必要な情報は第何引数にnameがあるかというようなもの。
そのとおりだと思うし、これがすべてだね
>>529の発想を裏返せば、
「C言語の関数やJavaのメソッドは引数と関数名(メソッド名)の意味が定義されていない」
から大問題だという話になる
あるいはSmalltalk/Objective-Cのメッセージ定義やRubyのハッシュ引数などのように、
名前で引数に意味を与えることのできる言語以外は一切認めない....ように見える
自分なら>>528は単純に書く
person(1, yamada, tokyo).
person(2, yamada, osaka).
company(1, yamada, tokyo).
company(2, yamada, osaka).
person_company(1, 1).
person_company(2, 2).
Prologにおける>>529の制約はナンセンスだと思う
536デフォルトの名無しさん
2012/07/29(日) 15:09:27.74 C とか Java だったらデータは構造体やクラスとして定義するわけで、関数やメソッドとしてなんか定義しない。
データと処理を明確に区別するパラダイムなの。
一方 Prolog は全部節定義でやるから、そこにぶつけた話なんでしょ。
>>533 の方式は、プログラマが読めば理解できる定義だけど、実行時にプログラムから使うのは面倒そうかな。
何番目が address なのかは取得できても、そこから簡単にクエリー組み立てられないよね。
person(name, 1, yamada).
person(address, 1, tokyo).
みたいな定義はどうかな。
これだとテーブル上での順番とかを考える必要はなくて、例えば address が tokyo の人を取得するのを
person(address, Id, tokyo)
みたいに書ける。
データと処理を明確に区別するパラダイムなの。
一方 Prolog は全部節定義でやるから、そこにぶつけた話なんでしょ。
>>533 の方式は、プログラマが読めば理解できる定義だけど、実行時にプログラムから使うのは面倒そうかな。
何番目が address なのかは取得できても、そこから簡単にクエリー組み立てられないよね。
person(name, 1, yamada).
person(address, 1, tokyo).
みたいな定義はどうかな。
これだとテーブル上での順番とかを考える必要はなくて、例えば address が tokyo の人を取得するのを
person(address, Id, tokyo)
みたいに書ける。
537535
2012/07/29(日) 15:56:55.27538デフォルトの名無しさん
2012/07/29(日) 16:30:28.00 >>536
クエリー生成(_テーブル名,_引数リスト,_クエリー) :- findall(_,テーブル情報(_テーブル名,_,_,_),_引数リスト),_クエリー =.. [_テーブル名|_引数リスト].
あとはnth1/3かnth0/3を使って自分の検索したいフィールドと変数を結びつける。
クエリー生成(_テーブル名,_引数リスト,_クエリー) :- findall(_,テーブル情報(_テーブル名,_,_,_),_引数リスト),_クエリー =.. [_テーブル名|_引数リスト].
あとはnth1/3かnth0/3を使って自分の検索したいフィールドと変数を結びつける。
539デフォルトの名無しさん
2012/07/29(日) 16:50:29.26 >>536
> person(name, 1, yamada).
> person(address, 1, tokyo).
は確かに魅力的なモデルだが(Binary Data Model? 連想三つ組?)、
残念ながら、IDの管理が難しい。ここではユーザ設定のidを使うことに
なりそうだが、一般的にはシステムが一意のIDを用意しなくては
ならない。そういう機構をうまく組み込まないと実用にならない。
> person(name, 1, yamada).
> person(address, 1, tokyo).
は確かに魅力的なモデルだが(Binary Data Model? 連想三つ組?)、
残念ながら、IDの管理が難しい。ここではユーザ設定のidを使うことに
なりそうだが、一般的にはシステムが一意のIDを用意しなくては
ならない。そういう機構をうまく組み込まないと実用にならない。
540デフォルトの名無しさん
2012/08/17(金) 07:15:23.82 2つ質問です。
taroはコーヒーのどの種類が好きですか?
という質問が作りたいのですが、どのように記述すればいいでしょうか
test.pl
syurui(coffee,cocoa).
like(taro, cocoa).
こんな感じでいけるかと思いましたが、falseでした。
?- like(taro,syurui(coffee,X)).
あと、ファイル再読み込み(Reload modified files)を頻繁に行うのですが、
ショートカットキーなどはありますか?
taroはコーヒーのどの種類が好きですか?
という質問が作りたいのですが、どのように記述すればいいでしょうか
test.pl
syurui(coffee,cocoa).
like(taro, cocoa).
こんな感じでいけるかと思いましたが、falseでした。
?- like(taro,syurui(coffee,X)).
あと、ファイル再読み込み(Reload modified files)を頻繁に行うのですが、
ショートカットキーなどはありますか?
541デフォルトの名無しさん
2012/08/17(金) 07:19:49.51 一番高速にprolog動かせるのって
どの処理系なの?
どの処理系なの?
542540
2012/08/17(金) 07:20:19.68 すいません、他の言語とごっちゃになってました。
質問を取り下げます。
質問を取り下げます。
543デフォルトの名無しさん
2012/08/17(金) 08:08:50.83 >>540
% 模範解答ではありません。私好みの定義。Prologの自由さを感じてください。
好きなコーヒー(taro,コロンビアスプレモ).
好きなコーヒー(hanako,グァテマラマラゴギーベ).
好きなコーヒー(taro,コスタリカ).
'taroはコーヒーのどの種類が好きですか?'(_コーヒーの種類のリスト,_taroの好きなコーヒーの種類) :-
\+(var(_コーヒーの種類のリスト)),
member(_taroの好きなコーヒーの種類,_コーヒーの種類のリスト),
好きなコーヒー(taro,_taroの好きなコーヒーの種類).
'taroはコーヒーのどの種類が好きですか?'(_コーヒーの種類のリスト,_taroの好きなコーヒーの種類) :-
var(_コーヒーの種類のリスト),
コーヒーの種類のリストを得る(_コーヒーの種類のリスト),
好きなコーヒー(taro,_taroの好きなコーヒーの種類).
コーヒーの種類のリストを得る(_コーヒーの種類のリスト) :-
findall(_コーヒーの種類,(
好きなコーヒー(_,_コーヒーの種類)),
_重複を許すコーヒーの種類のリスト),
sort(_重複を許すコーヒーの種類のリスト,_コーヒーの種類のリスト).
% 模範解答ではありません。私好みの定義。Prologの自由さを感じてください。
好きなコーヒー(taro,コロンビアスプレモ).
好きなコーヒー(hanako,グァテマラマラゴギーベ).
好きなコーヒー(taro,コスタリカ).
'taroはコーヒーのどの種類が好きですか?'(_コーヒーの種類のリスト,_taroの好きなコーヒーの種類) :-
\+(var(_コーヒーの種類のリスト)),
member(_taroの好きなコーヒーの種類,_コーヒーの種類のリスト),
好きなコーヒー(taro,_taroの好きなコーヒーの種類).
'taroはコーヒーのどの種類が好きですか?'(_コーヒーの種類のリスト,_taroの好きなコーヒーの種類) :-
var(_コーヒーの種類のリスト),
コーヒーの種類のリストを得る(_コーヒーの種類のリスト),
好きなコーヒー(taro,_taroの好きなコーヒーの種類).
コーヒーの種類のリストを得る(_コーヒーの種類のリスト) :-
findall(_コーヒーの種類,(
好きなコーヒー(_,_コーヒーの種類)),
_重複を許すコーヒーの種類のリスト),
sort(_重複を許すコーヒーの種類のリスト,_コーヒーの種類のリスト).
544デフォルトの名無しさん
2012/08/18(土) 07:42:46.14 >>543
ありがとうございます!
ありがとうございます!
545543
2012/08/18(土) 08:07:26.97546デフォルトの名無しさん
2012/08/18(土) 11:42:04.21 >>541
速度を追及するなら、自分でWAM実装するのが近道かと
速度を追及するなら、自分でWAM実装するのが近道かと
547uY
2012/08/24(金) 08:23:55.57 Prologを直で触る気はありません
>>>Rubyから<<< Prolog操作したいな〜と思い
https://github.com/preston/ruby-prolog
こんなgem見つけたんですけど使い方が不明です教えてくれませんか
>>>Rubyから<<< Prolog操作したいな〜と思い
https://github.com/preston/ruby-prolog
こんなgem見つけたんですけど使い方が不明です教えてくれませんか
548デフォルトの名無しさん
2012/08/24(金) 11:06:40.75 examplesがあるじゃない。
549デフォルトの名無しさん
2012/08/27(月) 10:44:20.21 >>547
多分、SWI-PrologのsyntaxからRubyのそれへの変換プログラムを
書かないと使い物にならないと思う。Prologを使いたいと思う課題の
述語はそんなに簡単には書けない。Prologの専門家に書いてもらって
それを使うか、専門の処理系で確かめてそれをRubyに移す方が確実。
多分、SWI-PrologのsyntaxからRubyのそれへの変換プログラムを
書かないと使い物にならないと思う。Prologを使いたいと思う課題の
述語はそんなに簡単には書けない。Prologの専門家に書いてもらって
それを使うか、専門の処理系で確かめてそれをRubyに移す方が確実。
550デフォルトの名無しさん
2012/08/27(月) 10:55:31.37 そうかもしれない。Prologの専門家だってこれって問題では、
http://www.amazon.co.jp/dp/0201403757 なんかのお世話になって、
書き写し、書き写し、説明を解読しながら書くものだよ。
http://www.amazon.co.jp/dp/0201403757 なんかのお世話になって、
書き写し、書き写し、説明を解読しながら書くものだよ。
551デフォルトの名無しさん
2012/08/27(月) 11:50:25.32 はあ?
552デフォルトの名無しさん
2012/08/27(月) 16:10:05.17 >>550
そのリンクは第3版ですが、すでに第4版が出ています。
PROLOG Programming for Artificial Intelligence
http://www.amazon.co.jp/dp/0321417461
そのリンクは第3版ですが、すでに第4版が出ています。
PROLOG Programming for Artificial Intelligence
http://www.amazon.co.jp/dp/0321417461
553デフォルトの名無しさん
2012/08/27(月) 18:11:20.68 大学の演習でSchemeでProlog処理系を作らされたから、利用する機能を限定すればなればかなりのProlog処理系は自作できると思う
554デフォルトの名無しさん
2012/08/28(火) 19:24:32.09 SchemeのPrologならminiKanrenは凄い短いソースで出てきてるね
Kanrenの方が使いやすいけど
Kanrenの方が使いやすいけど
555デフォルトの名無しさん
2012/08/31(金) 16:31:31.25 沖電気のサイトにpython実装のprolog処理系の記事が掲載されてたよ
556デフォルトの名無しさん
2012/09/27(木) 11:46:27.80 他のスレ(正規表現)での続きを書くと、
日本語で書かれてしかもPrologに触れているツイートのうち
評価を含んでいるものを調べると肯定、否定の割合は2:1くらい。
それとは別に、難しい、分からないとのツイートは多い。
日本語で書かれてしかもPrologに触れているツイートのうち
評価を含んでいるものを調べると肯定、否定の割合は2:1くらい。
それとは別に、難しい、分からないとのツイートは多い。
557デフォルトの名無しさん
2012/09/27(木) 12:11:47.56 Prologでする画像処理なんてありましたっけ?
558デフォルトの名無しさん
2012/09/27(木) 15:08:31.86 >>557
Prologの欠点は遅いことです。それもC言語に比べて数百倍の単位で。
遅い理由は、バックトラックに備えてスタックを余分に積むことや、リストを
含む構造体のユニフィケーションの作業量の多さ、アトムテーブルの管理、
GCなどいろいろですが、これだけ遅いと対象範囲がビットマップ全体になる
計算はする気がなくなります。それで汎用システムとしての画像処理に適用
されたという話は聞いたことがありません。
Prologによる画像処理アルゴリズムの研究としては
http://www.amazon.co.jp/dp/0387196471 があります。
Prologの欠点は遅いことです。それもC言語に比べて数百倍の単位で。
遅い理由は、バックトラックに備えてスタックを余分に積むことや、リストを
含む構造体のユニフィケーションの作業量の多さ、アトムテーブルの管理、
GCなどいろいろですが、これだけ遅いと対象範囲がビットマップ全体になる
計算はする気がなくなります。それで汎用システムとしての画像処理に適用
されたという話は聞いたことがありません。
Prologによる画像処理アルゴリズムの研究としては
http://www.amazon.co.jp/dp/0387196471 があります。
559デフォルトの名無しさん
2012/09/27(木) 15:42:42.51 Wales大の人だな。MacPrologを改造したProlog+。
http://www.lpa.co.uk/はまだ活動しているみたいだな。
http://www.lpa.co.uk/はまだ活動しているみたいだな。
560デフォルトの名無しさん
2012/10/02(火) 10:11:30.88 遅い欠点をもつPrologがAIのシステムに導入されたのはなぜ?
現在ではもう時代遅れになっている言語なのかな?
現在ではもう時代遅れになっている言語なのかな?
561デフォルトの名無しさん
2012/10/02(火) 11:39:10.46 cutのあるバックトラックを使って、ほぼ宣言的に記述できるから。
562デフォルトの名無しさん
2012/10/02(火) 13:53:16.16 >>560
C言語などとの相対速度の差は現在の方がさらに開いていると思いますが、
AIは極めて遅い人間の脳がモデルですから、元々速度はあまり問題ありません。
最後は例えばRubyでPythonで同じくらい簡単に書けますかどうですかということ
でしょう。
Prologについては、まだまだ2-3割しかその能力を引き出す努力がなされて
おらず、これからどうなって行くかまったく予断はできません。
C言語などとの相対速度の差は現在の方がさらに開いていると思いますが、
AIは極めて遅い人間の脳がモデルですから、元々速度はあまり問題ありません。
最後は例えばRubyでPythonで同じくらい簡単に書けますかどうですかということ
でしょう。
Prologについては、まだまだ2-3割しかその能力を引き出す努力がなされて
おらず、これからどうなって行くかまったく予断はできません。
563デフォルトの名無しさん
2012/10/02(火) 15:20:49.89 なんか斜めです
> 元々速度はあまり問題ありません。
> RubyでPythonで同じくらい簡単に書けます
> 元々速度はあまり問題ありません。
> RubyでPythonで同じくらい簡単に書けます
564デフォルトの名無しさん
2012/10/02(火) 15:23:18.10 >>563
Prologでも書けませんが。
Prologでも書けませんが。
565Prolog工作員
2012/10/02(火) 15:43:11.34 >>563
今日、プログラマの水準は高く、Prologクラスの推論ならば、簡単に
インタプリタのロジックを各言語に組み込む方はいます。しかし、その
人が論理学にも精通していたとしても、Prologのプログラミング程度の
単純な論理であっても、いきなりある一定単位持続して書き並べていく
ことは多くの場合そんなに簡単なことではない。
だから、日常的に論理式の記述を習慣付けるためにPrologを使うのです。
今日、プログラマの水準は高く、Prologクラスの推論ならば、簡単に
インタプリタのロジックを各言語に組み込む方はいます。しかし、その
人が論理学にも精通していたとしても、Prologのプログラミング程度の
単純な論理であっても、いきなりある一定単位持続して書き並べていく
ことは多くの場合そんなに簡単なことではない。
だから、日常的に論理式の記述を習慣付けるためにPrologを使うのです。
566デフォルトの名無しさん
2012/10/02(火) 16:17:28.79 Prologレベルの推論エンジンは簡単に書けるなら、
ASP solver competitionにでも参加してみてくれ。
まさかPrologベースのシステムに負けないよな?
ASP solver competitionにでも参加してみてくれ。
まさかPrologベースのシステムに負けないよな?
567デフォルトの名無しさん
2012/10/02(火) 17:33:16.76 1.まずPythonでPrologを実装します
568Prolog工作員
2012/10/02(火) 17:43:02.82569デフォルトの名無しさん
2012/10/03(水) 01:00:34.38 ISOに合わせるように頑張ってたけど
bagofが上手く実装できなくて詰んだはww
bagofが上手く実装できなくて詰んだはww
570デフォルトの名無しさん
2012/10/04(木) 16:06:23.95571デフォルトの名無しさん
2012/10/04(木) 17:11:04.53 人間の脳は遅いです。ひとつのプロセッサーを見れば。ところが、1000個以上の
プロセッサが協調して働けば、何十万個のプロセッサ付き記憶装置から読み出せれば
偉大な働きをする。囲碁のような単純な思考でもそうでしょう。名人は1秒間に
何千万手に相当する手を読みますが、それは画像認識に近いレベルでなされる。
浮かんだ画像をこれは、だめ。これは、可能性があると。その一瞬10^3どころではない
オーダーの記憶装置付きのセルが働いている考えられる。
ICOTの目指した並行処理は間違ってはいなかったと思います。
プロセッサが協調して働けば、何十万個のプロセッサ付き記憶装置から読み出せれば
偉大な働きをする。囲碁のような単純な思考でもそうでしょう。名人は1秒間に
何千万手に相当する手を読みますが、それは画像認識に近いレベルでなされる。
浮かんだ画像をこれは、だめ。これは、可能性があると。その一瞬10^3どころではない
オーダーの記憶装置付きのセルが働いている考えられる。
ICOTの目指した並行処理は間違ってはいなかったと思います。
572デフォルトの名無しさん
2012/10/05(金) 00:03:03.08 飛行機は鳥のようにはばたかず、プロペラを回して飛ぶ。
自動車は馬のように駆けず、タイヤを回して走る。
AIは…?
自動車は馬のように駆けず、タイヤを回して走る。
AIは…?
573デフォルトの名無しさん
2012/10/05(金) 00:51:55.41 >>572
emotionとかethics抜きで単体のintelligenceってのが
そもそも存在するのか?
ないものをマネようとして失敗してるんじゃないかと思う。
いや色々な知見は得られているんだけれども。
emotionとかethics抜きで単体のintelligenceってのが
そもそも存在するのか?
ないものをマネようとして失敗してるんじゃないかと思う。
いや色々な知見は得られているんだけれども。
574デフォルトの名無しさん
2012/10/05(金) 05:50:08.90 >>572
強い、弱いという分類がされますが、広義、狭義という分類も可能ですね。
馬の例えだと、馬の脚を車軸と車輪、タイヤで置き換えた。そこで止まって
しまったり、そこから発展して、鳥から飛行機->ジェット機のように別の物に
進化していってしまう。そういう展開全て包容してのAIというのもあり得る。
けれども少なくとも20年前のAIブームの頃には、こういうものはAI研究の
「お零れ」と認識していた。エキスパートシステムもそう。
一時的に馬の蹄がタイヤであっても、そこに止まっていては馬の神経系や
骨格の力学的な研究とも出会うことができないから、それは所詮工業技術
じゃないか。こちらの方が一般的な見解ではないか。
強い、弱いという分類がされますが、広義、狭義という分類も可能ですね。
馬の例えだと、馬の脚を車軸と車輪、タイヤで置き換えた。そこで止まって
しまったり、そこから発展して、鳥から飛行機->ジェット機のように別の物に
進化していってしまう。そういう展開全て包容してのAIというのもあり得る。
けれども少なくとも20年前のAIブームの頃には、こういうものはAI研究の
「お零れ」と認識していた。エキスパートシステムもそう。
一時的に馬の蹄がタイヤであっても、そこに止まっていては馬の神経系や
骨格の力学的な研究とも出会うことができないから、それは所詮工業技術
じゃないか。こちらの方が一般的な見解ではないか。
575デフォルトの名無しさん
2012/10/05(金) 12:20:07.04 エキスパートシステムはロジックの部分がまさに本流なわけだけど…
576デフォルトの名無しさん
2012/10/05(金) 13:27:22.28577デフォルトの名無しさん
2012/10/05(金) 14:09:15.30 >>562
> AIは極めて遅い人間の脳がモデルですから、元々速度はあまり問題ありません。
いやでも、フレーム問題みたいなのも、
人間の脳の処理速度よりコンピュータの処理速度のほうがずっと高速だから
解決できるという見通しが当初からあったんでしょ?
つまり、コンピュータの高速な処理速度にAI実現の将来の希望を託していた
ことからすると、もともと処理速度は重要な問題だったわけで。
> AIは極めて遅い人間の脳がモデルですから、元々速度はあまり問題ありません。
いやでも、フレーム問題みたいなのも、
人間の脳の処理速度よりコンピュータの処理速度のほうがずっと高速だから
解決できるという見通しが当初からあったんでしょ?
つまり、コンピュータの高速な処理速度にAI実現の将来の希望を託していた
ことからすると、もともと処理速度は重要な問題だったわけで。
578デフォルトの名無しさん
2012/10/05(金) 16:09:56.25 >>577
でも速度に「追っかけられる」というような業務ではないです。
でも速度に「追っかけられる」というような業務ではないです。
579デフォルトの名無しさん
2012/10/05(金) 18:06:17.69 天気予報に使ってるエキスパートシステムは速度が重要だよ。
予報が民間に許可された今はリアルタイム予報が期待されているから。
予報が民間に許可された今はリアルタイム予報が期待されているから。
580デフォルトの名無しさん
2012/10/08(月) 15:01:54.60 確かにリアルタイムな天気予報は期待されてるけど、
具体的にはゲリラ豪雨みたいなイレギュラーな変化の予報。
これはエキスパートシステムのような大量の情報から引っこ抜くといった
性質のものでは無いのでは…。
具体的にはゲリラ豪雨みたいなイレギュラーな変化の予報。
これはエキスパートシステムのような大量の情報から引っこ抜くといった
性質のものでは無いのでは…。
581デフォルトの名無しさん
2012/10/08(月) 15:36:21.25 >>580
大気シミュの結果、各種リアルタイム測定値、過去の天候パターン記録などは、
エキスパートシステムのソースの一つなのよ。
扱う知識の一つというわけ。天候予測システムについても、
エキスパートシステム論についても知識が古過ぎ。
大気シミュの結果、各種リアルタイム測定値、過去の天候パターン記録などは、
エキスパートシステムのソースの一つなのよ。
扱う知識の一つというわけ。天候予測システムについても、
エキスパートシステム論についても知識が古過ぎ。
582デフォルトの名無しさん
2012/10/08(月) 17:11:51.49 いくら計算頑張っても元データの精度は超えないぞ。
縦横5km、高さ1kmのメッシュだからな。
せめてあと2ケタのデータ精度向上がないと、計算だけじゃ
ゲリラ豪雨の予測には届かないんじゃないか。
縦横5km、高さ1kmのメッシュだからな。
せめてあと2ケタのデータ精度向上がないと、計算だけじゃ
ゲリラ豪雨の予測には届かないんじゃないか。
583デフォルトの名無しさん
2012/10/08(月) 17:58:25.36 GPV以外にも観測データはありまして…
584デフォルトの名無しさん
2012/10/18(木) 11:14:08.91 Prologの宿題スレはなくなってしまったか。
585デフォルトの名無しさん
2012/10/19(金) 09:53:31.41586デフォルトの名無しさん
2012/10/19(金) 10:04:01.70 >>585
代わりに「Prolog演習の課題を書き込みましょう」というスレを作ってみたが、
2日くらいでこれも削られた。聞くところによれば、今はテンプレの書かれていない
新スレは全部削られるらしい。スレたて荒らしの退治の余波で。
代わりに「Prolog演習の課題を書き込みましょう」というスレを作ってみたが、
2日くらいでこれも削られた。聞くところによれば、今はテンプレの書かれていない
新スレは全部削られるらしい。スレたて荒らしの退治の余波で。
587Prolog工作員
2012/10/19(金) 18:36:19.25 最近のSWI-Prologでは、アトムや関数名の中に改行が含まれても
構わないようだ。'\n'で表現する必要がなく、自然に改行できる。
http://nojiriko.asia/prolog/j72_387.html
http://nojiriko.asia/prolog/c160_246.html
の最初の述語のような定義が可能である。これでシングルクォートも
省ければすばらしいのだが。
構わないようだ。'\n'で表現する必要がなく、自然に改行できる。
http://nojiriko.asia/prolog/j72_387.html
http://nojiriko.asia/prolog/c160_246.html
の最初の述語のような定義が可能である。これでシングルクォートも
省ければすばらしいのだが。
588デフォルトの名無しさん
2012/10/19(金) 23:53:01.60 論文とか書く人ってどのProlog処理系使ってるのだろうか…
589デフォルトの名無しさん
2012/10/21(日) 17:48:15.67590デフォルトの名無しさん
2012/10/21(日) 21:04:53.19591デフォルトの名無しさん
2012/10/22(月) 08:29:19.82 「Prologでまったり」から始まりこのスレに至るProlog系スレは、他の
スレに較べて、圧倒的にソースコード掲載の比率が高かった。
この希少な伝統を守るべく、どしどしソースを上げようではないか。
スレに較べて、圧倒的にソースコード掲載の比率が高かった。
この希少な伝統を守るべく、どしどしソースを上げようではないか。
592デフォルトの名無しさん
2012/10/22(月) 08:59:03.59 「憲法改正」は総選挙の争点になるか
安倍さんは「強い日本」「美しい日本」にしたいということで、まずは憲法9条の改正を目指す。
総裁選も盛り上がり、自民党が一気に国民の期待を集めている。
勢いに乗る安倍晋三総裁は、次期衆院選で憲法改正を争点のひとつにする意向を示している。
詳細 2012/10/21
http://www.zakzak.co.jp/society/politics/news/20121021/plt1210210709000-n1.htm
安倍さんは「強い日本」「美しい日本」にしたいということで、まずは憲法9条の改正を目指す。
総裁選も盛り上がり、自民党が一気に国民の期待を集めている。
勢いに乗る安倍晋三総裁は、次期衆院選で憲法改正を争点のひとつにする意向を示している。
詳細 2012/10/21
http://www.zakzak.co.jp/society/politics/news/20121021/plt1210210709000-n1.htm
593デフォルトの名無しさん
2012/10/22(月) 09:00:20.64 zakzakの記事貼るぐらいならまだイカリソースのほうがよかった。
594デフォルトの名無しさん
2012/10/22(月) 09:54:47.36 >>592 % これを述語化しようと思ったが、結構難しく断念。 代わりに最近twitterに張ったものをここにも載せる。出典は空海の秘蔵宝鑰
暗生始 :- 生生生生.
冥生終 :- 死死死死.
暗生始(_) :- 生生生生(_).
冥生終(_) :- 死死死死(_).
暗生始 :- 生生生生.
冥生終 :- 死死死死.
暗生始(_) :- 生生生生(_).
冥生終(_) :- 死死死死(_).
595デフォルトの名無しさん
2012/10/22(月) 10:15:10.89 % これもtwitterに出したもの。バブルソート。カットが一ヶ所入るのが癪。
バブルソート(L1,L2) :-
軽い泡はちょっと浮き上がる(L1,L3),
泡が浮き上がったら最初からやり直す(L3,L2),!.
バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
バブルソート(L1,L2) :-
軽い泡はちょっと浮き上がる(L1,L3),
泡が浮き上がったら最初からやり直す(L3,L2),!.
バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
596595 書き直し
2012/10/22(月) 10:18:12.44バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
597デフォルトの名無しさん
2012/10/22(月) 10:33:43.08 最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数),!.
最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(M,N,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数) :-
M < N,
最大公約数をユークリッドの互除法で求める(N,M,_最大公約数).
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を除数とし
て割ることを繰り返す(_被除数,_除数,_最大公約数) :-
_剰余 is _被除数 mod _除数,
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰
り返す(_除数,_剰余,_最大公約数).
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,0,_最大公約数) :-
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数),!.
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,_剰余,_最大公約数) :-
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除
数,_剰余,_最大公約数).
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数) :-
_除数 = _最大公約数.
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除数,_剰余,
_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(_除数,_剰余,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数),!.
最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(M,N,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数) :-
M < N,
最大公約数をユークリッドの互除法で求める(N,M,_最大公約数).
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を除数とし
て割ることを繰り返す(_被除数,_除数,_最大公約数) :-
_剰余 is _被除数 mod _除数,
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰
り返す(_除数,_剰余,_最大公約数).
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,0,_最大公約数) :-
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数),!.
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,_剰余,_最大公約数) :-
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除
数,_剰余,_最大公約数).
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数) :-
_除数 = _最大公約数.
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除数,_剰余,
_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(_除数,_剰余,_最大公約数).
598デフォルトの名無しさん
2012/10/23(火) 04:01:29.74 昨日、「Prologの宿題片付けます」スレが第二編として復活しました。
http://toro.2ch.net/test/read.cgi/tech/1350893602/
出題-解答系はこちらに載せましょう。
http://toro.2ch.net/test/read.cgi/tech/1350893602/
出題-解答系はこちらに載せましょう。
599デフォルトの名無しさん
2012/10/23(火) 09:52:31.68 そういえば、「いろんな言語で宿題 第5編」スレもDat落ちしてしまった。
勝手は事実上のPrologスレといえるほど、肩入れしていたのだが最近は
さっぱりで、二ヶ月近くも書き込みがなかったせいか削除された。
「いろんな言語で宿題」スレの歴史はム板の中でも秀逸だと思うが。
勝手は事実上のPrologスレといえるほど、肩入れしていたのだが最近は
さっぱりで、二ヶ月近くも書き込みがなかったせいか削除された。
「いろんな言語で宿題」スレの歴史はム板の中でも秀逸だと思うが。
600デフォルトの名無しさん
2012/10/23(火) 10:40:52.30 そのスレはJのコードの量だけでもちょっと見ることができないものだった。
JはAPL後継で有名だが、ほとんど知られていない数式処理関係のプログラム言語の
コードがかなり掲載されて凄いスレだったことは間違いない。私どもProlog勢が
書き込み過ぎて、Prologスレと見られてHaskell等関数型の書き込みが少なかった
のが残念だったけど。
JはAPL後継で有名だが、ほとんど知られていない数式処理関係のプログラム言語の
コードがかなり掲載されて凄いスレだったことは間違いない。私どもProlog勢が
書き込み過ぎて、Prologスレと見られてHaskell等関数型の書き込みが少なかった
のが残念だったけど。
601デフォルトの名無しさん
2012/10/23(火) 10:52:07.55 いろんな言語で宿題 第五編
http://logstar.jp/toro.2ch.net/tech/1276873238/
http://logstar.jp/toro.2ch.net/tech/1276873238/
602デフォルトの名無しさん
2012/10/23(火) 11:14:19.57 マイナー言語がハッスルするスレですね。
603デフォルトの名無しさん
2012/10/23(火) 11:51:01.56 >>602
「いろんな言語で宿題」スレは、大変マニアックなと言っては失礼に当たるかも知れ
ない専門家が一人いて、5題に1題くらいの割ではあったが、次々と書き込んで
くださった。私は結局覚えなかったし、ほとんど分からなかったが、十分楽しんだ。
「いろんな言語で宿題」スレは、大変マニアックなと言っては失礼に当たるかも知れ
ない専門家が一人いて、5題に1題くらいの割ではあったが、次々と書き込んで
くださった。私は結局覚えなかったし、ほとんど分からなかったが、十分楽しんだ。
604デフォルトの名無しさん
2012/10/24(水) 15:22:58.60605デフォルトの名無しさん
2012/10/24(水) 15:43:33.97 間違いないことは、この3年間に、最もプログラムがリンクを張るのでなく
直接2chに書き込まれたプログラム言語はPrologだということ。それも
圧倒的に。それではなぜ書き込むことができたかが、重要な点なのだが。
直接2chに書き込まれたプログラム言語はPrologだということ。それも
圧倒的に。それではなぜ書き込むことができたかが、重要な点なのだが。
606デフォルトの名無しさん
2012/11/04(日) 16:04:59.78 三交代の当直表を作るときなんかは便利そうなのになぁ。縦横の
条件と初期条件を満たす解を探すのなんて数独と同じだよね。
それとクリティカルパスを考えるときに、データ構造を網構造として手続き型で
処理するか、ガッサリPrologエンジンに任せるか。まだメモリ8GB程度じゃ
遅いのかねぇ?
条件と初期条件を満たす解を探すのなんて数独と同じだよね。
それとクリティカルパスを考えるときに、データ構造を網構造として手続き型で
処理するか、ガッサリPrologエンジンに任せるか。まだメモリ8GB程度じゃ
遅いのかねぇ?
607デフォルトの名無しさん
2012/11/09(金) 21:14:46.06 今でも結構人気なんですね。SchemeやGoよりGitHub利用が多い。
http://jp.techcrunch.com/archives/20120912javascript-tops-latest-programming-language-popularity-ranking-from-redmonk/
http://jp.techcrunch.com/archives/20120912javascript-tops-latest-programming-language-popularity-ranking-from-redmonk/
608デフォルトの名無しさん
2012/11/10(土) 11:41:57.60609デフォルトの名無しさん
2012/11/10(土) 18:20:35.78 モノ珍しいので一度は触ってみるという意味での人気であって、業務で使っているとは思えない
610デフォルトの名無しさん
2012/11/11(日) 05:08:35.66 >>609
日本の場合、大学に100以上の講座があって、それを受講したら
お終いなので物珍しいからに近い。あちらでは、日本でSQL枠と
されている就職口が論理という枠になっていて権威もある。論理
枠の中でPrologは一定の地位を占めていて、想像以上に実務でも
使われている。
日本の場合、大学に100以上の講座があって、それを受講したら
お終いなので物珍しいからに近い。あちらでは、日本でSQL枠と
されている就職口が論理という枠になっていて権威もある。論理
枠の中でPrologは一定の地位を占めていて、想像以上に実務でも
使われている。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★6] [蚤の市★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★4
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★5
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- お前ら 寒さ対策どうしてるの [769050516]
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ3
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ2
