高校生向けの全ロシアのエンジニアリングオリンピック:BigDataとインテリジェントエネルギーシステム





-Vovochka、常温核融合で実験をやめて、試験の準備をしてください。

-シャ、ママ。


オリンピックはクールです。 私のように、自由に愛し、賢く、このようなガウジングの自由は、試験なしで大学に入学することを許しました。



友人、ショートパンツ、タオルとバレーボールの入ったバックパックを持って入学事務局に来て、アンケートに記入し、オリンピックの卒業証書を出し、海に行きました。



-今日は何時間遅れますか?

-はい、彼らはしました。



才能のあるエンジニアリングの学生が、ジェットパックを構築したり人工知能の胚をプログラミングしたりする代わりに、試験に合格するために必死に準備をして、最後の屈託のない年を過ごすことを気にしないイニシアチブの人たちがいたことは非常にうれしいです。



才能のある若いエンジニアのための抜け穴を作るために、彼らは次の仕掛けを思いつきました-大学に入ることを可能にするエンジニアリングオリンピアードをかき立てましょう。



最近、「Eaglet」は、全ロシア工学オリンピックの「試乗会」を開催しました。 ロシア全土から5000人の子どもたちが参加し、約100人が決勝に達しました。 多くの賞品がありますが、最も有用なのはUSEに対して+10ポイントです。



私はすべての面倒を見て、私の印象を共有する準備ができています。



オリンピックは4つのプロファイルで行われました。



ここで最初の2つのプロファイル(タスクと写真の一部)、2番目の2つについて-少し後でGTについて説明します。

UPD宇宙システムに関するレポートです。)





組織



オリンピアードは、2つの学外ステージと2つのフルタイム(個人およびチーム)で構成されていました。



主催者は全体として、最も重要なタスク、常にチームのタスクに参加者を没頭させることに関心があります。これは、まさにそのようなタスクがキャリアガイダンスや学校でのライフパスの選択に役立つからです。



ただし、特定のフレームワークを課すロシアスクールオリンピアード評議会(SSS)と呼ばれる組織によって定義された特定の基準があります。タスクは実質的であり、仕事は個人である必要があり、インターネットの使用についても考えません。



このため、主催者は、さまざまなタスクをさまざまなステージに割り当てるパスに従うことを決定しました。最初の通信ステージおよびフルタイムで、評議会によって設定された最小です。 ライフタスク、githubからのコード、チームワーク-2番目の通信および対面チーム。

その結果、ポイントが合計され、すべての要件が満たされます。



一般に、オリンピアードの終了後、主催者は2週間、可能なすべての説明を含む1000ページの「レンガ」を準備し、北西部の学校に送って、今度は低いスタートで来年のオリンピアードの準備を開始します。 公式の回答は9月1日に行われますが、乱交の危険な男たちはこの夏、ハッカソンでタスクを書き、講義の準備を始めます。



オリンピックの結果-nti-contest.ru/results2016

オリンピックの400ページのマニュアルはこちらです。



イーグルト



イーグルトは 、アルテックと同様、非常に「ポンプでくまれる」場所です。 私が友達に言ったように:「原子炉は取り去られたが、それはまだ夜に輝く。」 明るい未来への信仰の精神は残っています。 良い意味で。 少なくとも私は非常に夢中になりました(ソビエトのプロパガンダの断片など何でもですが、これは「宇宙に行きたい」と同じシリーズのものです)。 伝説の場所にいたことをとても嬉しく思います。



「対戦車ハリネズミ」でお会いしましょう





内部では、これらはあなたが登って掘ることができるものです。



ちなみに、ジェット機のドアのハンドルは機能しており、映画のように、ヒスで押されたとき、凹部からはみ出します。



戦闘訓練機








宇宙の建物の近く





すぐにカスタネダを思い出した









ビッグデータ





ビッグデータと機械学習の軌道に乗っていたものについて少し。



画像



画像

これはイヴァンです。 彼は大きくて親切です。 彼はpythonマスタークラスを読み、数の粉砕機と、コンピューターよりも人がよく解決するタスクについて話しました(たとえば、グループに属する)



最初の予選ステージ

最初の予選ステージ



