C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[16]: 曲線への理解


(過去ログ 26 を表示中)

[トピック内 25 記事 (1 - 20 表示)]  << 0 | 1 >>

■11643 / inTopicNo.1)  曲線への理解
  
□投稿者/ Mr.T (149回)-(2007/12/19(Wed) 15:52:57)

分類:[雑談] 

2007/12/19(Wed) 16:38:46 編集(投稿者)

Mr.Tです、こんにちは。
あえて雑談にしてます。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=11581の件です。

なんだか質問者の方がちょっと不憫な感じがして、こういうケースの場合って
どう質問を組み立てたらいいんだろうと思った次第です。

私なら、ええー、わからーん、と逆質問してみようかと思いました。

質問:
こうこう、こういう点が与えられたんです。
これで、なめらかな曲線グラフをかけ、と言われました。
曲線は、適当でいい、といわれてます。(つまり、<del>どーでもいい</del> 曲線はプログラマが任意の式を利用してよいとします)
点だけを与えられて、曲線を描くための式を求めるには、まず
何を考えないといけないのでしょうか?
そもそも、点だけの情報で、求めることが可能なんでしょうか?
他にどういう情報を考えないといけないのでしょうか?

みたいな感じ。
これじゃやはり、まずいですか?


引用返信 編集キー/
■11646 / inTopicNo.2)  Re[1]: 曲線への理解
□投稿者/ 774RR (94回)-(2007/12/19(Wed) 16:03:29)
どーでもいいならどーでもいいぢゃんと返します。
好き勝手に曲線でも直線でも選んでください。
最終的に得られる結果も、どーでもいい結果にしかなりませんが。
そーいう課題を与えてきた設問側に0点を差し上げます。
引用返信 編集キー/
■11648 / inTopicNo.3)  Re[1]: 曲線への理解
□投稿者/ れい (322回)-(2007/12/19(Wed) 16:11:57)
No11643 (Mr.T さん) に返信
> Mr.Tです、こんにちは。
>...
> これじゃやはり、まずいですか?

ぜんぜん全くまずくありません。
回答しがいのある質問です。

> そもそも、点だけの情報で、求めることが可能なんでしょうか?

たくさん点があると、
人間は勝手に間を保管したり、拡張したりして線を想像できます。
これは「帰納」です。

「帰納」のできるアルゴリズムはほとんどありません。
#GAはできるけど、それも問題の範囲のわかる枠組みを作ってあげないとダメ。

ですので、本当に点だけであるなら、無理です。

> 曲線は、適当でいい、といわれてます。(つまり、どーでもいい)
> 点だけを与えられて、曲線を描くための式を求めるには、まず
> 何を考えないといけないのでしょうか?

その曲線が「理論的」にはどういった形になるべきなのか、
もしくは、どういった形のグラフを描いたら「応用上有用である」のかを考えます。

つまり、どう描きたいのか考えます。

「近似曲線を引く」と言うのは
引く人の主観が入る、非常に恣意的な作業なのです。

#なので、「どう描きたいの?」と聞かざるを得ないわけですね。

きちんと考えるとあまりに難しいので、
分野によっては標準的な引き方がある程度決まっています。

科学で一般に用いられる方法は、
誤差がガウス分布すると仮定し、
データ点と理論曲線の二乗距離の総和が最小になるように近似します。
理論曲線はその都度考えますが、よくわからない場合は1次を用います。
全ての曲線は拡大すれば1次に近似できるからです。

2乗距離として、
( f(X[i]) - y[i] )^2
を採るのは手を抜くときです。
本来は近似曲線への最小距離を用います。
引用返信 編集キー/
■11651 / inTopicNo.4)  Re[2]: 曲線への理解
□投稿者/ れい (324回)-(2007/12/19(Wed) 16:16:59)
2007/12/19(Wed) 16:21:14 編集(投稿者)

