• ベストアンサー

結合律が成立するかどうかの判定について

代数を勉強中です。 ある代数系(G,*)の演算*に関して演算表が与えられた場合に、その演算が結合律を満たすかどうかの判定方法を教えてください。たとえば、G={a,b,c,d}として、これについて*の演算表(4x4の大きさ)が与えられた場合、結合律が成立しているかどうかを調べるには、結合律の式 (a*b)*c=a*(b*c)のそれぞれの要素の組み合わせを変えて、しらみつぶしに成立するかどうかを調べなければならないのでしょうか?それとも、ほかにエレガントな方法があるのでしょうか?

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

  • ベストアンサー
  • lx002PH
  • ベストアンサー率62% (10/16)
回答No.2

ライトの判定法というのがよく使われます。 http://en.m.wikipedia.org/wiki/Light's_associativity_test

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

しらみつぶしに頑張ってください.

関連するQ&A

  • 結合律とは

    結合律 (AB)C=A(BC) についての質問ですが、結合律が成り立たない場合はあるのでしょうか?私には、それは明らかに成り立つように見えるのですが。実際にはどうなんでしょうか?

  • 反射律、対称律、推移律の例を挙げたい

    反射律、対称律、推移律の下記例を挙げたいのですが、回答は正しいでしょうか。 (1)反射律であり、対称律でなく、推移律でない。 例){(a,a),(b,b),(c,c),(d,d),(a,b)} (2)対称律であり、反射律でなく、推移律でない。 例){(a,b),(b,a),(c,c),(d,d)} (3)推移律であり、反射律でなく、対称律でない。 例){(a,b),(b,c),(a,c),(d,d)}

  • ブール代数の分配律について

    ブール代数の分配律について (AB)+C=(A+C)(B+C) であることの証明をお願いします。 右から左はできたんですが、左から右ができません。 分りやすい解説をお願いします。

  • 演算の法則(結合法則、交換法則)

    有理数a、bに対して、aとbの(算術)平均をとるというように  a*b=a+b/2(2分のa+bです) として定義された*はQにおける演算である。 上記の演算(Q、*)が代数系であるとき、可換的ではあるが結合的ではないとあるのですが、よく分かりません。 具体例を挙げて分かりやすく教えていただけますか。

  • 3つの表の外部結合

    3つの表があり、それぞれ次のデータが格納されているとします。 表A +-----+-----+-----+ |列A1 |列A2 | 列A3| +-----+-----+-----+ | A01 | B01 | A11 | | A02 | B02 | A12 | +-----+-----+-----+ 表B +-----+-----+-----+ |列B1 |列B2 |列B3 | +-----+-----+-----+ | B01 | X | B11 | | B01 | Y | B12 | | B02 | X | B13 | | B02 | Y | B14 | +-----+-----+-----+ 表C +-----+-----+ |列C1 |列C2 | +-----+-----+ | C01 | A11 | | C02 | A21 | | C03 | A12 | +-----+-----+ この場合、表Aと表BをA2とB1で等価結合し(但しB2='X') その結果導き出されたA3と表CのC2で外部結合し, B3の値を取得したいのです。 つまり、以下のような結果を得たいのです。 +-----+-----+ |列C1 |列B3 | +-----+-----+ | C01 | B11 | | C02 | null| | C03 | B13 | +-----+-----+ 表Aと表Bを結合した表を別名で定義し、 表Cと外部結合すれば可能だと思うのですが、 その様なやり方ではなく、 単純に3つの表を結合して行うことは出来ないのでしょうか。 尚、DBはORACLE9iです。

  • 外部結合について

    外部結合というのは、表と表を結合するという事で FROM句に書くべきことと思うのですが、 なぜWHERE句(カラム毎に指定)で指定するのでしょうか? 例えば、 テーブルA No|Kind|Name| ------------- 1|1 |A | 1|2 |B | 2|1 |C | 2|2 |D | テーブルB No|Kind|Data| ------------- 1|1 |10| 外部結合で SELECT A.No, A.Kind, A.Name, B.Data FROM A,B WHERE A.No = B.No(+) AND A.Kind = B.Kind(+) とすると No|Kind|Name|Data| ------------------ 1|1 |A |10| 1|2 |B |NULL| 2|1 |C |NULL| 2|2 |D |NULL| となります。 A.NoがB.NoになくてもOKで、Kindは 完全に一致しないとだめという意味で SELECT A.No, A.Kind, A.Name, B.Data FROM A,B WHERE A.No = B.No(+) AND A.Kind = B.Kind とした場合、 No|Kind|Name|Data| ------------------ 1|1 |A |10| 2|1 |C |NULL| となるのであれば納得いくのですが、 結果は↓なるようです。 No|Kind|Name|Data| -------------------------- 1|1 |A |10| (+)を一つも付けてない場合と 同じ動作になるようです。 テーブルAとテーブルBを結合するとき、 「外部結合する場合はWHERE句で指定する選択の条件全てに(+)を付ける」 「外部結合をしない場合はWHERE句で指定する選択の条件全てに(+)を付けない」 であれば、カラム毎に外部結合演算子を指定する意味が無いと思うのですが。 どなたか、カラム毎に外部結合演算子を指定する意味をご教授下さい。 宜しくお願いします。

  • 巨大ファイルの結合

    Win98を対象としたファイル結合ソフトを作りました。 newでメモリ確保してaとbを結合しますが、結合後に2Gになるものなら空き領域が2Gぐらい必要なのでそのような場合には使えないソフトとなってしまいました。 空き領域がほとんど無くて、1.9Gのaに0.1Gのbを結合してaを上書きする感じで結合させたいのですが、アセンブラ以外の方法を教えてください。

  • SQL:外部結合について

    PKが同じ3つの表(a,b,c)があったとします。 3つの表を外部結合して、 結合条件を満たす全ての行と、 結合条件を満たす行を除いたすべての行をselectしたい。 つまり、3つの表の全てのデータが必要なのですが、 他の表に同じキーのデータがあれば結合して1レコードとしてselectしたいのです。 (例) |a|b|c| --------------- |1|1|1| |2| |2| | |3| | | | |4| |5| | | a表をもとにb表、c表と結合するやり方は分かるのですが、 それだと、1,2,5しかselectできないですよね? 1,2,3,4,5全てのレコードを抽出したいのですが…。 説明が分かり辛いようでしたら補足します。 よろしくお願いします。

  • Excel 2013 判定表示について

    Excel 2013 を使用しています。 基準値に対し測定した値を判定する、表を作成しましたが、測定値が記入していない場合の、書式(関数)が判りません、宜しくお願い致します。 A5 基準値 B5 測定値 C5 判定  A6 (2~7) B6  7 C6  良  A7 (2~7) B7  8   C7  否 A8 (2~7) B8  1   C8  否 上記判定欄(C列)には、次の式を入力しています。 =IF(B6>RIGHT($A6,LEN($A6)-FIND("~",$A6))*1,"良", IF(B6<LEFT($A6,FIND("~",$A6)-1)*1,"否")) と設定しています。 この状態で、測定値が無い場合(ーー) A5 基準値 B5 測定値 C5 判定 A9 (2~7) B9 ーー  C9 非表示空白(文字無し)  と判定欄に表示したいのですが、その方法を教えて下さい。

  • セルデータの結合に関して

    2007にて作成中の表にてデータ結合すべく数式を入れても機能しません。 仮に、セルA1,B1,C1を結合すべくセルD1に「=A1&B1&C1」としても結合となりません。検証のため別シートにてA1,B1,C1にそれぞれ1,2,3と入れやってみるとD1には123となります。 どこがおかしいのでしょうか?点検、確認してみるべき点をご指摘ください。