最初の予選ラウンドはインターネット上で個別に実施され、作業はオンラインテストシステムによって自動的に評価されます。 参加者には、最初の予選段階の問題を解決するために3週間が与えられました。 各問題の解決策は、一定のポイントを与えます。 すべての参加者に共通のタスクセットが提供されますが、問題を解決するために、異なるレベル(9年生または10年生から11年生)の参加者には異なるポイントが与えられました。 問題の正しい解決策としてポイントが全額加算されます。 参加者は、このプロファイルのすべての科目(数学およびコンピューターサイエンス)の合計で問題を解決するための評価(合計0〜20ポイント)を受け取ります。



タスクの例:

数学の問題1.1.6(1ポイント)

不幸な宇宙飛行士イノケンティは、遠心分離機の後で気分が悪く、方向を判断できませんでした;彼は、委員会から5メートルのところにあり、直線で動いていました。 毎秒、等しい確率で、1メートルに近づくか、離れます。 彼が委員会に達した場合、彼はどこにも行かない。 10秒以内に委員会の手に落ちる可能性を見つけます。



解決策
グラフに宇宙飛行士の進路を描きましょう。 垂直軸では、時間を延期し、水平距離では。 最初、宇宙飛行士はs = 0にあり、コミッションはs = 5にあります。



図は、シーケンスPPPPPPPのパスを示しています。







また、宇宙飛行士は奇妙なステップでのみ委員会に来ることができます。

したがって、5、7、および9秒でコミッションにつながるパスがいくつ存在するかが重要です。

問題を再定式化:直線s = 5に至る下図のグリッドに沿って存在するパスの数。 上に移動することしかできません。







最初のポイントから開始して、各ポイントのこのようなパスの数を計算します。







5つのステップで、1つのパス、7〜5つのパス、9〜20のパスを導きます。



したがって、望ましい確率は1/32 + 5/128 + 20/512 = 7/64です



回答:7/64







インフォマティクスタスク1.2.2「ルート」(3ポイント)

少年Petyaの数はNです。しかし、Xの数とは異なり、彼はそれを必要としません。



自然数nからの次数kの整数根は、関係が成り立つ最大の正の整数と呼ばれます。 たとえば、1000のうち5次の整数根は3です。 としてそれを示す また、自然数のみがルートの程度になり得ると仮定します。



Petyaの場合、整数のルートを取得するのは難しいタスクであり、Xを取得するための式にあるルートの合計次数を最小限に抑えたいと考えています。



ペティアにも兄がいます。 その名前はディマです。 このディマは、プチの仕事に興味を持ち、そのような制限を加えることにしました:

  1. PetyaはN以外の数値からルートを取得できません。
  2. ルートを取得するか、他の数値を乗算する操作を使用して、Petyaが取得した数値のみを乗算できます。
  3. 乗算の結果として得られた数、ルートを取得した数、または他の数の合計を追加できます。




Petyaが読みやすく、Dimaによって課せられた制限に適合する表現を書くのを助けてください。 探している式の最小の複雑さを見つけます。



入力フォーマット:

唯一の行には2つの整数NとXが含まれます



入力例:

100 126



出力形式:

唯一の正の整数-問題への答えを出力します。



出力例:

9



例の説明:



性能評価の方法

次のPythonコードを使用して、一意の条件を生成し、結果を検証します。 generate関数は、バリアントの条件と正解を返します。

def generate(): return [('{} {}\n'.format(n, x), ans) for n, x, ans in [ (100, 126, 9), (10, 10, 1), (1000, 1000, 1), (1, 1, 1), (1, 1000, 1000), (1000, 1, 10), (1000, 999, 17), (722, 966, 16), (774, 717, 21), (664, 177, 16), (655, 657, 7), (659, 65, 9), (901, 559, 21), (813, 314, 18), (528, 131, 16), (882, 258, 19), (516, 583, 12), (801, 767, 19), (147, 222, 11), (67, 743, 13), (413, 335, 21), (453, 467, 7), (600, 104, 9), (323, 209, 19), (462, 822, 18), (126, 743, 16), (77, 917, 17), (100, 999, 27), (1, 999, 999), (1000, 894, 29), (999, 712, 28), (123, 944, 24), (432, 277, 24), (945, 616, 28), (100, 999, 27), (1000, 894, 29), (999, 712, 28), (123, 944, 24), (432, 277, 24), (945, 616, 28) ]] def check(reply, clue): return int(reply.strip()) == int(clue)
      
      







