二人三脚を一般化してみた

こんにちは.15のmaruxです.

この記事は rogy Advent Calender 2020 3日目の記事です.
唐突にアドカレを書きたくなったものの,以降の日程はすべて埋まっていたため時を遡ることにしました.

さて,皆さんは二人三脚というものを知っていますか?
勿論ご存知かとは思いますが,一応説明をしようと思います.
二人三脚とは,2人の人間A,Bが組になり,Aの右足とBの左足を纏めて縛った状態でゴールまでの速さを競う競技です.
運動会ではおなじみですね.

ただ,この二人三脚,人数も足の縛り方も限定されていて少し寂しいです.
掛け声も1,2,1,2の連続で少し味気ないですしね.
そこで,本記事では二人三脚を拡張していき,二人三脚に自由度を与えていこうと思います.
特に,どんな掛け声にすれば自由度を上げても進めるか,というところに興味があります.

まず,二人三脚がどうしてイッチニイッチニの掛け声で進めるかを考えようと思います.そのために人間の脚をグラフにモデル化しましょう.

これが人間です.

丸(以後頂点と呼びます) が1本の脚を表していて,緑色の線分(以後辺) により2本の脚を同時に動かすことはできないという拘束条件を表すことにします.

この人間を基にして二人三脚をグラフで表現すると下図のようになります.

ここで赤色の辺は,縛られていて同時に動かさなければならないという拘束条件を表します.

これらの頂点に色を割当て,その色に従って進むことにしましょう.
つまり,「赤!」と言われたら赤を割当てられた脚を前に出すということです.
まず,きちんと進むためには緑の辺で結ばれた頂点の組は異なる色が割当てられる必要があります.
もし同じ色が割当てられていると,その人は2本の足を同時に出す必要が出てきてしまいます.
また,赤の辺で結ばれた頂点の組には同じ色を割り当てる必要があります.
2本の脚は結ばれているため,別々に動かすことが不可能であるからです.

ここで,赤の辺で結ばれた頂点に関しては同じ色が割当てられるので,1つの頂点とみなしてしまってもいいことが分かります.(縮約と言います)

この操作を行うと上図のようにグラフは分かりやすくなり,隣接する頂点には同じ色を割当ててはならないという条件のみが残ります.

下図を見てわかる通り,二人三脚の場合では2色あれば適切に割当が可能です.
1色では不可能なので,二人三脚は2種類の記号による掛け声であれば進めるということを理解することができました.

 

次に,よく知られた二人三脚の拡張について触れたいと思います.

まずはn人n+1脚について話そうと思います.
たまにテレビの企画とかでやってる30人31脚みたいなやつですね.
それを先ほどの形で記述するとこうなります.
これを縮約してやると,

このようになるので,

こんな感じで2色で適切な割当にすることができます.
つまりn人n+1脚は2種類の記号による掛け声であれば進めます.

次にムカデ競争について見てみると,

上図のように記述できるので,縮約すると

という形になり,

ムカデ競争についても2種類の記号による掛け声であれば進めることが分かります.

さて,ここまで非常に限定的な拡張について見てきましたが,ここから更に拡張していきましょう.
n人m脚を考えていきたいと思います.


例えば,上図のように繋いでみた場合はどうでしょうか.
(長い赤い辺はムカデ競争の板のようなプレートで繋がっていると思ってください)
これも縮約を繰り返して色を割当ると,と,なり3色で適切に割当が可能なことが分かります.
したがってこの結び方の場合,3つの記号の掛け声で前に進むことができます.

では,一般には何色あれば色の適切な割当が可能なのでしょうか?
ここで考えるグラフには2つ条件を付けたいと思います.

まず1つ目の条件は割当不可能なグラフではないということです.

つまり,上図の上側の人のような,片方の脚から赤い辺を辿るともう片方の脚にたどり着けるような人は居ないということです.
こうした人が居た場合,赤の辺の拘束により両足を同時に動かす必要がありますが,緑の辺の拘束により同時に動かすことができず,適切な割当が存在しません.
逆も同様に成り立ちます.

次に2つ目の条件は,辺は平面上で交差しないということです.

上図で人間がどんな様子になっているかを考えると,紐のような拘束が空中で交差していることになり非常に危険です.
また,緑の辺と他の辺が交差している場合,人間の股下を何かが通っていることになりやはり危険です.
したがってここでは考えないことにします.

この2条件を満たすグラフを考えると,そのグラフは平面上で辺の交差なく描かれていることが分かります.
つまり平面的グラフ(平面上に描くことのできるグラフ)であります.
有名な4色定理 から4色で適切に割当が可能であることが分かり,4つの記号つまり1,2,3,4,1,2,3,4,…の掛け声でn人m脚は進行可能であると分かります.

逆に,下図のような例で4色必要なため,4色は必要である例があることも分かります.

これで二人三脚の拡張が少しできました.
いやでもしかし,まだ拡張できそうではありませんか?

