• ベストアンサー

maxの演算を教えてください

引数の中でそれより小さい数が存在しない数を選び出す(要するに最大値なんですけど)、max()と言う記号がありますよね?これの演算の際の基本法則を簡単にまとめて教えていただきたいです。例えば、a<c,b<cならばmax(a,b)<cなどです。わかる方回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • betagamma
  • ベストアンサー率34% (195/558)
回答No.5

No.2です。いろいろ出てきましたね。 No.3さんの 「a≦c, b≦c ⇒ max(a,b)≦c」 は、直感的ですが、逆の 「max(a,b) ⇒ a≦c, b≦c」 も成り立つと思います。実際、確率の問題で、これを使ってといているのがあったはずです。 maxの逆はminですが、よくよく考えると、minはmaxを使って書き表せますね。a,bを実数とすると、 min(a,b)=-max(-a,-b) と。整数とか有理数でも同じですね。 また、a>=1,b>=1なら、技巧的ですが、 min(a,b)=((ab)^(-1) max(a,b))^(-1) とも書けます。^(-1)は、-1乗するということで、要するに逆数を取れ、ということです。例えば、c^(-1)=1/cです。 ちょっと、今気がついたのですが、このやり方で、a>=1,b>=1のmaxを、0<a<1,0<b<1のみの範囲で定義されているmaxを使って定義しなおすことができますね。 max(a,b)=ab max(1/a,1/b) つまり、0~1の区間でのみmaxが定義されていれば、正の全区間でmaxが定義できるということです。まぁ、これは、さすがに使わないと思いますが、 min(a,b)=-max(-a,-b) の方は、心にちょっと留めておいてもいいのではないでしょうか。maxとminが両方出てくるような問題で、二つを同時に考えなくてよくなりますので。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

回答No.6

次の本を参考にしてみてはどうでしょう? でも、ちょっと高いから図書館で借りるか、本屋で立ち読みしてみて、必要かどうか判断してみてください。 『差分と超離散』, 広田 良吾, 高橋 大輔 (著), 共立出版

bo-suke
質問者

お礼

みなさんわざわざこんな質問に回答ありがとうございました。締め切らせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

maxの定義 A:順序集合 a=max(A) :同値 a属すA and 任意x属すA,a>=x 一方supの定義もあります. min,infは不等号の向きが違うだけで構造的にはmax,supと同じだと思います あと四則演算との組合せについての法則もあると思います. max(a)=a |a|:=max(a,-a)

全文を見る
すると、全ての回答が全文表示されます。
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.3

とりあえず、 a≦max(a,b) かつ、b≦max(a,b) と、 a≦c, b≦c ⇒ max(a,b)≦c だけで、maxを特徴づけることができそうですね。 ほかによく使うのに、結合則 max(max(a,b),c) = max(a,max(b,c)) なんかもありますが、 これは上の2つから簡単に証明できますね。

bo-suke
質問者

お礼

ご回答ありがとうございます。maxをきちんと分析したものは、あまり本を見ても載っていないので、こういう形でまとめて提示していただけると頭の中で整理がついて、記憶に残りやすくなります。よく覚えておきます。

全文を見る
すると、全ての回答が全文表示されます。
  • betagamma
  • ベストアンサー率34% (195/558)
回答No.2

具体的に、maxをどこで使うのでしょうか? 自分は大学4年ですが、少なくとも、大学入試の時にmaxの演算で困ったという記憶はありません。 maxで困ったといえば、確率の問題で、確率変数X,Yと確率密度関数が与えられているときに、max(X,Y)の従う確率密度関数を答える問題ぐらいですかね。 このときは、おっしゃるとおり、 max(X,Y)<=t ⇔ X<=t かつ Y<=t を使えば、書き換えられます。言われてみれば当たり前なのですが、突然言われるとちょっと思いつかないことがありますね。 でも、maxに関して、すこし思いつかないことといえば、これぐらいでした。もっと一般的な形で書けば、 max(a,b,c,d,...)<=t ⇔ a<=t かつ b<=t かつ... といった形になりますね。 あと、maxに似て非なる数学の書法に、「max.」があります。「.(ピリオド)」がついているところが違います。これは、maximize(最大化)の略で、数理計画法とか線形計画問題などで出てきます。例えば、 max. z=x+y s.t. x<=a y<=b は、 maximize z=x+y subject to x<=a y<=b の略で、x<=a かつ y<=bという条件の下でz=x+yという関数を最大化せよ、という問題をあらわしています。ちなみに、この場合は、当たり前ですが、z=a+bになります。(xの最大値がa,yの最大値がbなので)

bo-suke
質問者

お礼