解決策
ソリューションは3つのステップで構成されます。 最初の段階で、Nの次数と根のセットを作成する必要があります。これは、有利に使用できます。 次数が異なる2つのルートが等しい場合、次数が小さい方の1つを使用することは有益です。 210> 1000であるため、任意のNに対して11を超える異なるルートはありません。 第2段階では、動的計画法を使用して、ルートに最適な合計次数を乗算することで取得できる数値のリストを取得します。 3番目の段階では、同じ方法を使用して、前の段階の数値に最適な量を追加することで取得できる数値のリストが取得されます。



Pythonでこのアルゴリズムを実装するプログラムの例:



 1. import sys 2. 3. INF = int(1e9) 4. 5. def getRoots(n, mx): 6. ans = [INF, n] 7. for x in range(n, 1, -1): 8. while x ** len(ans) <= n: 9. ans.append(x) 10. ans.append(1) 11. roots = dict() 12. for i in range(len(ans)): 13. if ans[i] != ans[i - 1] and ans[i] <= mx: 14. roots[ans[i]] = i 15. return roots 16. 17. def getProducts(roots, mx): 18. ans = dict() 19. ans[1] = 0 20. for i in range(2, mx + 1): 21. ans[i] = INF 22. for k, v in roots.items(): 23. if i % k == 0: 24. d = i // k 25. if d in ans and ans[d] + v < ans[i]: 26. ans[i] = ans[d] + v 27. if ans[i] == INF: 28. ans.pop(i, None) 29. ans[1] = roots[1] 30. prods = [(k, v) for k, v in sorted(ans.items())] 31. return prods 32. 33. def getSums(prods, mx): 34. ans = [INF] * (mx + 1) 35. ans[0] = 0 36. for i in range(len(ans)): 37. for k, v in prods: 38. if k > i: 39. break 40. if ans[i - k] + v < ans[i]: 41. ans[i] = ans[i - k] + v 42. ans[0] = INF 43. return ans 44. 45. def solve(dataset): 46. n, x = list(map(int, dataset.strip().split())) 47. roots = getRoots(n, x); 48. prods = getProducts(roots, x) 49. ans = getSums(prods, x) 50. return str(ans[x]) 51. 52. solve(sys.stdin.read())
      
      











予選2段階目

予選2段階目







2番目の予選段階は、インターネット上でチーム形式で行われ、作業はオンラインテストシステムによって自動的に評価されます。 2番目の予選段階の期間は2週間です。 タスクは学際的です

そして、より簡単な形式で、最終段階のエンジニアリングタスクを再作成します。 問題の解決にはプログラムの作成が含まれ、Pythonプログラミング言語の使用が許可されました。 各問題の解決策は、一定のポイントを与えます。 この段階で、合計0〜45ポイントを獲得できます。



データ分析タスク


タスク2.1.1(10ポイント)

1000人の学生がサマーキャンプに来ました。 学生が到着すると、彼はすぐにコピーされました(シリアル番号を最初から入れました-学生がキャンプに到着した方法)。 学童はすぐにユニットに分割され、ユニット内の人数は異なります。

最初のn1の学生は最初のユニットで、次のn2の学生は2番目のユニットで、次のn3は3番目のユニットというように識別されました。

すべての偶数ユニットが遠足で撮影されたら。 そして、委員会はキャンプに到着し、滞在していたすべての学生を書き直しました(各学生は、キャンプに到着したときに記録された番号を命名しました)。 間違って、何人かの生徒は何度か書き直されました。 どのユニットのどの学生を見つけるのですか?



キャンプに残ったコピーされた学童のシリアル番号に対応する数字の配列が入力に供給されます。

出力は数字のペアのセットです。最初の分隊の最初と最後の学童のシリアル番号、2番目の分隊の最初と最後の学童のシリアル番号などです。



問題を解決するために、参加者には10ポイントが与えられます。