そう!二人三脚の”人”の部分です.
いまやペットを飼うのは当たり前の時代,犬や猫と一緒に二人三脚したいという人も少なくないはずです.

そこで4足歩行の動物も含めて考えてみましょう.
まず,四足歩行の動物はどの脚も同時には動かしてはならないものとします.
つまり,下図のように表現されるわけですね.


こうして表現すると,出来るグラフはどの辺も高々1度しか交差しないようなグラフになります.
こうしたグラフは1-平面グラフと呼ばれ,6色あれば色の割当てができることが知られています.
また,下図の例で6色は必要であるので,6色が下限であることも分かります.


よって4足歩行の動物とともに二人三脚したいとき,1,2,3,4,5,6,1,2,3,4,5,6,…の掛け声で進むことができます.

 

これで一般化二人三脚の話はおしまいです.
最後まで読んでいただきありがとうございました.

ケーキを上手に切りたい

この記事は rogy Advent Calender 2020 18日目の記事です.
こんにちは, 15のとくちんです.

クリスマスにはクリスマスケーキを食べるといった方も多いかと思います. しかし, 複数人でケーキを食べる場合, ケーキを人数分等しく切り分ける問題に直面します.

ケーキの上手な切り方について検索すると, 多くの方法が見つかります.
いくつかの方法で共通するのは, ケーキの中心に印をつける, 中心に包丁を入れて切る, といったケーキの中心に当たりをつけることです.
しかし, どのくらいの精度でケーキの中心がとれればいいのでしょうか?
“ケーキを上手に切りたい” の続きを読む

位相同期モデルでライブ会場を再現してみたい

こちらは rogy Advent Calender 2020 16日目の記事です.

先日このAdvent Calenderの5日目の記事として,振動子の同期について紹介がありました.

記事中ではメトロノームや蛍の発光の同期が紹介されていました.

実際,同期現象は自然界であちこちに見られます.

ところで,私たち自身が非常に分かりやすく,振動子として同期している場面があります.

ライブです!!!!!

曲に合わせて,あるいは周りの人と一体になって振っているキラキラの光は,まさに振動子と言えそうです.

実会場のライブも中々参加できない今日この頃ですが,シミュレーションで会場の一体感を再現してみようと思います.

“位相同期モデルでライブ会場を再現してみたい” の続きを読む

【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 画像処理編 –

この記事はrogy Advent Calender 2020 14日目の記事です。

こんにちは、15 の nomo ( @nomotech )です。

この記事は昨日 Loop 君が書いてくれた 【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 機構編 – の続きです。
今回は画像処理について解説していきます。

はじめに

私は動きの速いものに対する画像処理は高速である必要があると思っています。しかし大抵のロボコンではロボットは高速に動くのに対して画像処理の高速性にはあまり注目されていないような気がします。
そこで私はこのROBO剣で高速に画像処理をして相手の技をすべて見切ってやろうと考えていました。
が、残念ながら今年のROBO-剣はオンライン開催になり、ロボット同士の剣道の試合ではなく制限時間内にダミーロボットにどれだけ技を決めることができたかを競うルールになってしまいました。

残念ながら認識する相手は動かないダミーロボットですが、来年のことも見据えて高速なリアルタイム画像処理を実装しました。
“【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 画像処理編 –” の続きを読む

見たいYouTubeの動画を見逃さないために

初めまして、17のバンル( @17_bnr )です。

この記事はrogy Advent Calendar 2020の12日目になってます。

ところでみなさん,声優の夏川椎菜さんを知っていますか?
ハイスクール・フリートの岬明乃

©AIS/海上安全整備局

アイドルマスターミリオンライブの望月杏奈

©窪岡俊之 ©BANDAI NAMCO Entertainment Inc.

などそれ以外にも多くの作品に出演しています。
本業の声優以外にもtrysailというユニットを組んでいたり,
個人アーティストとしても活動しています。
(ところで来年1月6日に新曲,クラクトリトルプライドが出ますね!
サブスクなどでは先行配信されているのでぜひ聴いてみてください)

それ以外にも自信のブログを書いたり,自身のYouTubeチャンネルに毎週動画を配信したりと多方面で活躍しています。

その中で特に自分が好きなのはファミ通TUBEで配信されているゲーム実況です!

これだけは見逃したくないのですが,少し問題がありまして,
ファミ通TUBEは,下の画像にあるように幅広くゲーム関連の動画を配信しています。

そのため,YouTubeの通知機能だとファミ通チャンネルの動画がアップロードされるごとに通知が来てしまいます。
他の動画も面白いのですが,個人的には
ファミ通TUBE夏川椎菜さんの動画だけの通知が欲しい!
でもない……
”ないなら作ればいい”

ってことで作成開始です。

※夏川椎菜さんはファミ通.comでもゲーム実況と同じタイトルのGAMEISCOOLというブログを書いていますので,よければそちらも読んでみてください。

