5万人以上もの人が参加。アリババ主催の国際数学コンペティションが出題する、ユニークな難問に挑め

2024年8月27日

ITジャーナリスト

牧野 武文(まきの たけふみ)

生活とテクノロジー、ビジネスの関係を考えるITジャーナリスト、中国テックウォッチャー。著書に「Googleの正体」(マイコミ新書)、「任天堂ノスタルジー・横井軍平とその時代」(角川新書)など。

アリババの研究機関「ダモアカデミー」は、毎年春から夏にかけて、国際数学コンペティションを開催している。すべてオンライン参加で行なわれるため、中国以外の参加者も増え、毎年5万人以上参加している。今年は、さらにAI(大規模言語モデル)の参加も認められた。本記事はその予選問題の中から、中学校程度の数学知識で解ける問題をご紹介する。

広く人材を求める、アリババ研究機関主宰の数学コンペディション

アリババの研究機関「ダモアカデミー」では、毎年、オープンな数学コンペティションを開催している。国籍、身分など関係なく誰でもオンラインで参加ができ、出題は中国語と英語で行なわれる。2024年の金賞賞金は5名に3万ドル(約470万円)となり、賞金総額56万ドル(約8800万円)が75人に贈られた。さらに、上位51名には国際的な数学コースへの参加資格が与えられ、上位20名には100万元(約2100万円)の奨学金も与えられる。

オンラインで参加できるという手軽さから、今年も5万人以上が参加をし、801名がファイナルに進出をした。入賞者の上位は、毎年北京大学や清華大学などの著名大学の在籍者で占められるが、今年は第12位に江蘇省の職業専門学校の服飾デザインを専攻する17歳の女子学生が入り、大きな話題となった。英語に興味を持つことができず、職業高校に進学をしたが、数学に対する興味を失うことなく独学を続け、今回の好成績に結びついた。

こういう意外性のある人材の発掘は、主催をしたアリババがまさに目的としていたものだった。この数学コンペティションを発案したアリババ創業者のジャック・マー氏は、18歳の時に受けた大学入試試験で、150点満点で1点しか取ることができないほど数学を苦手としていた。だからこそ、自分にない能力を持っているエンジニアを素直に尊敬し、エンジニアの話を丁寧に聞いた。その姿勢が、アリババをテクノロジー企業として成長させる原動力になったとも言われている

今年のコンペティションにはAIの参加も認められ、計563チームが参加をした。試験問題が公表される前に、プロンプトを作成しておき、それを組織委員会に提出、試験開始後にそのプロンプトに問題を読み込ませ、結果を提出するというものだ。正解をしたかどうかだけでなく、プロンプトの独創性なども評価されるという

また、コンペティションは予選と決勝の2回に分けて行なわれるが、予選の問題は非常にユニークで親しみやすい問題が毎回出題される。数学にあまり関心がない人にも興味を持ってもらうためだ。

その予選問題から、ユニークなものをいくつか次に紹介するので、時間のある時に挑戦してみていただきたい。高度な数学的な知識を必要と知るものはなく、いずれも中学程度の数学知識で解くことができる。しかし、頭を整理して、要領よく問題にアプローチしていくことが求められるものばかりだ。

メビウス麺の切り分け問題

問題

麺は中華の伝統グルメだが、そのスタイルは常に進化をしている。幅広麺をつくっている店主が、工夫をして、輪のようにつなげるという幅広麺を考案した(図1)。
そして、いつものように、輪になった幅広麺を中心から切り分けた。すると、幅が半分になった2つの輪ができあがる(図2)。

店主は思い立って、幅広麺をつくるときに、ねじり(180度回転)を加えてみた。これは数学でいうメビウスの帯に相当する(図3)。これだけでは面白くないので、ねじりの回数をさらに加えていき、2回ねじり、3回ねじり、7回ねじりのものをつくった(図4)。

それから、最初にしたように、麺の中心で切り分けると、不思議なことが起きる。このメビウス麺を売り出してみると、あっという間に人気商品となった。すると、ある人が、100歳の老人をお祝いするために、100回ねじった麺をつくってくれという注文を出した。また、別の人は、会社の忘年会で出したいので、年号に合わせて2019回ねじった麺をつくってくれという注文があった。

それぞれの麺を中心線で切り分けると、どのような状態になるか。

非常にユニークな問題で、難易度も実は高くない。実際にねじりの数を変えたメビウスの帯をつくり、法則性を見つければいいだけだ。オンラインで参加ができるため、試験時間内であれば身の回りのものをなんでも使って試してみることができる。