入力例:

790443801518 63 75 491 91 ... 420 371 89 389 453 488 892 932 932



出力例:

[(0、92)、(93、343)、(344、521)、(522、772)、(773、999)]



プログラム実行制限時間: 15秒



RAMの使用の制限: 256 MB



解決策は174ページにあります



タスク2.1.2(15ポイント)

地図作成者は、各都市について、関連付けられている都市のリストを編集しました

道路で。 今、彼は2つの遠くの間を運転することが可能かどうか尋ねられます

都市。



市の2つの名前が入り口に送信されます。これを確認する必要があります。

他の都市と道路で接続されている都市のリスト。 答えが必要です

TrueおよびFalse形式で提供します。



問題を解決するために、参加者には15ポイントが与えられます。



入力例:

{'find':( 'd'、 'f')、 'd':['a'、 'b'、 'c'、 'e'、 'f'、 'g']、 'b':[ 「a」、「c」、

「d」、「e」、「f」、「g」]、「q」:[「n」、「o」、「p」、「r」、「s」、「t」、「u」] 、 'f':['a'、 'b'、

「c」、「d」、「e」、「g」]、「a」:[「b」、「c」、「d」、「e」、「f」、「g」]、「s」 :['n'、 'o'、 'p'、

「q」、「r」、「t」、「u」、「c」]、「e」:[「a」、「b」、「c」、「d」、「f」、「g」] 、「u」:[「n」、「o」、

「p」、「q」、「r」、「s」、「t」]、「r」:['n'、 'o'、 'p'、 'q'、 's'、 't'、 'u']、 'p':['n'、

「o」、「q」、「r」、「s」、「t」、「u」]、「c」:[「a」、「b」、「d」、「e」、「f」、 'g']、 'g':['a'、

「b」、「c」、「d」、「e」、「f」]、「o」:['n'、 'p'、 'q'、 'r'、 's'、 't'、 'u']、 'n':['o'、

「p」、「q」、「r」、「s」、「t」、「u」]、「t」:['n'、 'o'、 'p'、 'q'、 'r'、 「s」、「u」]}



プログラム実行時間制限: 3000秒

RAMの使用の制限: 256 MB



解決策は178ページにあります



タスク2.1.3(0-20ポイント)

タスクには、発明したソーシャルネットワークグラフが含まれます(ユーザーごとに、どのユーザーが彼を友達として追加したかが示されます)。 ユーザーごとに、彼の人気が計算されます。これは、友達であるユーザーと何人の友達が友達であるかに基づいています。



人気はXとして計算されます。これは、自分自身を数えて、友達と友達になっている人の総数です。

2つのパーセンタイル50と90を計算する必要があります。 人気の最も低い2つの値は、最初の確率が50%、2番目の確率が90%であるため、ランダムユーザーの人気はこの値よりも低くなります。



問題をコンピューターとシステムで解決して、各タスクの2つの数字の形式でソリューションをダウンロードする必要があります。



すべてのテストで少なくとも50のパーセンタイルをカウントした場合(50パーセントの確率で、人気は低くなります)、タスクから半分のポイントを獲得します。



入力例:

[{0:[5、8]、1:[7、2]、2:[8]、3:[10、0]、4:[0、10、2、1]、5:[1、5] 、

3、7]、6:[7、3、0]、7:[12、13、0、8]、8:[8、11]、9:[6、2、13]、10:[13] 11:

[2、0、8]、12:[0、13]、13:[4、11、8]、14:[0、4、12、2]}、{0:[14、11]、1: [7、

14、1]、2:[0]、3:[10]、4:[13]、5:[8、0]、6:[5、3]、7:[2、11、8、10] 、8:

[3、10、14、7]、9:[0、11、7、4]、10:[1、7]、11:[10、5、12、4]、12:[14、5]、

13:[7、6、3、1]、14:[10、6、0、8]}]



出力例:

[(4、6)、(7、9)]



RAMの使用の制限: 256 MB

1回の試行: 5分



解決策は186ページにあります



最終段階

最終段階:個別およびコマンドユニット







そして、これらはGOTOキャンプハッカソンで出会ったサッカーで繰り返し優勝した小学生です。