No11648 (れい さん) に返信
>>曲線は、適当でいい、といわれてます。(つまり、どーでもいい)
>>点だけを与えられて、曲線を描くための式を求めるには、まず
>>何を考えないといけないのでしょうか?
>
> その曲線が「理論的」にはどういった形になるべきなのか、
> もしくは、どういった形のグラフを描いたら「応用上有用である」のかを考えます。

ちなみに、一般に応用上最も有用であるのは直線です。
それ以外は特殊です。

もう一点。
No11643 (Mr.T さん) に返信
> 曲線は、適当でいい、といわれてます。(つまり、どーでもいい)

「どーでもいい」のではなく、
「どうしていいのかわからない」が正しいのではないでしょうか?
どーでもいいなら、無くてもいいでしょう?
引用返信 編集キー/
■11652 / inTopicNo.5)  Re[2]: 曲線への理解
□投稿者/ Mr.T (151回)-(2007/12/19(Wed) 16:24:02)
Mr.Tです、ありがとうございます。

No11646 (774RR さん) に返信
> どーでもいいならどーでもいいぢゃんと返します。
> 好き勝手に曲線でも直線でも選んでください。
> 最終的に得られる結果も、どーでもいい結果にしかなりませんが。
> そーいう課題を与えてきた設問側に0点を差し上げます。

確かに、どうでもいい、ってのはいけなかったのか>すみません。
任意で決めてよい、という形にしたほうがよいのかな。

> 最終的に得られる結果も、どーでもいい結果にしかなりませんが。
> そーいう課題を与えてきた設問側に0点を差し上げます。

元の質問を変形したのは私なので、私が0点なのは仕方ないです。
ただ、おそらく質問者の人が「こんな感じにしてよ」といわれただけで、
「こんな感じ」って言った人も、どういう形の近似式を利用するのか
を理解していないこともあるかもしれません。
#元質問は、4次ってなってましたけど

それをあえて、曲線としたいというわけですから、そこへの解法は
どこにあるの?ということを質問したいというわけです。

引用返信 編集キー/
■11657 / inTopicNo.6)  Re[2]: 曲線への理解
□投稿者/ Mr.T (152回)-(2007/12/19(Wed) 16:34:52)
Mr.Tです、ありがとうございます。

No11648 (れい さん) に返信
> ■No11643 (Mr.T さん) に返信
>>Mr.Tです、こんにちは。
> >...
>>これじゃやはり、まずいですか?
>
> ぜんぜん全くまずくありません。
> 回答しがいのある質問です。
>
>>そもそも、点だけの情報で、求めることが可能なんでしょうか?
>
> たくさん点があると、
> 人間は勝手に間を保管したり、拡張したりして線を想像できます。
> これは「帰納」です。
>
> 「帰納」のできるアルゴリズムはほとんどありません。
> #GAはできるけど、それも問題の範囲のわかる枠組みを作ってあげないとダメ。
>
> ですので、本当に点だけであるなら、無理です。

はい、なるほど。
確かに、人間が曲線を描く場合でもそうですが、人によって同じ曲線には
ならないですね。直線なら、点があるなら、相似にはなるでしょうが。

> つまり、どう描きたいのか考えます。
>
> 「近似曲線を引く」と言うのは
> 引く人の主観が入る、非常に恣意的な作業なのです。
>
> #なので、「どう描きたいの?」と聞かざるを得ないわけですね。


ですね。
その説明って、図で表示するのが一番直感的ではあるんですが、その手法は用いることは
できないとして、難しい数学用語を用いないとすれば

例えば、
「横軸方向に大きくなるにしたがって、yの値が0に近づくけど、0にはならない感じ」
とか
「Xの値が大きくなっていくと、Yの値も大きくなっていく感じ」
とか
「山が4つ以上ある」
とか、こういう説明でOKなんでしょうか?


> 科学で一般に用いられる方法は、
> 誤差がガウス分布すると仮定し、
> データ点と理論曲線の二乗距離の総和が最小になるように近似します。
> 理論曲線はその都度考えますが、よくわからない場合は1次を用います。
> 全ての曲線は拡大すれば1次に近似できるからです。

