二値論理の二項演算の種類の個数について考えようとしたとき,ふと入力 x,y を入れ替えても値が変わらないような場合は1通りと数えようか,などとぼんやり考えていた。実際には x□y というに二項演算について,x と y は合わせて4通り,□は全部で16通りの種類があるから,全部で何通りだろうか,などと,何の個数を実際に数えたかったのか,我ながらよくわからないことをもやもやと考えていた。
そのとき,真面目に全部書き出してカウントするのは大変だから,もっと手っ取り早く求められないかな,と考えがわき道に逸れ始めた。
例えば二項係数 nCk の k=0 から n までの和は,(x+y)n の展開式において x=y=1 を代入すれば x や y が「消え」て係数の和だけが残るから,和は 2n だとわかる。このような考え方は,高校で習った二項分布の記憶が元である。
さて,(x+y+z)2 は x,y,z の二乗は1つずつしか出て来ないものの,xy などは xy と yx を合わせて係数が 2 になる。
このことを踏まえた上で,文字 x,y,z から2つ選んで掛け合わせてできる項のうち,同類項は1種類とカウントすることにすると,全部で何通りの項が出てくるか,という問題を考えよう。
実際に数え上げればすぐに答えはわかる。1文字の二乗が全部で3種類,2文字を用いるものが全部で3種類,合計 6 種類である。
しかし,これは順列あるいは組合せの考え方で直ちにわかるというものではないように思われる。何かうまい数え方はないだろうか。
そう考えているうちに思いついたのが,次の恒等式である:
{(x+y)2+(y+z)2+(z+x)2}/2=x2+y2+z2+xy+yz+zx.
そもそもこの等式の左辺を展開したら,3つの文字から2つだけを選んで掛け合わせてできる項が全種類登場し,しかもどの項の係数も1であるということは,実際に左辺を展開してみないと確かめようがないであろう。ということは,作られる項の全部を書き出して,それらの間に "+" を書いただけに過ぎず,結局のところ直接的な数え上げと同じ作業を必要とするわけだから,数え上げよりも簡便な方法とは全く言えない代物である。そういうわけで無用の長物なのであるが,せっかくなので x=y=z=1 を代入してみると,左辺もちゃんと 6 になり,項が全部で 6 種類だということが再確認できる。
しかも,文字が 3 つだからこの恒等式が成り立つのであって,文字が4つになると,このような恒等式を探すのが難しくなってくる。というか,僕にはちょっと思いつかない。
場合分けをして,それぞれの場合について組合せの考え方を利用するのが妥当であるような気がしてきた。
そういう意味ではいまいちなアイデアであったのだが,展開公式を利用すると,係数の和の集計が楽になる別の場合も思いついたので,それを記しておく。
例えば (x+y+z)n の展開式において,z を含まない項の係数の和が知りたいとしよう。そのようなときは,x=y=1,z=0 を代入すればよい。そうすると z を含む項は 0 になって消え去り,x と y だけが出てくる項の係数の和が 2n になることがわかる。もっとも,そんなことくらいは,x+y+z を,(x+y)+z と区切って,x+y と z の二項展開を行ったものと思えば,z を含まない項は (x+y)n に他ならないこととなり,それから結局二項係数の総和になることがすぐにわかる。
ただ,この2項展開の式の x や y に具体的な数値を代入するという操作を利用すると,一見,どうやって和を求めたらよいかわからないような級数の和を一瞬で求めることができるという,面白い問題と解法が作れる。
今回はいまいち不発だったが,またいつかこの手法を応用できないか考える機会が訪れるかもしれない。
そのとき,真面目に全部書き出してカウントするのは大変だから,もっと手っ取り早く求められないかな,と考えがわき道に逸れ始めた。
例えば二項係数 nCk の k=0 から n までの和は,(x+y)n の展開式において x=y=1 を代入すれば x や y が「消え」て係数の和だけが残るから,和は 2n だとわかる。このような考え方は,高校で習った二項分布の記憶が元である。
さて,(x+y+z)2 は x,y,z の二乗は1つずつしか出て来ないものの,xy などは xy と yx を合わせて係数が 2 になる。
このことを踏まえた上で,文字 x,y,z から2つ選んで掛け合わせてできる項のうち,同類項は1種類とカウントすることにすると,全部で何通りの項が出てくるか,という問題を考えよう。
実際に数え上げればすぐに答えはわかる。1文字の二乗が全部で3種類,2文字を用いるものが全部で3種類,合計 6 種類である。
しかし,これは順列あるいは組合せの考え方で直ちにわかるというものではないように思われる。何かうまい数え方はないだろうか。
そう考えているうちに思いついたのが,次の恒等式である:
{(x+y)2+(y+z)2+(z+x)2}/2=x2+y2+z2+xy+yz+zx.
そもそもこの等式の左辺を展開したら,3つの文字から2つだけを選んで掛け合わせてできる項が全種類登場し,しかもどの項の係数も1であるということは,実際に左辺を展開してみないと確かめようがないであろう。ということは,作られる項の全部を書き出して,それらの間に "+" を書いただけに過ぎず,結局のところ直接的な数え上げと同じ作業を必要とするわけだから,数え上げよりも簡便な方法とは全く言えない代物である。そういうわけで無用の長物なのであるが,せっかくなので x=y=z=1 を代入してみると,左辺もちゃんと 6 になり,項が全部で 6 種類だということが再確認できる。
しかも,文字が 3 つだからこの恒等式が成り立つのであって,文字が4つになると,このような恒等式を探すのが難しくなってくる。というか,僕にはちょっと思いつかない。
場合分けをして,それぞれの場合について組合せの考え方を利用するのが妥当であるような気がしてきた。
そういう意味ではいまいちなアイデアであったのだが,展開公式を利用すると,係数の和の集計が楽になる別の場合も思いついたので,それを記しておく。
例えば (x+y+z)n の展開式において,z を含まない項の係数の和が知りたいとしよう。そのようなときは,x=y=1,z=0 を代入すればよい。そうすると z を含む項は 0 になって消え去り,x と y だけが出てくる項の係数の和が 2n になることがわかる。もっとも,そんなことくらいは,x+y+z を,(x+y)+z と区切って,x+y と z の二項展開を行ったものと思えば,z を含まない項は (x+y)n に他ならないこととなり,それから結局二項係数の総和になることがすぐにわかる。
ただ,この2項展開の式の x や y に具体的な数値を代入するという操作を利用すると,一見,どうやって和を求めたらよいかわからないような級数の和を一瞬で求めることができるという,面白い問題と解法が作れる。
今回はいまいち不発だったが,またいつかこの手法を応用できないか考える機会が訪れるかもしれない。