![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
僕も最近Prologで遊んでました(笑)。
んで、まあ、感想等を。多分「計算量」とは言っても言語が裏で実際に行ってる計算量の事の事なんじゃなくって「計算の為の記述」の量、って事じゃないんでしょうか?僕も触った感じ、そんな気がしました。かなり抽象度が高い言語ですね。
実は、「アルゴリズム"だけを"を書く」事を考えた場合、通常の手続き型言語なんかは「作法」と言うか「そのプログラミング言語特有の」書式が邪魔になると言うか、「余計な記述量が増える」んです。そっち側に手間取る。
例えばC言語だったら#include...みたいな「オマジナイ」とか、ですよね。本質的にはそう言う「お約束」はアルゴリズム自体には何も関係なかったりして。
一方、Prologは、例えば数学的な意味でのアルゴリズム(数式)に殆ど1対1で対応しているような感じです。Haskellもそんな感じですが、Prologはもっと凄いですね(笑)。何せ、数学的に考えられるだけの「条件を列挙していけば良い」って言う愚直な感じなんで。関数型言語も記述能力自体は高いですが、それ以上だよな、とは思いました。「それ以上」が必要か否かは好みの問題になってくるでしょうが。
まあ、いずれにせよ、確かにそう言う意味ではPrologを使うと「アルゴリズム記述だけに」集中出来るのは事実だと思います。バカみたいに直球勝負だよな、って印象です(笑)。
その先生がそう言う意味で仰ってたのかどうかは分かりませんが、一応参考までに。
No.3
- 回答日時:
計算量の無駄ですか…
んー、どうでしょう?一般には、Prologで書くのは計算量的に有利には働かないと思います。なので、他の言語ではPrologより無駄を省いたプログラムが書ける、ってことなのか…?
先生のお話を詳しく聞いてみないと、真意を掴みかねます。
この回答への補足
#2の回答者さんを参考にして考えるとPrologでゴリゴリとアルゴリズムを書く→手続き型言語になったときに無駄にfor文を書いたり, 無駄に再帰させたりすることを防げるということだと思います。
劇的に計算量はかわりませんが無駄な行を減らせるという点では有益なのでは?
No.2
- 回答日時:
まちがってはないし,Prologのような古典的な言語は
アルゴリズムの勉強にはいいのかもしれません.
けど,それをいうなら
Lisp(Common LispとかScheme)もそうだし,
新しいけどHaskellなんかもいいとおもう.
Prologも含めてこいつらは癖があるけども
アルゴリズムを直接ごりごり書くのが比較的容易.
関数型言語というか
「宣言型」のプログラムが容易な言語は
アルゴリズムを書きやすい傾向があると思う.
一個だけじゃなくって,複数の言語で
同じことをさせてみると結構勉強になりますよ.
「無駄な計算量が省けるか否か」は
アルゴリズムそのものの計算量の問題もあるし,
どんな言語だって
「無駄な計算を紛れ込ませてしまう」ことは
よくあることです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[ EXCEL VBA ] 図形を読み込む...
-
ランダム関数を作りたい。
-
期間重複チェックがわかりません
-
アルゴリズムとプロトコールの違い
-
VBAの学習について
-
携帯のパスワードについてです。
-
避難シミュレーションプログラ...
-
C♯で電卓を作成しています。演...
-
正しい五十音順について
-
VC++で通信型オセロを作りたい...
-
三次元形状曲面の導出法
-
qsortの先頭のqの意味
-
SEO対策会社ヴォラーレの対応は...
-
あいまい検索(文字列一致率)
-
ゲーミングPCに入っているAlris...
-
VBAで仕様書は書きますか?
-
自動クエリとはどういうもので...
-
あるプログラムのコマンドライ...
-
VBA実行中に他の作業をする
-
自作のプログラムがウイルスと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
期間重複チェックがわかりません
-
[ EXCEL VBA ] 図形を読み込む...
-
BCDについて
-
OpenCVのライセンスについて
-
シードを考慮したトーナメント...
-
グループを均等に分けるには?...
-
正数分割の個数
-
乗換案内の作り方が知りたいです。
-
C♯で電卓を作成しています。演...
-
あいまい検索(文字列一致率)
-
多変数関数の最小値を求めるプ...
-
ランダム関数を作りたい。
-
画像から文字を認識してテキス...
-
vbaで、連立方程式を解く方法に...
-
c言語で画像から文字を認識 キ...
-
ルービックキューブの解法プロ...
-
CRC-CCITT16の算出法
-
JPEG圧縮で8×8に分割する理由に...
おすすめ情報