ここが曲線でのミソなんですかね。
じゃあ、ガウス分布ってなによ、とかを調べたり、2乗距離からどうやって
求めるんよ、ということを調べたりすればOKってことですよね。


引用返信 編集キー/
■11658 / inTopicNo.7)  Re[3]: 曲線への理解
□投稿者/ Mr.T (153回)-(2007/12/19(Wed) 16:37:43)
> もう一点。
> ■No11643 (Mr.T さん) に返信
>>曲線は、適当でいい、といわれてます。(つまり、どーでもいい)
>
> 「どーでもいい」のではなく、
> 「どうしていいのかわからない」が正しいのではないでしょうか?
> どーでもいいなら、無くてもいいでしょう?

はい、これは、数学なんてわからんユーザからという夢想でww
「えー、折れ線じゃなくて、曲線にしようよー。え?どんな曲線?
そんなの適当でいいからさー。こう、滑らかにね」
的な要望であったとw

なので、どうでもいいってのは、プログラマが自由に決めてよいってことで
どうでしょう。
引用返信 編集キー/
■11659 / inTopicNo.8)  Re[3]: 曲線への理解
□投稿者/ れい (326回)-(2007/12/19(Wed) 16:39:18)
No11657 (Mr.T さん) に返信
> その説明って、図で表示するのが一番直感的ではあるんですが、その手法は用いることは
> できないとして、難しい数学用語を用いないとすれば
>
> 例えば、
> 「横軸方向に大きくなるにしたがって、yの値が0に近づくけど、0にはならない感じ」
> とか
> 「Xの値が大きくなっていくと、Yの値も大きくなっていく感じ」
> とか
> 「山が4つ以上ある」
> とか、こういう説明でOKなんでしょうか?

ええ。それでOKですよ。
それなら数学表現と同値ですから。

> ここが曲線でのミソなんですかね。
> じゃあ、ガウス分布ってなによ、とかを調べたり、2乗距離からどうやって
> 求めるんよ、ということを調べたりすればOKってことですよね。

んー。ぜんぜんミソじゃない気がしますよ。

たとえると、
何を作りたいのかわからないのに
デザインパターンを勉強する感じかな?
引用返信 編集キー/
■11660 / inTopicNo.9)  Re[3]: 曲線への理解
□投稿者/ 774RR (95回)-(2007/12/19(Wed) 16:55:22)
点列があって近似式を求めて、それをもとに外挿や内挿するのであれば、
・理論(仮説)上の式があるとか(近似結果でもって仮説を検定・棄却するとか)
・プログラム化するにあたって適切な応用があるとか
なんかあるはずです。なにもなきゃ何もする必要は無いので。

理論上の応用については外出なので省略。
計算上の応用として俺がよく使うのは三次式(計算量に対して誤差が小さい)です。
(点列が右上がり(右下がり)でなければ二次式を検討)

この辺から近似のベースに使う式は exp, log, 一次式、二次式、三次式のどれかです。
何でもいいなんてことはまず絶対にありません。
4次式で近似するなどということは計算量的にも考慮外です。

単に点列を結んだ曲線が描きたいのであればBスプラインなりベジエなりをまず考慮します。
近似式を立てるような無駄なことはしません。
引用返信 編集キー/
■11662 / inTopicNo.10)  Re[4]: 曲線への理解
□投稿者/ Mr.T (154回)-(2007/12/19(Wed) 16:59:25)
No11659 (れい さん) に返信
> ■No11657 (Mr.T さん) に返信
>>その説明って、図で表示するのが一番直感的ではあるんですが、その手法は用いることは
>>できないとして、難しい数学用語を用いないとすれば
>>
>>例えば、
>>「横軸方向に大きくなるにしたがって、yの値が0に近づくけど、0にはならない感じ」
>>とか
>>「Xの値が大きくなっていくと、Yの値も大きくなっていく感じ」
>>とか
>>「山が4つ以上ある」
>>とか、こういう説明でOKなんでしょうか?
>
> ええ。それでOKですよ。
> それなら数学表現と同値ですから。