ありがとうございます。そうですか。あまり使わないと大学生の方に言われてほっとしました。他にも色々補足していただいて恐縮です。ちなみに大学二年でして、今微積分の一年の復習プリントであくせくしていまして、maxを使った不等式演算が出てきまして…。ちょっと心配になって質問させていただきました。どうもありがとうございます。これで次に進めます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

max(a,b)というのは,aとbのうちどちらか大きいほうを表しているだけですよ. 基本法則なんかないですよ.

bo-suke
質問者

補足

演算処理を行うときにわかってた方が処理しやすいと思ったので、知ってる方がいたら聞こうと思ったのですが…。 ないってことはないと思うんですよ。maxが記号として存在する以上、少なくとも基本法則を例のようにいくらか考えることができるはずですし、その演算のときに基本となる法則があったほうが処理しやすいはずです。ほとんど使わないのかもしれませんけど。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • %演算子(余り計算、moduro)を使った式を証明したい

    %演算子に関して以下の法則が成り立ちそうな 気がしますが、証明が苦手で立証できません。 (%演算子とは余りを求める演算子とします) (a*b)%c <=> (a%c)*(b%c)%c これを証明しているサイトや、%演算子の法則などに ついて纏めているサイトなどご存じないでしょうか? または証明のヒントなどご教示頂けないでしょうか。 夏休みの宿題っぽいですが、全然関係ないです。 Cでプログラム書いていて、bがコンパイラで扱えない ほど大きい定数なので、予めb%cの計算結果に 置き換えたいのです(cも定数)。 wikipediaなどで調べたのですが、分配法則、 交換法則などの説明には%演算子が含まれておらず、 質問した次第です。 よろしくお願いします。

  • 等式(=)と非等式(≠)に関する四則演算

    等式(=)に関する四則演算は,加法に関して, ● 交換法則: a+b=b+a, ● 結合法則: (a+b)+c=a+(b+c), ● 簡約法則: a+c=b+c ⇔ a=b であり,乗法に関しては, ■ 交換法則:ab=ba, ■ 結合法則:(ab)c=a(bc), ■ 分配法則:a(b+c)=ab+ac, (a+b)c=ac+bc ■ 簡約法則:ac=bc ⇔ a=b ですが,それでは,非等式(≠)に関する四則演算は,加法に関して, ▲ 交換法則: a+b≠c+d ⇔ a+b≠d+c, b+a≠c+d ▲ 結合法則: (a+b)+c≠d+(e+f), ▲ 簡約法則: a+c≠b+c ⇔ a≠b 乗法に関しては, ▼ 交換法則:ab≠cd ⇔ ab≠dc, ba≠cd ▼ 結合法則:(ab)c≠d(ef), ▼ 分配法則:a(b+c)≠ad+ae, (a+b)c≠dc+ec ▼ 簡約法則:ac≠bc ⇔ a≠b のようになると考えられますが・・・??? 上記の▲と▼については,まだ証明していません. では,この非等式(≠)に対する「結合法則」,「交換法則」, 「分配法則」,「簡約法則」に関しての数学理論はありますか? 書物か雑誌記事をご存じの方,教えて下さい. なお,「非等式」なる用語は正式なものではありません.この場での造語です.

  • ベイズの式の演算記号の考え方

    ベイズの式の表現についてお尋ねします。 通常P(A|B)という形式ですが、P(A|B,C)の場合、意味はP(A|(B,C))ということになるでしょうか。出てきたとき戸惑ったのですが、その後の展開としてはそうなっているようだったのでそういうものかなと思いました。 四則演算の表記の取り決めで掛け算・割り算優先という決まりがあるのかということですが。取り決めが明確でないとP(A|B,C)がP((A|B),C)という可能性もあったと思います。 またP((X|Y)|B)という表式はあり得るでしょうか。P(A|B)においてA←(X|Y)としたわけですが。もしあるとしても、P(X|Y|B)ということはあり得ないですね。 あるいはひょっとしてP((X|Y)|B)=P(X|(Y|B))が成り立つとして(←本当はどうか知りませんが→)結合法則が成り立つからP(X|Y|B)と表記してもよいとか。 出てくる演算記号は"| ,"でその演算子の優先順位の問題なのかなと思いますが。よろしくお願いします。

  • 演算子 Ruby認定試験対策問題

    Ruby認定試験対策問題をやっていたら分からないところがあったので、 教えてください。 2.4.演算子 ■問題 次の各行を独立して実行した場合、エラーとなる行があった。エラーとなった行について正しく述べているのはどれか。 A: 1 << 1 B: 1 << 1.0 C: 1.0 << 1 D: 1.0 << 1.0 ■回答 正解は(1)「C行, D行がエラーとなった。」 ■解説 Float には、<< 演算子が定義されていません。また、Integer型に、<< 演算子の引数として、浮動小数点を渡しても、引数は自動的にInteger型に変換され、正しく処理されます。 とあるのですが、問題の意味、なぜ回答が(1)になるか、また、解説の「Integer型に、<< 演算子の引数として、浮動小数点を渡しても」がどの部分を指すのかが分かりません。 自分が調べた限りでは、 << はIntegerクラスのメソッド(シフト演算子)で、ビットを左にシフトするものということだけなのですが……。 この場合、問題の主旨は、例えば「Aだと、1 を 1 ビット左にシフトする」、「Bだと、1 を 1.0 ビット左にシフトする」、「Cだと、1.0 を 1 ビット左にシフトする」という意味なのでしょうか。 また、演算子の引数というのは、<<より右側を指すのでしょうか?

    • ベストアンサー
    • Ruby
  • max{a、b}について。

    max{a、b}について。 max{a、b}というのはa,bの小さくないほうをとるという記号ですが、 これを、絶対値の|a-b|を用いた1次式で表現したいのですが、どのような式にすればよいでしょうか。 教えてください。お願いします。

  • 論理演算について質問

    何度もすみません。 また質問します。これで最後にしたい、、 質問1:&&や||等の論理演算子は、その両側にある2つの“boolean型の式(関係式等)”に対して論理演算を行う。 評価は、両側の式に対して並列に行うのではなく、1つづつ行って行く。 因みに、||は「論理式」を論理演算するこどができる。例えば、 int a=1,b=0,c=0のとき a==1 && b==3 || a==1 && b==0 の論理式があったとします。 この論理式の||は、即に演算されたa==1 && b==3とa==1 && b==0の論理式を演算の対象としている。 質問2:「評価」と「論理演算」って意味は同じですか?違いますか?違うならその違いは? 質問3:a==1 && b==0 || (a==1 && b==0)の論理式は、先に(a==1 && b==0)の論理式を論理演算すると思ってました。でも、以前そのような仮説をもって質問したら、回答者の方に実際違うと指摘されました。何故ですか?だって()の中の論理式なんだから、優先的に演算されるはず。

    • ベストアンサー
    • Java
  • 演算子(+=)について

    演算子(+=)について C言語のプログラム中に(1)の文が存在するのですが、(2)の文と同じ意味でよろしいでしょうか? a+=8; ・・・(1) a=a+8; ・・・(2) 教授下さい。 よろしくお願い致します。

  • 表どうしで演算するSQLについて

    SQLについて質問です。 コードと値(数値型)で構成されている表が3つある(A、B、C)とします。 そして、下記のようにコードをキーに値の演算をしたいと 思っています。 select A.値 - B.値 + C.値 as z from・・ この時にコードがない時(たとえばAにB,Cと同じコードない時)は、A.値(=0)+B.値(=3)+C.値(=7)のように0をセットして、要は3つのの表の最大レコード数分の演算値を取得したいのですが、どのようにSQLを記述すれば良いでしょうか?

  • 演算子について

    はじでまして。 私はC#勉強中の初心者です。 演算子についてお伺いします。 string str=a+=b+c; これはどういう意味でしょうか? 宜しくお願いします。

  • 論理演算について質問

    int a=1,b=0,c=0のとき a==1 && b==0 || (a==1 && b==0) a==1 && b==0 &&c==0 && b==0 の2つの論理式あったとします 質問1:&&や||は、その間にある2つの関係式や2つの関係式の論理演算の結果同士などを論理演算するものだと思います。この認識で正しいですか? 質問2:上記の論理式の後者a==1 && b==0 &&c==0 && b==0について、trueになるプロセスの認識は以下で正しいですか? a==1 && b==0 はtrue       ↓  左から2番目の&&は、左の論理式(a==1 && b==0)の演算結果であるtrueと関係式c==0を論理演算(つまり、論理演算の結果trueと関係式の2つを演算)、、結果true ↓ 左から3番目の&&は、左の論理式(a==1 && b==0 &&c==0 )の演算結果であるtrueと右の関係式b==0を論理演算(つまり、論理演算の結果trueと関係式の2つを演算)、結果true 質問3:上記前者の論理式a==1 && b==0 || (a==1 && b==0)について、trueになるプロセスの認識は以下で正しいですか? (a==1 && b==0)はtrue      ↓ a==1 && b==0 はtrue      ↓ ||は、右の論理式((a==1 && b==0))の演算の結果trueと左の論理式(a==1 && b==0)の演算結果trueを計算し(つまり論理演算の結果同士であるtrue2つを演算)、結果true

    • ベストアンサー
    • Java