トップページ⇒tech
65コメント20KB

アルゴリズムとは何か

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
他人にうまく説明できません
0015デフォルトの名無しさんNGNG
古い計算機科学ではそれを「纂法」と約した。
0016デフォルトの名無しさんNGNG
OSを「基本ソフト」と説明しているのを見るといまだに違和感を感じる。
0017デフォルトの名無しさんNGNG
すみません。初心者です。
windoesがdosから戻らないんですが、どうしたらいいでしょうか。
どなたか教えてください。

Type the neme of the command interpreter(e.g.,C:/windows/command.com)
C>

となったままで、再起動しても同じ現象が起こります。
どなたかご存知でしたらお願いします。
0018デフォルトの名無しさんNGNG
>>3
>もっと相手を「へー」っていわせるかっこよくて意味不明な説明の仕方できないのか?

とりあえずこう言っとけ。

「 "アルゴリズム" ってやつは、一言でいえば "人生" みたいなものだよ」
0019デフォルトの名無しさんNGNG
アルゴリズムとは
定式化された問題を解く
具体的な方法。

たとえば、素数を列挙するアルゴリズムといった場合、
素数を列挙するという問題に対しての
具体的なアプローチを、アルゴリズムという
0020 NGNG
相対性理論だろ



-------------------------------終了-----------------------------
0021デフォルトの名無しさんNGNG
19ITS = 19 is Thread Stoper
0022デフォルトの名無しさんNGNG
希にネストが周期的になり、ある波形ができます

これがリズムです
0023ありずみアルフNGNG
アルフアリズミって知ってる?
0024デフォルトの名無しさんNGNG
クイックソート最強
0025デフォルトの名無しさんNGNG
Algorithm [algiorizm]

 名:解法。
 副:引きこもりなどに飲ませる薬。
0026デフォルトの名無しさんNGNG
アルゴリズムとは・・・

結論を導くまでの道のこと。
手段。
方法。
考え方。
進み方。
計算の仕方。

・・・もう、教えることはない。
免許皆伝。
0027デフォルトの名無しさんNGNG
(-_-) → (プロセス) → 3Dhikkyゲーム完成

 ↑      ↑       ↑
 今      ここ      目標
0028al-khwarizmiNGNG
http://member.nifty.ne.jp/premier/KEY24.html#%81%9C%83A%83%8B%83S%83%8A%83Y%83%80
0029デフォルトの名無しさんNGNG

プログラム?

俺のイメージでは「段取り」かなまあだいたい>>26とおんなじかな。

だったら「システム」てのはどーゆーふーに説明するかな?

???


0030デフォルトの名無しさんNGNG
システムとは・・・

一つ一つの要素が集まって、意味を成すそれを総称する言葉。
「わが社のシステムは・・・」
「システムファイルの一つが壊れた」
「システムを構築する」