じゃあ、
「こうこう、こういう点があって、次の条件での曲線をかきたいのですが
どうやって式をもとめたらいいのでしょう。
1)山が4つある
2)Xの値が大きくなっていくと、Yの値もだんだん大きくなる。ただし、山谷部分はのぞいて」

こんな形ですかね?

> んー。ぜんぜんミソじゃない気がしますよ。
>
> たとえると、
> 何を作りたいのかわからないのに
> デザインパターンを勉強する感じかな?

あららorz
まずは、問題定義をはっきりしろってことですね。
引用返信 編集キー/
■11663 / inTopicNo.11)  Re[4]: 曲線への理解
□投稿者/ Mr.T (155回)-(2007/12/19(Wed) 17:11:28)
ありがとうございます。
No11660 (774RR さん) に返信
> 点列があって近似式を求めて、それをもとに外挿や内挿するのであれば、
> ・理論(仮説)上の式があるとか(近似結果でもって仮説を検定・棄却するとか)
> ・プログラム化するにあたって適切な応用があるとか
> なんかあるはずです。なにもなきゃ何もする必要は無いので。

はい、なんらかの実験データであれば、そもそも理論がある場合も多いかと
思いますので、そこは理論式を使えばいいと思います。

確かに、なんかはあるはずなんですよね。
自分で曲線ひいてみたら、波型になったとか、山ができたとか。
発散するとか、収束するとか、まあ要望する形をもちっと突っ込めば
もう少しやりやすくなるということですね。

> 理論上の応用については外出なので省略。
> 計算上の応用として俺がよく使うのは三次式(計算量に対して誤差が小さい)です。
> (点列が右上がり(右下がり)でなければ二次式を検討)

なるほど、こういう返答はありがたいです。
とりあえず、手がかりのない場合は、とりあえず「3次でやってみるか」というスタンスが
とりやすくなりますし、そうでなくとも「これはやってみた」という結果がでます。
#まあ、あたりもつけずに手当たり次第というのはやりたくないですが...

> この辺から近似のベースに使う式は exp, log, 一次式、二次式、三次式のどれかです。
> 何でもいいなんてことはまず絶対にありません。
> 4次式で近似するなどということは計算量的にも考慮外です。
> 単に点列を結んだ曲線が描きたいのであればBスプラインなりベジエなりをまず考慮します。
> 近似式を立てるような無駄なことはしません。

なるほど、単に近似式がほしいのでなかったら、Bスプライン、ベジエなりを
調べていけばよいわけですね。
ここも、わからん人間にはネックになりそうな部分ですね。
引用返信 編集キー/
■11664 / inTopicNo.12)  Re[4]: 曲線への理解
□投稿者/ れい (327回)-(2007/12/19(Wed) 17:45:44)
No11662 (Mr.T さん) に返信
> じゃあ、
> 「こうこう、こういう点があって、次の条件での曲線をかきたいのですが
> どうやって式をもとめたらいいのでしょう。
> 1)山が4つある
> 2)Xの値が大きくなっていくと、Yの値もだんだん大きくなる。ただし、山谷部分はのぞいて」
> こんな形ですかね?

まぁそういう形で言えるなら求めたいものが決まってるので
問題ないと思いますが。

質問の状況から考えると、
4次式の根拠が無さそうなのでオススメできませんね。

#ちなみに4次式は山3つね。

だから何をしたいのか、聞いてるのです。
「近似曲線を描きたい」じゃわかりませんが、
何のグラフを描きたいのかわかればわかることもあります。

適切な手法を説明できるかもしれないと。

No11660 (774RR さん) に返信
> この辺から近似のベースに使う式は exp, log, 一次式、二次式、三次式のどれかです。
> 何でもいいなんてことはまず絶対にありません。
> 4次式で近似するなどということは計算量的にも考慮外です。

