30. 演算子:
p1 & p2
• 評価の優先付け (lexicographical order)
• p1 PRIOR TO p2
• まず p1で評価したのち、次に p2で評価する
好 好
high (mpg) * high (hp) high (mpg) & high (hp)
31. 演算子:
p1 | p2
• Intersection preference:
• 弱パレート最適解もパレートフロントに加える?※
好
※マニュアルには下記のように記載されているが、挙動と演算子の記号から鑑みて、説明が逆になっているんじゃないかと思われる…
• A tuple t1 is better than t2 w.r.t. p1 | p2 if it is strictly better w.r.t. both preferences.
• This is a stricter variant of the Pareto operator.
• The evaluation of psel(df, p1 | p2) is always a subset of psel(df, p1 * p2).
high (mpg) * high (hp) high (mpg) | high (hp)
32. 演算子:
p1 + p2
• Union preference
• A tuple t1 is better than t2 with regard to p1 + p2 if it is strictly better with regard to one of the
preferences.
• Note that this can violate the strict partial order property, if the domains (the tuples on which p1 and
p2 define better-than-relationships) of the preferences are not disjoint.
好
high (mpg) * high (hp) high (mpg) + high (hp)
33. 演算子:
reverse(p1) or -p1
• Reverse (converse relation)
• p1でソートした順位を、逆順にする
• 略記法として、マイナス「-」演算子が利用できる
好
好
high (mpg) * high (hp) -( high (mpg) * high (hp) )