・・・こんな感じだろか?
間違ってるかもしれん・・・。
0031デフォルトの名無しさんNGNG
>>30 そうなんだよな、俺もそんな感じだと思うんだけど。
うちは理工系の会社だが本職がコンピューター屋じゃないから
未だにシステム=プログラムと思っている上司が多いわけよ・・・
昔ながらの伝票みたいな方法でも情報の管理、運用ができれば
システムだと思うんだけどね。
この辺の情報管理技術を理解する能力がないから
ISOみたいなシスティマティックなものだと本質を見失って
「ダブルスタンダードですね。」って突っ込まれちゃう。

   ∧ ∧     ┌────────────
  ( ´Д`)   < どうにかしてクレーヨ。
   \ <     └───/|────────
    \.\______//
      \       /
       ∪∪ ̄∪∪   

0032デフォルトの名無しさんNGNG
>>1
実はアルゴリズムがなにか分かってないからでしょ。
0033デフォルトの名無しさんNGNG
実はアルゴリズムが何か書いてある本にお目にかかったことがない。
「アルゴリズムが存在する」という用語に定義はあっても、アルゴリズム
そのものに厳密な定義はないんじゃない? 問題を解く手順くらいの
ナイーブな定義くらいしかないと思う。
0034デフォルトの名無しさんNGNG
明確に定義されたステップの有限個の記述からなり、
どのような入力に対しても停止することが保証されている
ものがアルゴリズム。
保証がないものは、アルゴリズムとは呼ばない。
0035デフォルトの名無しさんNGNG
薗部さんが購入した馬の名前です。
新潟競馬で3位に入賞しますた。
0036デフォルトの名無しさんNGNG
>>34
つまりセルオートマトンはアルゴリズムではない?
0037デフォルトの名無しさんNGNG
処方箋
0038デフォルトの名無しさんNGNG
>>34
それは「アルゴリズムが存在する」の定義であって、アルゴリズム
そのものの定義と違うんでは内科?

その定義だと、停止が保障できる場合はプログラムそのものが
アルゴリズムになってしまうので。
じつは、もっと抽象的なものであって欲しいという願望があるだけ
なのだが(私にとって)。
0039デフォルトの名無しさんNGNG
道を示したもの
0040デフォルトの名無しさんNGNG
>>38
何で記述するかっていう問題だけだろ

動作可能なプログラムで記述すると通常は問題の解決以外の
メモリの確保であるとか結果表示であるとかが含まれる場合が
多いと思うが。

問題解決のアルゴリズムをある特定のプログラミング言語で
記述することになんら問題はない。
(それが動作可能かどうかは知らんが)
0041デフォルトの名無しさんNGNG
>>34
その定義では、「エラトステネスの篩」はアルゴリズムとしては見事に「失格」となるな。
停止しないし、入力なんてものも無いし・・・

アルゴリズムが存在する = 計算可能
∴アルゴリズム = 計算の表現

でどうよ?

>>38
>プログラムそのものが
>アルゴリズムになってしまうので。
基本的には「プログラム = アルゴリズム」でいいんじゃないか?(気持ちは分かるが)
要するにそれは見方の違いだろう。
「女」を「女性」と見るか、「人間」と見るか、「物体」と見るか、みたいな・・・
004238NGNG
例えばQuick Sort のアルゴリズムは何かというとき、アルゴリズムが
プログラムそのものだと、ほんの1行、表現が変わっただけで、
アルゴリズムが変わったと言わなければならないので、「アルゴリズム」と
いう用語はもっと抽象的なもの(手順の本質的なもの)にとって
おきたいなということです。

で、教科書なんかで、アルゴリズムの厳密な定義をしている本を見た記憶が無く、
「アルゴリズムが存在するとは」ということの定義でお茶を濁している
ような気がしているのですが。
004338NGNG
アルゴリズムという抽象的なものがあって、その無数にある表現が
プログラムだと思いたいのですが、そのもともとの抽象的なものの
定義がものすごく難しいんじゃないかと思います。

例えば、Quick Sort だと、
  全体を小さな数の集合と、大きな数の集合に
  ほぼ半分半分に分けて、それぞれを同じ方法でソートする
という部分が本質で、最初に、変数を初期化するかとかいうことは
本質じゃないでしょ。アルゴリズムの研究者の全部が取り組んで
欲しいとは思わないけど、だれかこういうことを真剣に考えて
くれると嬉しいなと思います。
0044デフォルトの名無しさんNGNG
>>42
なにを「本質」とするかは文脈によって変わる。
クイックソートを例として挙げるなら

qsort(a,b,c,d);

は「クイックソートをするプログラム」と言えるかもしれないが
アルゴリズムという側から見れば、単なる「1関数の呼び出し」に過ぎない。
これを「クイックソートのアルゴリズム」と呼ぶのはおかしいと思う。
004538NGNG
話を元に戻すと、
 アルゴリズムとは何か?
という問には総簡単に答えは無いように思います。
問いを変えて、次のようにすると答えられるのかなと。
 ・アルゴリズム研究とはどんなことをやる分野ですか?
 ・アルゴリズムが存在するってどういうことですか?
 ・このアルゴリズムの計算量はどれだけですか?
  (正確には、このアルゴリズムを実装するプログラムの
  計算量のような気がしますが)
0046デフォルトの名無しさんNGNG
>>45
よく「哲学とは何か?」なんて話題の時に
必ず出てくる意見だな。

不賛成。そんな意見のままでは

「アルゴリズム = 犬」

などと置き換えても大して問題が起こらない。
0047デフォルトの名無しさんNGNG
Aho, Hopcroft, UllmanのData Structures and Algorithm の1章にこうあるよ。
日本語訳の本もでてるとおもうが。

Algorithms
Once we have a suitable mathematical model for our problem, we can attempt to find
a solution in terms of that model. Our initial goal is to find a solution in the form of an
algorithm, which is a finite sequence of instructions, each of which has a clear meaning
and can be performed with a finite amount of effort in a finite length of time. An integer
assignment statement such as x := y + z is an example of an instruction that can be
executed in a finite amount of effort. In an algorithm instructions can be executed any
number of times, provided the instructions themselves indicate the repetition. However,
we require that, no matter what the input values may be, an algorithm terminate after
executing a finite number of instructions. Thus, a program is an algorithm as long as
it never enters an infinite loop on any input.

004838NGNG
でも、アルゴリズム自体の定義をしている本見たことあります?
「計算の手順」くらいの直感的な定義でかたずけているか、あるいは
アルゴリズムそのものは定義しないで逃げてる本が大部分じゃないですか?
004938NGNG
>>47

Aho が、アルゴリズムは、停止が保障されたプログラムのことだと
言い切ってるんですね。

どうもすみませんでした。認識を新たにしました。
それとわざわざ入力していただきありがとうございます。
0050デフォルトの名無しさんNGNG
アホの言う事なんて信じられんな。
0051デフォルトの名無しさんNGNG
つまらぬスレを紫にしてしまった・・・
0052デフォルトの名無しさんNGNG
>>51
その表現、いいね。
0053デフォルトの名無しさんNGNG
明確に定義された有限個の規則の集まりであって
有限回適用することにより問題を解くもの
0054デフォルトの名無しさんNGNG
>>53
レス番にふさわしい発言だな。
0055デフォルトの名無しさんNGNG
何かのために機能するもののうち
・終わらなきゃいけないのがアルゴリズム
・終わらなくていいのがシステム
0056デフォルトの名無しさんNGNG
キチガイばっかりですか?
0057デフォルトの名無しさんNGNG
らしいな
0058デフォルトの名無しさんNGNG
そういえば「算法少女」っていう江戸時代の和算を描いた児童文学みたいなのが
昔あったらしいが、絶版。そのうち図書館に残ってる奴とかを読みたいのだが。。
0059デフォルトの名無しさんNGNG
「これぞ算法、掃き出しの術!」とか見得を切るとカコイイぞ
0060デフォルトの名無しさんNGNG
>>41
入力あるんでにあ?
0061名無しさん@カラアゲうまうまNGNG
ないだろ
0062デフォルトの名無しさんNGNG
数列の初項入れるのは入力?
0063名無しNGNG
algorism と algorithm どっちが正しい?
0064デフォルトの名無しさんNGNG
#include <vector>
#include <string>
#include <algorithm>
0065デフォルトの名無しさんNGNG
「ヒューリスティックなアルゴリズム」
■ このスレッドは過去ログ倉庫に格納されています