んー。私は4も5も普通に使いますね。諸事情により11くらいまでは使うなぁ。
引用返信 編集キー/
■11665 / inTopicNo.13)  Re[5]: 曲線への理解
□投稿者/ 774RR (97回)-(2007/12/19(Wed) 18:20:51)
俺ちゃんの場合ワンチップマイコンで A/D 読み取り値から**や△△を求める応用が主なので
そもそもが回路定数のばらつき等等で正確な値が得られることはありえないため
精度はあまり要求されず、むしろ速度的・記憶域的にコンパクトなものが必要なのでもっぱら三次。
それも整数演算の範囲で求めます。
二次式で済む場合には二次式のルーチンを組み、三次式のルーチンは呼ばないです(速度が重要なので)
どーしてもWな曲線が必要だった応用は過去に1回くらいしかないですな。

高次項が無視できない応用があることは重々承知しております。
俺ちゃんが高次項をたくさん使ったのはフーリエ級数展開を使った場合ですが。
引用返信 編集キー/
■11685 / inTopicNo.14)  Re[6]: 曲線への理解
□投稿者/ Mr.T (157回)-(2007/12/20(Thu) 09:19:59)
Mr.Tです、こんにちは。

> 二次式で済む場合には二次式のルーチンを組み、三次式のルーチンは呼ばないです(速度が重要なので)
> どーしてもWな曲線が必要だった応用は過去に1回くらいしかないですな。

ちょっと確認なんですが、2次式で済む場合というのは、
元々の理論式があり、それを近似式であらわすときに、3次式ではなく、2次式でも求めたい
結果がでる、というところからの判断でしょうか。
それとも、経験則的に「これは2次でOK」ということでしょうか。(それだって
なんらかの規則や理論の積み重ねがありそうですが)

> 高次項が無視できない応用があることは重々承知しております。
> 俺ちゃんが高次項をたくさん使ったのはフーリエ級数展開を使った場合ですが。

おお、そういえばフーリエ級数展開ってのもありました。
これだと任意の曲線をかけるんだっけ?>覚えてないや
これも一つ調べる対象となりそうですね。


まとめてみますね。

曲線として問題としておきたいのは、
・理論式があるなら、そちらを使う。それがあるのかないのかを確認する
・理論式どころかよくわからないケースでは、その形状を確認してみる。
 (ex 山あり谷あり?収束してくの?発散してくの?)
・やっぱりわかんね、という場合は、Bスプライン、ベジエから攻めてみるもよし。
 これなら近似式ではなくて曲線でつなげるくらいならできる。
 山谷くらいわかるなら、その個数+1の次数の式からやってみるべし。
 (3次式やら4次式くらいからTryしてみてもいいし)
・高次の式を利用する必要があるならフーリエ級数展開ってのもある

 本来は、曲線についての質問をどうやってしたらいいのか、ということへの
1方法を示せないかという試みでしたので、こんなくらいで。

ネタ元質問者のスレにリンクしておきます。

774RRさん、れいさん、ありがとうございました。



解決済み
引用返信 編集キー/
■11690 / inTopicNo.15)  Re[7]: 曲線への理解
□投稿者/ 774RR (98回)-(2007/12/20(Thu) 10:05:15)
> 元々の理論式があり、それを近似式であらわすときに、3次式ではなく、2次式でも求めたい
「でも」ではなくて「で」となるです。

もともとの理論式(解けないまたは解くのが困難で時間がかかる)があるとき、
それを実用的短時間で解ける**式で近似する。と呼ぶべきです。

俺ちゃんは組み込み機器のマイコンがメインのお仕事なので、
**素子を▲▲な回路に接続して※※を測定する場合には、原理的にこーいう動きをする
というのは当然ながら既知の事項なので
・プラトーがある右下がりのグラフになる=三次近似
・上に凸な山形になる=二次近似または直線近似2本で左右分割
・下に凸な山が2つ現れる(当然上に凸な山が1つある)=四次近似
などなどの判断を事前に行って、それにそぐう係数等のパラメータを求めるのがフツーです。
理論式なり現物なりの挙動と、近似式を解いた結果との誤差が許容範囲に入らなければ
回路変更なり素子変更なり、式変更なりを考えて最初からやり直しとなります。
考えた近似式が求める速度で解けないようならやはりやり直しです。

