Archive for the ‘数学’ Category
6 ÷2(1+2)
昨日辺り(?)、以下のようなものがhatenaのホッテントリーに入っていたわけですが。
l 「6÷2(1+2)=?」という小学生レベルの問題? 大勢の人が「1」と答え半分以上が不正解
どっちが正しい?
まあ、なんとでも解釈できますけどもねぇ。定義がないもの。数学者の脳内には無限の可能性が!
- は の省略形である。演算子の優先順位は×に準ずる
- は隣接演算子という目に見えない新しい演算子の導入と考える
- 優先順位は×演算子に準ずる
- 隣接演算子の優先順位は乗除算よりも高い
- は関数適用 の省略形である。関数 と定義する。
- 1.と2-1.なら9
- 2-2.と3.なら1
かな。
上記匿名ダイアリーの「省略は多項式である」説は初めて見た。それって結局、積の省略に帰着するような。項は結局、「項または(式)の積」で定義されることが多いので。
目に見えない演算子
一般に、目に見えない演算子(invisible operator)って呼ばれるものには4種類あります。
で、Unicode なんかだと、この見えない演算子のためにコードが割りあたってたりします。
見えない乗算
Unicode だと U+2062(INVISIBLE TIMES)。
見えないコンマ
隣接する文字の間には暗黙的コンマが挟まれて、リストとみなされるもの。
Unicode だと U+2063(INVISIBLE SEPARATOR)。
見えない加算
いわゆる帯分数(mixed number)。小学生で習うあれと、中学以降で 扱いするのとでみんな混乱する嫌な奴。
Unicode だと U+2064(INVISIBLE PLUS)
見えない関数適用
例えば、線形代数だと「線形写像の適用」と「行列の乗算」がほぼ同じ意味なので、関数適用と乗算を区別する意味もなく。「どっちが正しい?」のところで書いた「 は関数 の適用である」という解釈も、これ(線形写像の適用=行列の乗算)に由来します。
この場合、厄介なのは、 は の意味になったりすること。これも、線形代数だと、写像の線形性から「満たされるべき性質」なので問題にならないわけですが。
で、こういう の と の間には、関数適用演算子が省略されているものとみなします。
Unicode だと U+2061(FUNCTION APPLICATION)。
×÷の優先度
とあった場合、「×と÷は同列」「同列のものが並んでいたら左から」というのは割と皆様同じ認識な気がしますが。
ただし、 の「+と−は同列」というのと比べると、多少迷いが出そうな。この違いの方がむしろ興味深く思ったりも。加減算と乗除算で受ける印象の違いはどこから来るのか。
普段÷記号を使わないから?
÷とか書かないし
数式に限らないんですけども、曖昧性なく意図を伝えるって大事ですからね。一瞬でも「どっちだ?」って迷うなら、それは書いてはいけない。
あと、個人的には、交換法則を満たさない演算子を並べるとかすごく抵抗感が。 とか書くくらいなら の方がまだ好まれそうな。
上記の「加減算と乗除算の差」も、「 を略して と書く」(括弧を取った程度)と「 を略して と書く」(ずいぶん様変わり)の差ですかねぇ。
動くパーサー持ってこい
仕様書も何もないものに対して「これはこういう優先順位なんですよニコッ」とか言われたら怖くね?
仕様書だけあっても怖いんですけどもねぇ。UMLなんかが分かりやすい例かと思いますが、10人いたら最低でも10個は方言が出てくるでしょう。
結局、何らかの形で“実装”がないと、認識がぶれます。(逆もまたしかり。UMLも、「astahで書いて」とか言えばぶれがなくなるもので。)
なぜ2時から5時までは3時間で、2日から5日までは4日間なのか?
なぜ2時から5時までは3時間で、2日から5日までは4日間なのか? – メタメタの日
こういう話する時は、図を書いた方がいいと思う。
まあ、単に区間を持ってるかどうかの問題な気も。離散量の「日」を連続な数直線上に載せたから区間持っちゃったってことだから、離散と連続の差でもあるけど。
とりあえず、数学を文字だけで議論しちゃダメ。数式と図ってのは、この分野においては自然言語よりも重要な「言葉」なんで、まずそっちで語ることを考えないと。