オリンピアードの最終段階は、2つの部分から構成されます。被験者の問題に対する個別の解決策(数学、コンピューターサイエンス)と、エンジニアリングの問題に対するチームによる解決策です。 問題の個別の解決策については、1人の被験者に2時間与えられます。 数学とコンピューターサイエンスのタスクは、9年生と10年生から11年生の共通点です。 各問題の解決策は、一定数のポイントを与えます(以下の評価基準を参照)。 数学では、タスクごとに、記述された基準に従って、0から指定された数のポイントを取得できます。



コンピューターサイエンスのポイントは、問題の正しい解決策として全額が認められています。



コンピューターサイエンスのタスクを解決するには、Pythonでタスクを作成する必要がありました。 参加者は、このプロファイルのすべての科目(数学およびコンピューターサイエンス)の合計で問題を解決するための評価(合計0〜24ポイント)を受け取ります。



数学3.1.1vでの割り当て(2点)。

心理学者のグループがテストを開発し、合格すると、各人が評価を受けます-数字Qは、彼の精神的能力の指標です(Qが多いほど、能力が高い)。 国の格付けは、この国のすべての居住者のQ値の算術平均です。



国Aの市民グループは国Bに移住し、国Bの市民グループは国Bに移住しました。その結果、各国の格付けは初期国よりも高くなりました。 その後、移民の流れの方向が反対方向に変わりました-Bの一部の居住者がBに移動し、Bの一部の居住者がAに移動しました。 2番目)。 (だから、いずれにせよ、これらの国の通信社は主張する。)これは可能だろうか(もしそうなら、そうでなければ、どうして、そうでなければ、なぜ)? (考慮された期間中、Q市民は変化せず、誰も死亡せず、生まれもしなかったと想定されます。)



数学の問題3.1.2(6点)

VKontakteソーシャルネットワークの管理者は、「このコミュニティに友人の半分未満しかいないすべての人」というコミュニティを作成することを決定しました。 これを行うには、最終的に次のようにユーザーをコミュニティに含める必要があります。

  • このコミュニティの全員は、半分以下の友人しかいませんでした。
  • このコミュニティに参加していないすべての人には、少なくとも半数の友人がいます。


彼らはいつもそのようなコミュニティを作ることができますか?

(ユーザー自身がコミュニティに参加するのではなく、ソーシャルネットワークの管理者によって配布されると想定されています)



解決策は191ページにあります



情報学タスク3.2.4「最終認証」(3ポイント)

年末は、試験の準備をしている学生だけでなく、試験官にとっても忙しい時期です。 テストを作成するときは、学童にとってタスクがどれだけ難しいかを検討し、テストに合格する生徒の数を決定する必要があります。



今年は、5つの問題を解決するためにさまざまな学校の100人の生徒を招待して、テスト試験を実施することが決定されました。 各タスクはaiポイントで評価されます。 タスクはフルスコアで解決されるか、まったく解決されないため、ポイントが付与されません。 レビューアは部分的な決定を考慮しません。 試験の後、編集者は学生の結果を受け取りました。 生徒ごとに、すべてのタスクをチェックした結果がわかります。

1,000,000人の学生が試験を受ける場合、少なくともKポイントを受け取る学生の数を計算する必要があります。



特定の問題を解決する確率を確実に見つけることはできませんが、単一の問題を解決する確率を確実に推定することができると想定していることに注意してください。



入力フォーマット:

最初の行には、数K-テストに合格するために必要なポイントの数が含まれています。 2行目には、5つの自然数-タスクのポイントが含まれます。 最初の番号は最初のタスクのポイントに対応し、2番目は2番目のタスクなどに対応します。 これに100行が続きます。 各行には、番号に対応する問題が解決されたかどうかを示す5つの数字が含まれています。 最初の行は、最初の問題が解決されたかどうかを示し、2番目の問題は解決されたかどうかなどを示します。 問題が解決した場合、行は1を示し、そうでない場合は0を示します。



出力形式:

1,000,000人の学生が同じテストに合格した場合、同じテストに合格した予想人数を1行で印刷します。



解決策はここ200ページにあります



コマンド部









問題の声明。

