ご注文は数オリですか?

問題一覧へ戻る

#18
組み合わせ
★★★★☆

直交座標平面内において, すべての頂点が格子点であるような凸多角形を凸格子多角形と呼ぶ. 任意の凸格子多角形 Γ に対し, 以下の条件をすべてみたすような凸格子多角形 Ω が存在することを示せ:

  • すべての Γ の頂点は Ω の外周上にある
  • Ω の頂点であり Γ の頂点でないような格子点はちょうど一つである

ただし, 多角形においてすべての角の大きさが 180 未満であるとき, これを凸多角形と呼ぶ.

平山:なんやこれ…
兒玉:ちょっとクイっと出来ることを示すのか
平山:凸なまま膨らませられる余裕があるってことか
馬杉:境界上もOKってことか
渡辺:凸性の限界が迫ったらその手で逃げるのかな
平山:キツキツなケースを作ろうとするとサイズが大きくなるから
平山:どうにでもなるみたいなイメージなのかな
馬杉:面積による評価みたいなのはナイーブには無理そう
渡辺:各辺を二倍に伸ばして大丈夫なやつがあればいいんだけど
渡辺:正多角形とかではもちろん使えない
馬杉:主張自体は緩い雰囲気の話だし、気持ちを理解したい
宿田:圧縮して gcd1 にすると考えやすくなったりしないかな
馬杉:全然曲がれなくて格子点しか通れないんだから
馬杉:辺って長くなるはずで、それを定量的に評価できれば
兒玉:1個の頂点を距離 1 だけ動かすという制約の下で出来るのかな
平石:いやそれは (±1,0),(0,±1) のとき無理です
平山:赤色の範囲に格子点が必ずあるってことやろ?

平山:隣り合う角度の和が必ず 180 より大きいとしていいな
渡辺:ある辺 AB から距離最小の格子点 X を取った時に
渡辺X を入れない直線 の傾きみたいなことを考えた
平山:距離最小の点を取るみたいな議論はありがちだし悪くないと思う
平山:各辺で距離最小の点を取って、さらに最小のやつを見るみたいな
渡辺:整数論をしています…
平山:えっ解けた気がする、ABC という頂点の並びがあったときに
平山ABX がそういう最小のペアとして、BXAC の内部とすると
平山XBC により近くなって矛盾です…

平石:それ言えるのなんで?
平山:見た目からそれはそうだけど、sin とか使えばいいんじゃない
平石:あー、これ適当に移動させて X の射影を AB 上に落とせるのか
渡辺:平山のその解法、格子点であることあんまし使ってないよね
平山:正の距離が最小の点を取れる保証だけかな、まあそれが本質だけど
渡辺:上で言いかけたこと行けると思う、gcd(a,b)=1 としておいて
渡辺c,dadbc=1 と取って b/a<f/e<d/c なる分数を考えて
平山:あ、めっちゃFarey数列っぽい
渡辺ea+c を言おうとしたんだけど既出?
平山:間に最初に割り込む分数は (b+d)/(a+c) というのが有名事実
渡辺:車輪の再発明をしてしまった
平山:それでどう終わる?
渡辺:傾きの分母が最大の辺を AB にすればいけると思う
渡辺:軸に平行なのは適当にごまかして
平山:ああ、わかった
(※編注:b/aAB の、d/cAX の、f/e の傾きに対応している。AB を上のようにとれば隣の辺は になり得ず、赤色の領域に X が必ず入る)

  • なんらかの「距離最小」を見るのは組み合わせ幾何の超基本なのでまず考えるべき
  • というか一般に「有限個なので/すべて正整数なので最小を取ってくる」 「それが条件を満たさないとしたら最小性に矛盾」のような議論はかなり出てくるので, 考え方の引き出しとして持っておくべき
  • そもそも組み合わせ幾何自体そんなに見ない上にad-hoc度が大きいのでコメントがしづらい

解法1. まず以下の補題を示す.

補題.

異なる格子点 A,B に対し, ある格子点と直線 AB との距離としてあり得る正の実数全体には最小値が存在する. 特にそのような格子点 X であって, 直線 AB への正射影が線分 AB 上にあるものが取れる.

証明.

任意の格子点 X は直線 AB と平行に移動することによって, 距離を保ったままその正射影が線分 AB 上にある格子点へ移せることに留意すれば, 離散性より主張は明らかである.

Γ の各辺に対し補題のような格子点を適当に取り, さらにこのような組のうち距離が最小になるようなものを (AB,X) とする. 加えて AB の中点について対称移動することによって XΓ の外部にあるとしてよい (この対称点も格子点であることに留意せよ). 以下 Γ にこの X を頂点として加えたものが Ω として適することを示す. ただしこの過程で 180 の角が発生したときは適当に頂点を削除するものとする.

B に隣接する A でない頂点を C として, B が三角形 XAC の内部にあったとする. このとき XBA90 および ABC<180 などに留意すると, 以下の不等式の成立が容易に確認される.dist(X,AB)=BXsinXBA>BXsinXBC=dist(X,BC)ただし dist(X,AB)X から直線 AB への距離を表す. これは組 (AB,X) の最小性に反する.

解法2. Γの辺がすべて軸に平行なとき, すなわち Γ が長方形であるときは容易にわかるから, 以下そうでないとする. Γ は適当に 90 ずつ回転できることに留意し, Γ の外周のうち上に凸でかつすべての辺の傾きが正である (ただし y 軸に平行なものは含めない) ような部分について考える.

このような部分に含まれる辺すべてについて傾きの有理数を考え, それらを既約分数として表したときに分母が最大となるような辺 AB をとる. ただし A の方が x 座標が (すなわち y 座標も) 小さいものとする. また AB の傾きを b/a (ただし gcd(a,b)=1) とおく. なおこの a,b 含め以降で用いる変数はすべて非負整数とする.

いま adbc=1 なる整数の組 (c,d) であって 0c<a なるものを考えると (そのようなものは存在する), 1db が成立する. さらに c=0 のときは容易に示されるから, c>0 とする.

ここでFarey数列の簡単な帰結として以下の事実を認める.

事実.

既約分数 b/a,d/c,f/eadbc=1 および b/a<f/e<d/c をみたすとき, ea+c である.

AX=(c,d) なる点 X をとったとき, ΓX を頂点として加えたものが Ω として適することを示す. ただしこの過程で 180 の角が発生したときは適当に頂点を削除するものとする. B に隣接する A でない頂点を Z とし, AZ の傾きが AX のそれ以上であることを示せば良いが (a(bd)b(ac)=1 に留意すれば頂点 B 側についても同様である), AZ の傾きが正でないとき明らかで, そうでないとき事実を踏まえると a の最大性より成立する.