するとこんな法則性が見つかるはずだ。

  • ・ねじった回数nが奇数の場合、ねじった回数2nの帯が1つできる。長さは2倍になる。
  • ・ねじった回数nが偶数の場合、ねじった回数n/2の帯が2つできる。長さはそれぞれ1/2になる。

ここから、100回ねじりの麺は、50回ねじれた麺が2つでき、2019回ねじりの麺は4038回ねじりの麺がひとつできることがわかる。

フーマフレッシュの配達問題

問題

アリババの食品スーパー「フーマフレッシュ」の配達員は、A地点からスタートして、B1、B2、B3の商店で荷物をピックアップし、それをC1、C2、C3の顧客に届ける。B1でピックアップした荷物はC1に届けるという対応をしている。配達員のスクーターのバッグには同時に2つまでの荷物を収納することができる。すべての荷物は同じサイズだとし、Aから最後の配達地までの最短経路を求めよ。

問題を簡単にするため、荷物のピックアップとドロップ(配達)の時間は0と仮定する。

フーマフレッシュではスマートフォンから野菜や肉を注文すると、30分で宅配をしてくれるサービスを提供している。配達はスタッフがスクーターで行うが、同時に複数の配達をこなすのが当たり前になっている。その配送ルートは、システムが最適な戦略を演算し、指示をする。この効率のよさで30分配送が実現できている。

最短経路問題というと、多くの人がダイクストラ法を思い出すだろう。しかし、この問題はどのピックアップを選ぶかによって、経路の目的地が変わってしまうので、単純にダイクストラ法を提供するわけにはいかない。動的なダイクストラアルゴリズムを考えなければならない。

解答時間が限られているコンペティションでは、問題の条件を絞り込んでいくことで正解に到達することも考える必要がある。同時に2つの荷物まで運べるのだから、2つまとめてピックアップできる場合はした方が得策であることは誰でもわかる。

つまり、次の6つのピックアップ戦略が考えられる。

B1/(B2、B3)
B2/(B1、B3)
B3/(B2、B3)
(B1、B2)/B3
(B1、B3)/B2
(B2、B1)/B1

いちばん上の戦略は、B1をピックアップし、先にC1に届けてしまい、それから残りの2つをピックアップしてC2、C3に届けるというものになる。括弧内のどちらを先にピックアップするかで2通りあるから、結局12通りの方法があり、さらにドロップも2通りありますから、合計24通りのやり方があることになる。

このすべての経路の長さを求めて、いちばん短いものを選べば答えが出るが、かなりの手間がかかる作業になる。そこで、プログラムを書いて、計算させた人も多かったようだ。オンライン参加なので、自分のPCで、プログラムを書いて計算させることも問題ない。

ここでは、手作業でもう少し絞り込みをしてみる。まず、荷物がそれぞれ1個の場合の配達距離を整理する。

B1C1:7。途中でC2、C3を経由
B2C2:2。
B3C3:5。

B1の荷物をピックアップしてC1に届けるには、C2、C3を必ず通ることになる。ということは、(B1、B2)または(B1、B3)は2個まとめてピックアップし届けた方が賢いということになる。

さらに、B2C2の距離が2と短いことから、ここは単体で届け、「B2/(B1、B3)」「(B1、B3)/B2」という配達ルートが正解に近いようだ。

実際に、数えてみると、

B2/(B1、B3):16
(B1、B3)/B2:18

となり、B2、(B1、B3)が正解だと思われる。

具体的には、A-6-B2-8-C2-8-B1-B3-15-14-C3-C1となる。ただし、この絞り込み方だと、正解に近い解は手早く求めることができるが、これが最適解であるかどうかの保証はない。とりあえず、この解を解答欄に記入しておき、時間が余ったら、手作業かプログラムを書いて、それが最適解であることを確認する必要がある。

独身の日セールのクーポン券利用問題

問題1
ミンさんは、店舗Aで250元のヘッドフォンと600元のスピーカーを購入した。ミンさんは、いずれのクーポンも無限に持っているとして、いちばん支払額を少なくしたい場合、支払金額はいくらになるだろうか(1元単位で別の低額商品を買ってかまわない)。2つの商品をまとめて購入しても、別々に購入してもかまわない。
問題2

あなたはTmallに自分の店舗Bを開店しようと考えた。販売するものは、店舗Aと同じヘッドフォンとスピーカーで、価格も同じだ。さらに、注文1回につき1回だけ使える「99元購入でx元割引」クーポンを企画した。xに入るのは整数のみ。Tmall全体では「299元購入で60元割引」のクーポンが配布されていて、このクーポンとも併用ができる。このクーポンを利用して、あなたの店舗Bでヘッドフォンとスピーカーを買った方が、店舗Aで買うよりも安くするには、xをいくつにしたクーポンを配布すればいいだろうか。