最終段階の指揮部の参加者は、ソーシャルネットワークのユーザーのグラフを分析するための一連のタスクを解決する必要がありました。プロファイルでそれを示さなかったユーザーの年齢を予測します。 ユーザーの居住地域を予測する ソーシャルネットワークの他のどのユーザーが使い慣れたユーザーであると想定します。



参加者はPythonでプログラムを書くことになっています。 最終段階のコマンド部分の期間は3日間(合計18天文時間)です。 参加者はインターネットにアクセスでき、電話やラップトップを使用できました。

合計で、チームには3つのタスクが提供されました(毎日1つ)。 タスクの条件は、対応する日の朝に参加者に知られるようになりました。 各タスクについて、Odnoklassnikiの実際のソーシャルネットワークの2つのサブグラフが作成されました。

  • 参加者には、特別に準備され、整理され、匿名化されたサブグラフが提示されました。
  • ソリューションの品質管理は、最初の列からデータがクリアされた列全体で自動的に実行されました。


各タスクについて、参加者には効率の低い実用的な基本ソリューションが提供されました。参加者は、タスクをより良く解決するか、提案されたソリューションを改良できる独自のソリューションをゼロからプログラムするという選択肢に直面しました。 この場合、基本的なソリューションを部分的に使用することができました。たとえば、データモデルのみ、または入力データレコグナイザーのみです。



ソースデータの説明

すべてのタスクで、参加者にはユーザーのグラフ(ユーザー間の接続)と人口統計(各ユーザーの匿名データ)のファイルが提供されました。



ユーザー数

グラフはスパースマトリックスの形式で保存されます。各接続には、そのタイプ(相対、友人など)に関する情報がビットマスクの形式であります。 マトリックスの各行は、1人のユーザーの友人に対応し、次の形式を持ちます。

User_ID1 {(friend_id1、mask1)、(friend_id2、mask2)、...}



マトリックスはユーザーIDによって16個のファイルに分割され、各ファイルは標準のGZip圧縮プロトコルによって圧縮されます。

リンクのリスト内のペアは、フレンドID(昇順)でソートされます。 グラフのエントリの例:

102416

{(5362439.0)、(7321627.0)、(7345280.0)、(9939258.0)、(9976393.0)、(11260492.0)、

(11924364.0)、(16498676.0)、(16513827.0)、(21716731.0)、(21826340.0)、(23746537.0)、

(23751503.0)、(24412936.0)、(24423533.0)、(30287856.0)、(32321147.0.0)、(34243036.0)、

(37592142.0)、(39485706.0)、(41505243.0)、(42791620.0)、(52012206.0)、(52671472.0)、

(54652307.0)、(57293803.0)、(59242794.0)、(59252048.0)、(62535397.0)、(62563866.0)、

(62567154.0)、(64588902.0)}

102608

{(4167808,32784)、(6019974.32)、(6152844.16)、(9570536.64)、(10699806.33)、

(13290514.0)、(15064491.128)、(16432948.512)、(24473204.0)、(24655822.0)、

(25833075,256)、(28000951.64)、(30834507.2048)、(34567533.16)、(35766667.0)、

(37385121.0)、(40123805.512)、(43134386.1024)、(45439608.0)、(45484652.0)、

(47562525.0)、(52378153,256)、(52403136,512)、(52493894,1024)、(53483990,0)、

(54048767.0)、(54286279.2048)、(57401158.0)、(57956631.0)、(58183281.0)、

(61117236.32)、(61898065.0)、(61936634.0)、(64512205.512)、(65014849.0)、

(65112662.0)、(65259449.0)}



通信マスクでは、次のビットを設定できます。

  • ラブ
  • 配偶者または配偶者
  • 赤ちゃん
  • 兄か妹
  • おじやおば
  • 親Relative
  • 親しい友人
  • 同僚
  • 同級生
  • eph
  • 祖父または祖母
  • 孫または孫娘
  • 仲間の学生
  • 軍隊の友情
  • 里親
  • 里子
  • ゴッドファーザー
  • ゴッドファーザー
  • スポーツの合同ゲーム