“見たいYouTubeの動画を見逃さないために” の続きを読む

絶縁ICを使ってみた

皆さんこんばんは.アクア研17の煎餅の人です.

こちらはrogy Advent Calender 2020 2日目 まだ寝てないからセーフ! の記事です.昨日の記事でかなり雑に紹介されましたが,ご期待に添えるかな…?

現在アクア研で動いているプロジェクトの片方で,個人的に初めて電源系を絶縁するという試みをしたので,その簡単な報告をします.

作成中の回路.水中ロボットなので防水ケースの中に回路を納める必要があります

書いている人は回路の勉強をしっかりした訳ではないので,内容に誤り等あれば指摘して頂けると嬉しいです.

絶縁ってなにしたの?

作成したパワーモジュール.見た目は完全にただの塩ビパイプだが,中にはモータとバッテリ,マイコンに無線通信機まで入っていて,独立したモータモジュールを構成している.

“絶縁ICを使ってみた” の続きを読む

rogy Advent Calendar 2020 始まりの儀

この記事はrogy Advent Calender 2020 1日目の記事です.

こんにちは.部長のHitomosiです.

rogy Advent Calender 2020が始まります!!!!!!!

毎年恒例のADCでございます.

最近似たようなイベントをやったような気がしますが,そこは気にしない方向で行きましょう.

新入生への勧誘的な話はここ(リンクです)でしたので,リンクでも踏んでください.

そういえば,ADCといえば集まらないもん(だと思ってる)んですが,今年はどうかな?

大いなる可能性を秘めていますね.

明日は先代部長の記事なので,多分すごいと思います.以上です.

水冷ファンの補強をしようと思ったのですが…

この記事はロ技研秋のブログリレー9回目の記事です。

皆さんこんにちは、最近PCの自作・改造ばかりしている17-yotaです。今週の自作PC界隈はRTX3070発売やRDNA2(RX6000番台)発表、そしてZen3のベンチマークの噂などで熱いですね。ですが今回はCPUやGPUなどのPCパーツではなく、とある補強パーツを作成した話をしようと思います。

ここまでの大まかな経緯

私が3か月前に組み立てたPC ですが、こちらの記事でも触れた通り7月中旬に一応ほぼ完成したものの、1つだけ3Dプリンタで作成したい補強パーツが残っており、10月になってようやく着手することにしました。

そのパーツですが、実はPCケースが140mmファンに対応していないのにも関わらず、冷却システムに280mm簡易水冷を採用しました。当然ファンとマザボが物理干渉したので、図のように手前にずらして適当に固定した結果、ファンの取り付けが不安(は?)だったので作ることにしました。

ただ補強するといっても既に接する面でネジ止めしたので外側から固定する必要があります。結果的に図のようにケース(左上のコの字型で固定)とファン(右下の爪で固定)を挟むクランプのようなパーツになりました。できればコの字と爪を別に作成し、ネジで圧着したかったのですが…

部品設計

他の工作機械は扱える自信が全くなかったので3Dプリンタを選びましたが、こちらも使用経験が少なく確実に1回は失敗するだろうと思い、まずはプロトタイプを印刷することにして、PCに嵌まることを優先しサイズ的には少し緩めに作成しました。

1回目

出来上がったものを見てなんか小さい気がしたので取り付けようとしたら…縮尺間違えてました。察してください。

(上 : 2回目, 下 : 1回目)

2回目

縮尺に関してはstl変換前と後で辺の長さを比較した結果、10倍に拡大するのが正解だったようです(cmがmmに変換されたのかも?)。他にも、

  • 上面メッシュフィルタとラジエータの間隔を測ったらとても狭かったのでパーツの該当部分を薄く
  • フィレット(辺を直角ではなく丸くする処理)加工を追加
  • 爪の設計をより細かく

などの修正をしました。

1回目は入力こそ違ったものの印刷自体は正常だったので、ひとまずプロトタイプとして完成するかと思ってました。しかし、印刷が終わったので部室に行ったら…何これ??

3回目

どうやら幅2mmだと積層できないっぽいので3mmに戻しました。爪側は思ったように印刷できたのでPCに取り付けて細かい調整をしました。

結果的に1回目の細部変更バージョンになったので積層では失敗しないと思いながら印刷していたのですが…プリンタの隣で祈りながら記事を書いてたら突然バリバリ!と音を立てたので、何かと思って中をみたら前回失敗した面と同じ箇所が割れていました。1回目は上手く印刷できた箇所なのに、無念。

 

まとめ

結局3連続で失敗したため目標の10月中には完成できませんでしたが、今後は薄く積層できるようにサポート材をつけたり肉抜きをしたりしつつ、上手くいったら上下別で作成しネジで圧着する仕組みに変えようと思います。

まあ、たまには失敗した話をするのも現実的でいいですよね(逃避)