エンジニアリングの世界で、近似するってのはそーいうことだと俺は思ってます。
先に式があって、それに値を入れて、誤差を考えて使う。逆はありえないです。

点列(誤差を含む測定値)があって、それにどんな式が当てはまると適切かを判断するのは
エンジニアリングの仕事ではなくて学者の仕事です。

ユーザーがテキトーに入力した点列を「それっぽい曲線」で結ぶのはエンジニアリングの仕事ですが
そこに近似式を持ち出すのは方針そのものが間違いです。
ベジエにもBスプラインにも「近似」など出る幕の無いちゃんとした理論があります。

「それっぽさ」はユーザー各人で違う恣意的な何かなので数学とは無縁の代物です。
DrawCurve だって「それっぽさ」を指定できるような引数がちゃんとあります。
その引数に「求めるそれっぽさ」に適合する値を指定してやるのはプログラム/マの仕事ではなくて
プログラムを使うユーザーの仕事であると俺は思いますです。
解決済み
引用返信 編集キー/
■11692 / inTopicNo.16)  Re[7]: 曲線への理解
□投稿者/ れい (332回)-(2007/12/20(Thu) 10:22:14)
2007/12/20(Thu) 10:25:43 編集(投稿者)

No11685 (Mr.T さん) に返信
> おお、そういえばフーリエ級数展開ってのもありました。
> これだと任意の曲線をかけるんだっけ?>覚えてないや
> これも一つ調べる対象となりそうですね。

フーリエ級数展開も、ベキ級数展開も、
有限の範囲内でなら任意の滑らかな曲線を表現できます。
展開の仕方、近似の仕方が違うだけです。

近似させたい曲線によって、
フーリエを使ったりベキを使ったりするだけです。
級数使うと計算が楽というだけで、
logだったりラプラスだったりガンマだったりするのと
なんら変わりません。

> ちょっと確認なんですが、2次式で済む場合というのは、
> 元々の理論式があり、それを近似式であらわすときに、3次式ではなく、2次式でも求めたい
> 結果がでる、というところからの判断でしょうか。
> それとも、経験則的に「これは2次でOK」ということでしょうか。(それだって
> なんらかの規則や理論の積み重ねがありそうですが)

・2次までしか理論上意味が無い場合
・応用上2次までで十分な場合
の二通りかな。
で、後者にも理論的に意味があります。
前述の級数展開に密接に関連して。

ですから経験則というのは語弊があると思います。

> 曲線として問題としておきたいのは、
> ・理論式があるなら、そちらを使う。それがあるのかないのかを確認する
> ・理論式どころかよくわからないケースでは、その形状を確認してみる。
>  (ex 山あり谷あり?収束してくの?発散してくの?)
> ・やっぱりわかんね、という場合は、Bスプライン、ベジエから攻めてみるもよし。
>  これなら近似式ではなくて曲線でつなげるくらいならできる。
>  山谷くらいわかるなら、その個数+1の次数の式からやってみるべし。
>  (3次式やら4次式くらいからTryしてみてもいいし)
> ・高次の式を利用する必要があるならフーリエ級数展開ってのもある

やっぱりなんか発想が違いますね。
スプラインと近似曲線は併記されるものではないですし、
山谷の個数で近似曲線を決めるものでもないです。

曲線を描くときには何か意味があるから描くのです。
その曲線を描くことによって言いたい事があるから描くのであって、
ないなら描くべきではないです。
言いたいことがあるならどう描きたいかは自ずと決まります。
(それを他人に説明できるかは別です。)
解決済み
引用返信 編集キー/
■11697 / inTopicNo.17)  Re[8]: 曲線への理解
□投稿者/ れい (334回)-(2007/12/20(Thu) 11:25:50)
Mr.Tさんに倣って私も私なりにまとめると。