リレーションシップマスクにリストされているビットに加えて、ゼロビットが設定されている場合と設定されていない場合があります。 このビットは純粋に技術的な役割を果たし、物理的な意味はありません。 その結果、たとえば、タイプChildの関係は、数値16または17でエンコードできます。



データはApache Pigビッグデータストレージツールを使用して準備され、2つの対応するヘッダーファイルが含まれているため、参加者はデータの前処理/フィルタリングにこのツールを使用できます。



ユーザーの人口統計

人口統計データは、属性リスト形式のソーシャルリンク情報と同じ百万人のユーザーに提供されます。

userId create_date birth_date gender ID_country ID_Location loginRegion

ここで:

  • userId-ユーザーID
  • create_date-ユーザーアカウントの作成日(1970年1月1日からのミリ秒数)
  • birth_date-ユーザーの生年月日(1970年1月1日からの日数、負の場合もあります!)
  • 性別-ユーザーの性別(1-男性、2-女性)
  • ID_country-プロファイルで指定された国の識別子
  • ID_Location-プロファイルで指定された地域/都市識別子。
  • loginRegion-ユーザーが最も頻繁にこのソーシャルネットワークにログインしている地域の識別子(存在しない場合があります!)




サンプルデータ:

44053078 1166032023073 3067 1 10414533690 2423601 99

12495764 1177932393270 1138

2 10405172143 188081

25646929 1165304175170 3756 2 10414533690 3953941 22

25646999 1160728984480 3884 2 10414533690 241372 120

12495833 1176909723643 3363 2 10414533690 2724941 11



人口統計は、グラフと同じスキームに従って分割されますが、圧縮されません(プレーンテキストとして送信されます)。 また、標準のApache Pigビッグデータストレージツールまたはその他のCSV対応ツールを使用して処理することもできます。



タスク



タスク4.2.1「生年月日」

分析のために表示されるソーシャルグラフのフラグメントには、ランダムに選択された数百人のユーザーの2段階の近隣にいる10万人のユーザーの関係に関する情報が含まれています。 参加者には、すべてのリンクを含むソーシャルネットワークグラフファイルと、年齢などのユーザーに関するデータを含む人口統計ファイルが提供されますが、すべてのユーザーについて年齢が示されるわけではありません。



グラフには存在するが人口統計には存在しないユーザーの場合、属性birth_date(生年月日)の値を設定する必要があります。



データは次の形式でファイルに書き込まれます。

(<ユーザーID> \ t(タブ)<生年月日>)



参加者の計算結果はtxtファイルで受け入れられ、参加者のデータと実際のデータの不一致を考慮する特別に作成されたプログラムによって完全なデータと比較されます。 不一致が小さいほど、チームの結果は高くなります。



問題の基本的な解決策は208ページです。



タスク4.2.2「地域」

分析のために表示されるソーシャルグラフのフラグメントには、ランダムに選択された数百人のユーザーの2段階の近隣にいる10万人のユーザーの関係に関する情報が含まれています。 参加者には、すべてのリンクを含むソーシャルネットワークグラフファイルと、地域を含むユーザーに関するデータを含む人口統計ファイルが提供されますが、すべてのユーザーに対して地域が示されるわけではありません。



グラフには存在するが、人口統計には存在しないユーザーの場合、ID_Location属性(地域)を設定する必要があります。



応答は次の形式でテキストファイルに書き込まれます。

(<ユーザーID> \ t(タブ文字)<ID_Location>)



参加者の計算結果はtxtファイルで受け入れられ、参加者のデータと実際のデータの不一致を考慮する特別に作成されたプログラムによって完全なデータと比較されます。 不一致が小さいほど、チームの結果は高くなります。



213ページの問題の基本的な解決策。



タスク4.2.3「関係の検索」

分析用に表示されるソーシャルグラフの断片には、ランダムに選択された数百人のユーザーの2段階の近隣にいる100万人のユーザーの関係に関する情報が含まれています。 参加者には、ユーザーごとにグラフと人口統計ファイルが提供されます。 提供されたソーシャルグラフの接続の一部は非表示になっており、参加者のタスクはそれらを完全かつ正確に明らかにすることです。



リンクの非表示は元の100万のユーザーのみに影響し、属性IDを11で割った残りは7(id%11 == 7)であり、これらの各ユーザーのリンクの約10%は非表示でした。 元の百万につながる通信のみが隠されていました。