アリババでは1111日に中国で制定されている独身の日に、ショッピングフェスティバルを開催する。店舗Aは、重複使用可能な「60元購入すると5元割引」のクーポンを発行した。重複使用可能とは、1回の注文で何度も使えるということだ。例えば、120元の商品を購入した場合、このクーポンを2回使って、110元で商品を購入できる。

店舗AECサイト「Tmall.com」の店舗で、Tmallでも「299元購入すると60元割引」のクーポンを発行しているが、1回の注文で1度しか使えない(複数の商品を買った場合でも、全体に対して1回のみ)。商品の合計金額が299元であれば、60元割引されて、239元になる。合計購入金額が299元に達しない場合、ポケットティッシュのような低額の商品を他の店舗から購入して、合計金額を299元以上にすれば、このクーポンが利用できるようになる。

このクーポンは注文単位(カート)に対して適用される。そのため、複数の商品を購入するときは、まとめて購入するのではなく、分けて購入すれば、それぞれにこのクーポンを適用することができる。

また、店舗Aが発行している「60元購入すると5元割引」のクーポンとも併用ができる。その場合でも、クーポン適用後の支払い金額ではなく、あくまでも商品の価格に対して適用ができる。例えば、300元の商品を購入した場合、店舗の「満605」クーポンを5回適用し、同時にTmallの「満29960」のクーポンを1回適用し、300-5×5-60=215元で購入することができる。

非常に複雑で面倒な問題だが、中国のECのセールでは、このようなクーポン適用問題が実際に発生している。セールの時期が近づくと、さまざまなクーポンが配布されるようになる。これらを組み合わせて、使うことができるものとできないものに分類をして、自分が欲しいものがいくら安くなるのかを考える必要がある。新型コロナの感染拡大前までは、それが一種のゲーム性として楽しまれ、アリババの1111日独身の日セールは、毎年急拡大をしていた。

しかし、コロナ禍によりセールの規模が縮小すると、多くの人がクーポンの夢から目が覚めてしまった。今では、このような複雑なクーポンシステムはむしろ嫌われ、逆効果になってしまうことすらあり、シンプルな割引が好まれるようになっている。

このようなクーポンは満減クーポンと呼ばれる。「満605」であれば、60元になれば5元割引きになる。問題1で使えるクーポンは2つ。

1)「満60減5」重複適用可能(商品に適用)
2)「満299減60」注文1回に1回限り(カートに適用)

場当たり的にやっても試行錯誤で答えは出せるが、誰が考えても、2つの商品をまとめ買いせず、別々に注文した方がいいに決まっている。「満29960」をそれぞれに適用できるからだ。

スピーカーは600元なので、まず、「満605」を10回適用し、同時に「満29960」を適用する。すると支払額は下記となる。

600-10×5–60=490

ヘッドフォンは250元なので、49元の商品を追加購入して「満605」を4回適用し、それから「満29960」を適用する。

すると支払額は以下となる。

250+49-5×4-60=219

なお、49元の商品を追加購入するのではなく、60元の商品を追加購入すれば、「満605」がもう1回利用できるようになる。この場合は、

250+60-60-5×4-5×1=225

となってしまうので、219元が最も支払額が少ないということになる。

結局、490+219=709(元)が答えとなる。

問題2は、どちらのクーポンも1回しか使えないので簡単だ。

ヘッドフォンとスピーカーは別々に注文して、それぞれに2つのクーポンを適用します。さらに、250元のヘッドフォンには「満29960」が適用できるように、49元の追加商品を購入することも同じだ。すると、2つの不等式が成り立つ。

600-60-x<490
250+49-60-x<219

これを解くと下記となる。

x>-130
x>20

最小の整数値を求めたいのだから、x=21となり、「満9921」のクーポンを企画すればよい。

このようなユニークな問題は予選で出題されることが多く、決勝となると、さすがに難易度の高い数学問題が出題されるため、高度な数学の知識がないと歯が立たなくなる。過去の問題は、アリババ国際数学コンペティションの公式サイトから入手でき、一部の過去問は英語版も入手可能だ。ぜひ、解いてみて、手応えがあれば、コンペティションにも挑戦していただきたい。

公式サイトにあるように、「年齢、国籍、職業、学歴」は不問であり、さらには「炭素でもシリコンでも」参加ができる。予選は毎年3月ごろから始まる。

関連記事

人気記事

  • コピーしました

RSS
RSS