No11643 (Mr.T さん) に返信
> なんだか質問者の方がちょっと不憫な感じがして、こういうケースの場合って
> どう質問を組み立てたらいいんだろうと思った次第です。

今回は質問がたまたま近似曲線だったので、
回答が数学風になってしまい、
「こいつ数学の話ばかりでうざい」という感じになってますが、
問題点はそこではないと思います。

数学なんてほぼ関係なくて。

> 「それっぽさ」はユーザー各人で違う恣意的な何かなので数学とは無縁の代物です。
> DrawCurve だって「それっぽさ」を指定できるような引数がちゃんとあります。
> その引数に「求めるそれっぽさ」に適合する値を指定してやるのはプログラム/マの仕事ではなくて
> プログラムを使うユーザーの仕事であると俺は思いますです。

「〜な感じにして欲しい」「コレはなんか使いづらい」「アレはもっとエレガントな感じで」
みたいな漠然とした要求を、
プログラムで処理できるように具体的な問題に落とすのは
システムエンジニアやプログラマのお仕事ではないかと私は思います。

このユーザーからの「それっぽさ」の要求をどう扱うかという、
ほぼ全てのプログラマが抱えるであろう困難を
適切に処理してない/質問できていないという問題かと。

だから私は「なにを作りたいのか」を書けばよいと言ってる訳です。
状況によっては、私や他の人が何かアドバイスできるかもしれないと。

「かっこいいアプリを組めと上司から言われててます」
という質問があっても、
「かっこいいってなに?」
としか答えられないのです。

「滑らかな近似曲線」と言われても、
「2回微分可能な(略」としか言えません。

引用返信 編集キー/
■11709 / inTopicNo.18)  Re[9]: 曲線への理解
□投稿者/ 774RR (100回)-(2007/12/20(Thu) 12:26:08)
もう心のそこから御意。

プログラムができるできないというのはプログラム言語の文法理解とかそういう話ではなくて
(そーいうのはもちろん大事で、でも、それは明日のための第一歩に過ぎなくて)

・日本語(でも英語でもエスペラントでも何でもいいけど)で表記された
・あるいは日本語ですら表現されていないあいまいな
課題を、いかに噛み砕いて「プログラムされたとおりにしか動かない」コンピュータでそれを実現するか
という分析力にあるというべきですな。

数学だのなんだのは、分析ができた後に課題を実装するためのツールにすぎない。

「かっこよい曲線」なる曖昧な要求を具体的なプログラムに実装するための分析ができていない状況で
近似とかの「実装レベルの話」を持ち出してるので「やりたいこと」から話がそれていくわけで。

1.すくなくとも「やりたいこと」を仕様レベルにまでまとめてくれないと話にならない。
 俺たちは他人の脳の中の思考や妄想までは覗けないわけで(脳そのものは見たこと有るけど)

2.「やりたいこと」が分析できていないのであれば、それを一緒に分析することはできるかもしれない。
 そのためには「やりたいこと」を他人に説明できるレベルで書け、ということで。

解決済み
引用返信 編集キー/
■11710 / inTopicNo.19)  Re[10]: 曲線への理解
□投稿者/ Mr.T (159回)-(2007/12/20(Thu) 12:48:34)
No11690 (774RR さん) に返信
> ユーザーがテキトーに入力した点列を「それっぽい曲線」で結ぶのはエンジニアリングの仕事ですが
> そこに近似式を持ち出すのは方針そのものが間違いです。
> ベジエにもBスプラインにも「近似」など出る幕の無いちゃんとした理論があります。
>
> 「それっぽさ」はユーザー各人で違う恣意的な何かなので数学とは無縁の代物です。
> DrawCurve だって「それっぽさ」を指定できるような引数がちゃんとあります。
> その引数に「求めるそれっぽさ」に適合する値を指定してやるのはプログラム/マの仕事ではなくて
> プログラムを使うユーザーの仕事であると俺は思いますです。