予測では、コミュニケーションの存在を復元するのに十分であり、そのタイプは重要ではありません。 予測結果は、次の形式のCSVファイル形式で提示する必要があります。

ユーザーID1候補ID 1.1候補ID 1.2候補ID 1.3

ID_2 ID_2.1 ID_2.2



ID ( ), ( , ). :

5111 178542 78754

18807 982346 1346 57243



(Normalized Discounted Cumulative Gain, NDCG), . , , . ,

, . - , 0.



216 .





画像

一貫したオントロジーをどのように構築しますか?





勝者 -チーム「数学的期待」。







インテリジェントエネルギーシステム





「そして、我々はその後、中央の電力線を突然オフにします」

-主催者



画像



最初の予選ステージ



, -. (9 10-11 ) , . 3 . . . ( ) — 0 20 .



1.3.4 (5 )

0˚ 180˚ . ( ) 100 , ( ) — 500 . , .







, .



予選2段階目



, -. — 2 .

. . . 0 8 .



:

2.1.4 (3 )

() . :



x y . x 1 3, y — 2 5.



x y, a b. .



:

a = 4.03 b = 74.64



解決策
, , a b .

, . , MS Excel .

, x = 2,082; y = 4,981.





最終段階

:









, .



: , , , .







, - ,

( «»).




:





- «»



— , «» .





































, , (. 3, 4). , .





«».



, , , – .

, :

  • ;
  • ;
  • («») ;
  • , ;
  • «».


, :

  • ,
  • ,
  • .




, , («»). 10 1 . «» . . .



«»


, , , :





, .

(), , . – (), .



, . , – 25 .



,





, : , 30 1 , – 2 .



15 (15 ) , 15 – 2 .

500 .



. 3- .





10 1 . 6 .



, 5 , ( ..), .



( ) .

, .





  • 2- ( 0,5 N+2)






  • ( – , )
  • N+1
  • – 95%
  • /






, () 5 .





( ) :











問題の解決中に誰かが眠りに落ちた場合、特別に訓練された女の子がいました。





フィナーレでの興奮。





勝者は1314チームです。





まとめ



すべての苦難(朝食、昼食、夕食にジャガイモ)と苦労(海で泳いで日光浴をすることはできません)にもかかわらず、誰もが生き残りました。



高校生は卒業証書を受け取り





、ORKKのスペースパック

画像



でジャケットを着た人々がオリンピアードと教育全般の運命を決定しました。





主催者は、1500年の金と1000年の経験受信





し、何か他のものを





、私は「本物」Komsomoletsを発見し、「本当に」パイオニアネクタイを結ぶ尋ねました。





さて、「シフト」の終わりに、私たちはすべて「デュアルコア」のbonき火を燃やし、「オリョノク」の伝説に耳を傾け、「カチューシャ」を歌うことができました。

画像



今後の計画

「来年は6月から料理を始めます。対応フェーズがやがて長くなることはすでに明らかです。これにより、教育コンポーネントを大幅に強化し、最終的により興味深いタスクに到達することが可能になります。

一連の対面イベントに支えられたMOOCコースの方向に発展する必要があると思います。パートナー組織と一緒にさまざまな都市でハッカソンを開催します。」


- ビッグデータおよび機械学習ディレクションのオーガナイザーユーリ・モロディフ。Sci



-oneからのビデオとGTに関する記事です









メディア

科学ロシア。NTIオリンピアード:打ち上げは成功した

ASIでした。全ロシアNTIオリンピックの勝者は、統一国家試験

GTの結果に対して+10ポイントを受け取ります。私は母のエンジニアです。NTIオリンピアードの決勝戦



謝辞

個人的には、アレナ・イリナ(すべての場合)、クセニア・マカロワとユリア・グラボフスカヤ(私を我慢するため)、イリーナ・アブザロバ(美しい写真の場合)、システム管理者(インターネットとアニメの場合)、すべての宇宙技術者(バスケットボールとヒーローズ3のおかげ) )、およびRVC企業(彼らがいなければ、何もなかっただろうと言う)。



All Articles