近似だと与えられた数値を通ればよいわけじゃなくて、
与えられてない値であっても、類推できるようにするために
近似するわけですしね。
イメージとして曲線というものはあるけども、それは誰が考えるのか、
となれば確かにユーザの仕事というのは理解できます。

が、それっぽさをきちんと理解できる(できている)ユーザなら、最初からプログラマは
ターゲットとなる曲線についても理解できそうな気もします。
#違うかなぁ?

No11697 (れい さん) に返信
> 「〜な感じにして欲しい」「コレはなんか使いづらい」「アレはもっとエレガントな感じで」
> みたいな漠然とした要求を、
> プログラムで処理できるように具体的な問題に落とすのは
> システムエンジニアやプログラマのお仕事ではないかと私は思います。
>
> このユーザーからの「それっぽさ」の要求をどう扱うかという、
> ほぼ全てのプログラマが抱えるであろう困難を
> 適切に処理してない/質問できていないという問題かと。

ユーザが恣意的な場合しか説明はできないけど、見たときに可否はできる。
プログラマは、(今回の場合)曲線や理論がわかれば頑張って対処できるだろうが、
現状、グラフや理論への理解度は、ありていにいえば低い。
問題になるケースだとこういうもんではないかと思ってるんです。

ここの溝を埋めるべく、掲示板でプログラマ側に提示できる方法を
示すのはできないのかな?、と考えてしまいます。
だから、こういうスレを立ててみたんですが。

> 「かっこいいアプリを組めと上司から言われててます」
> という質問があっても、
> 「かっこいいってなに?」
> としか答えられないのです。

はい、それは確かにそうなんです。私も、そう答えるでしょう。
そう答えないと、相手は何も考えてくれないことが多いですし。
で、実は最近、もう一つ回答があるんじゃないかと思ってます。

「自分がかっこいいと思うものを作って、ユーザにもかっこいいと思わせる」

これで何がいいんだろ?、ってなると、かっこいいとか、こんな曲線で
とかは、かなり脳内補完があったり、ある一部分のことをささずに
全体を指すことがほとんどです。

それを「こうです」と形を見せてやる。そのことで、ユーザは可否できる。
#だから、ある程度の提示できる数が必要ですが。
でも、「こうです」とプログラマが自分の中からひねり出す引き出しが
まだないので、それを「じゃあ、こんなのやってみなよ」と提示されていれば
「こんなのがあるんだ」と進めるんじゃないかなぁと思う次第です。

#むろん、「こんなのがあるんだ」というだけで詳細レベルまでもっていける
#かどうかは別ですし、例示コードをコピペして、「動きません」じゃ
#話になりません。

引用返信 編集キー/
■11720 / inTopicNo.20)  Re[11]: 曲線への理解
 
□投稿者/ 774RR (101回)-(2007/12/20(Thu) 14:51:45)
俺も良くやるんだけどいろいろと語句を省略した結果、日本語がわからなくなってしまっているので確認

> ユーザが恣意的な場合しか説明はできないけど、見たときに可否はできる。
誰が誰に何を説明するの?「恣意的」の文言の使い方が間違ってない?

> 掲示板でプログラマ側に提示できる方法を示すのはできないのかな?
誰が誰に何を提示するの?
掲示板読者のうちの奇特な人が、質問してきた元発言者に、何か良い方法を、ということでいいの?

要するについた解答が元発言者に理解できないような場合、もっと噛み砕いて話せ
と主張しているということでおk?
それは掲示板のスペース&応答速度では無理でしょ。

> それを「こうです」と形を見せてやる。そのことで、ユーザは可否できる。
> #だから、ある程度の提示できる数が必要ですが。
その工数でお客様からちゃんとお金取れるの?取れなきゃ俺はやらない。時間と工数の無駄だから。
お客様へのインタビュー工数より、複数種のサンプル作る工数が低ければやってみるかもしれない。
でもそのサンプルの開発費はきっちり戴きます。
# お金に関係なく、お勉強のために作るのであれば否定しませんむしろ推奨します。
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 >>

管理者用

- Child Tree -