ルービックキューブへの挑戦と解法の最小記述!?

というわけでルービックキューブを解けるようにしようと挑戦をはじめました。

 

頭でっかちで記憶力の弱い数理工学者としては、群論でなんとかならないかとネット検索。するとたくさん出てきますが(例えばこれ→ルービックキューブと数学 http://www.math.nagoya-u.ac.jp/~h-nakashima/others/suriwave/suriwaveHN.pdf )、どうもちょっと想像してたものと違う。

私の勝手なイメージとしては、「ランダム配置を紙に書くかしてちょっと手計算すると解法手順が出てくる」っていうものだったんだけど、どうもそういうことではないらしい。

最短手順の証明とか、計算機で解法を探索するための絞り込みとか、人間が目の前のルービックキューブを解くのにはあんまり役に立たなそう。(たぶんだけど、目の前の配置を分析して手順を構成することはできなくはなさそう)

 

それで群論はすっぱりあきらめて、普通の人がするようにネット検索でできるだけ楽な解法を探すことに。

別にタイムを競おうとか全く考えてないので、覚えることが少ないものに飛びつく。そんな中でもわかりやすそうで最初に見たのがこれ→

3×3ルービックキューブ簡単6面完成攻略法<初心者向けのわかりやすい解き方>

 

これでも少し時間をかければ記憶力のいいひとなら短時間で習得できそう。

少なくともどんな順に組み立てていくかの概要はわかりました(これ以外の方法もあるみたいだけど)。

 

でもこんな初心者に優しいやり方でも、最大10手くらいのパターンを7~8個覚えてしかも場合分けなんかも覚えなくちゃいけなくてものぐさな自分にはちょっと無理。

というわけでさらに覚えることが少ないのはないかと思って見つけたのがこれ→

www.youtube.com

この「覚える動かし方は1つだけ」ってのに釣られましたw

 

正確に言えば1つではなく右パターンとそれに対称な左パターンの二つですが、対称なパターンなら覚えやすいし、しかもそれぞれたったの4手。

場合分けも上に挙げた web ページのものよりも少し少なくて記憶力に易しいです。

ただ、実際にはところどころにこの基本パターン以外の動きも入るので(だいたいは1手ですが)、覚えたと思って実際やってみるとうろ覚えのところで失敗したりしてましたが少し練習したら時間はかかるけどできるようになりました。

(下の方に注意点を書いておいたので動画と合わせて読むと覚えるのも早まるかも)

 

めでたしめでたし。 これで数十年の恨みを晴らしました。

 

最初は盲目的に手順に従うだけだったけど、余裕が出てくると途中何がどう動くかを見る余裕が出てきます。

最初は習うより慣れろという感じでしょうか。

 

今後の課題としては、これでもなんか覚える量がそれなりにあるのでもっと覚える量を減らすものがないかどうかの追及ですかね。

機械学習の研究者としては、ルービックキューブの解き方の最小記述長(MDL)みたいなものへの挑戦?

一度覚えてしまうとそのモチベーションもいまいちあがりませんけど。 

 

追記:少ないといえばこんなのも見つけたけど覚える手数が長くてツラい。自分には多少場合の数は増えても手数の短いのが合ってる気がする→

たった3パターン覚えるだけ!ルービックキューブ六面解法のコツ | nanapi [ナナピ]

 

追記2: 世の中には26年かけて自力で解いた人もいるようでそういうバイタリティ自分には全然ないです 

ルービックキューブ攻略に26年かけた男 - GIGAZINE

 

追記3: ふだん仕事で使っているデータ解析のための R という言語にルービックキューブを解いたりアニメーションしたりするというパッケージがありました。

CRAN - Package cubing

 

以下は解き方の覚書。

 

基本の動かし方:

まず記号の定義

R: 右面の時計回り。その逆の動き、右面反時計回りを R' とします。

U: 上面時計回り。その逆の動き、上面反時計回りを U' とします。

覚えるべき右側基本手順は X = R U R' U' の4手です。

4手と言っても、最初の2手をやったら残りはその反対をやるだけなんで覚えやすいです。

X の面白い性質は X^6 で元に戻るところで、群論的には位数 6 の部分群の生成元になってるんですね。

だから、何回回したかわからなくなっても繰り返せば元に戻ります。

また、動画ではわかりやすさのために X^5 というように5回も回すところがあるんですけど X の逆手順 X^(-1) = U R U' R' をやると覚えておくと手順が節約できます。

はじめのうちは5回もやってるとどっかで回し間違えたりするし、逆に逆手順をやろうとして回し間違えたり、どっちもどっちではあるんですが。(これが一番最後の完成寸前のところに出てくるものなので、完成寸前で崩してしまったことが何回も(涙))

 

一方、対称の左手順は、同様に L: 左面時計回り、その反対の左面反時計回りを L' とすると、

Y = L' U' L U です。対称なんで覚えるのは難しくないです。

 

それで、基本手順を使った最初に調べた web ページと同じで、

1)上面十字 2)上面角 3)2段目 4)下面十字 5) 下面角位置 6)下面 7)完成

という段階で完成させます。

最初の2段階くらいは何も知らなくてもできるので、後半を少しずつ覚えていくということですね。最後が完成寸前で結構複雑なので間違えやすいです。

注意すべき点:

・ステップ3の2段目をそろえるときに基本手順の前に1回回す手順が入る。

・いろいろな場面で全体を90度回転みたいなのが出てくるのでそれを忘れないように。

・ステップ4は3つの場合分けを覚える必要があるのと、基本の前に1回回す手順が入るのがポイント。ただし、場合分けは覚えておきさえすれば動かす手順は同じなのがうれしい。

・ステップ6は覚えれば単純なんだけど、ビデオ見返さないとちょっと慣れるまでよくわからなかった。

・ステップ7は基本を5回動かすのが2回もあるので、これは前述の逆手順1回で済ませる方が楽。

 

 

今更ルービックキューブかよ

このコロナ禍で明日どうなるかもしれないということで、(特に在宅ワーク中は)人生振り返ってやり残したことを片付けることを考えていました。

というわけでルービックキューブであす。

実はこの歳になるまでルービックキューブをちゃんと解いたことがありません。

ルービックキューブ - Wikipedia によれば 1980 年に最初のブームが来たらしいので中学生の頃がはじまり。

当時同級生が魔法のように解くのを見て感心していましたが、いろいろ覚えるのも面倒で記憶力ダメダメな私はあまり努力もしませんでした。

そもそもこの手のものは自分では持ってなくて、友達から借りて遊んでいただけというのもあります(同じように借りてやったけど極めたものにゲーム電卓があるけど)。

 

それからしばらく忘れていましたが、大学院の先輩が物知り顔に「ルービックキューブ群論で解けるんだよね」とか言っていて、興味が少しだけ湧いたけど特に深掘りすることもありませんでした。

 

そうしてあっという間に数十年が過ぎ、このコロナ騒動で子供から頼まれてルービックキューブを買ったのがつい最近。

現在少なくともうちには二つのルービックキューブがあります。

一つは NIPS か何かでグーグルが配っていたやつを子供へのお土産にしたもので、もう一つが最近買ったやつ。

f:id:toddler:20200711110810j:plain

ただでもらったのがあるのでなんで買うのか不思議だったけど、買って納得。

回すのに必要なエネルギーが1000倍くらい違います(体感)。

特に初心者はそろえるまで手数がかかるので回すエネルギーが大きいと覚えるまでにエネルギー切れになりそう。

 

子供はすぐに覚えて1分くらいで解けるようになったみたいなので、何十年かぶりに重い腰を上げて挑戦してみることにしました。

 

(つづく)

 

できるだけ普通の機材で惑星を撮る(後編)

前編 からの続き

 

撮影も二日目になると,少しは慣れてきました.

でもやっぱりピントはよくわからないし星をカメラ視野内に入れるのも大変.

下に書くように,複数枚合成することを想定して同じ条件の写真を連写しまくってたくさん撮りました.

 

惑星写真作成の基本は複数枚合成(あるいはビデオ映像からの合成)です.

そうしてできたものが果たして厳密な意味での「写真」と言っていいかどうかは微妙ですが,とにかく天体写真業界はそれが普通らしい.

 

合成の基本は「質のいい画像を選んで」「位置合わせして」「加算平均」することです.ただし,何十枚もあったり動画だったりすると手でやるのは大変すぎるので何かのソフトに頼ることになります. 商用のものもフリーのもあるのですが,とりあえず今回はフリーソフトウェアでよさげな Registax というものを使用(リンクは使い方紹介のページ).

 

これらのソフトは前回も紹介した,「赤道儀で追尾して望遠鏡にCMOSカメラで撮った動画(静止画も可)」を処理することが前提とされていたので,私が撮ったような画像中を動きまくっている惑星を位置合わせするところまではさすがに難しいようです.

※注) ソフトの使い方が未熟なだけの可能性もあります

 

というわけでまずは自分で位置合わせのプログラムを書きました.

以前に金環日食の画像処理で太陽を取り出したことがありますが,太陽とは比べ物にならないくらい小さくて解像度も悪いので,あまり凝ったことはせず,画像の重心を計算して(変なごみに引きずられないような工夫とかいろいろして)惑星領域を抽出しました.前回と同じく使い慣れた matlab を使用(最近あんまり使ってなかったけど).

なんとなく位置合わせをした画像(↓↓↓↓↓↓↓↓こんなやつ↓↓↓↓↓↓↓↓)をたくさん作成.

f:id:toddler:20200501081007j:plain

いやー拡大すると本当にぐだぐだですね.

でもこういうのを何十枚も集めて Registax で読み込みます.

私がなんちゃって抽出した惑星は結構画像内でもふらふらしてますが,Registax もそれくらいは対応して位置合わせしてくれます.スクリーンショットはこんな感じで,これは読み込んだ後位置合わせするためのアラインメントポイントボタンを押すと勝手に点を選んでくれてるところです.

f:id:toddler:20200501082232j:plain

最初は自分でがんばって matlab で位置合わせとかも書こうと思ったんだけど,このソフトの多機能ぶり(いろんな調整パラメータがある)を見たらもう自分でやる気はなくしました.

 

今回はすべて Registax の自動処理に任せたのでボタンを4回くらい押すともう処理は終了.これで得られた画像が下の画像です.滑らかにはなったけどなんとなくボケボケではあります.まあ現状のスキルではこれくらいが限界でしょうか.

f:id:toddler:20200501082646j:plain

ここから先は写真修正ソフト (私は lightroom classic を使いましたが photoshop とかでも可) で少しエッジ強調みたいなのをしてやると下のようなくらいには見られる土星が得られます.

f:id:toddler:20200430091540j:plain

同様に初回ピンボケだった木星も二回目はもう少しピントに注意して撮影して(といっても実際よくわからないけど)処理したら少し縞模様が見えてうれしくなりました.

次は大赤斑見られる時間帯に撮影に挑戦したいです.

f:id:toddler:20200430091541j:plain

Registax には Wavelet 変換してエッジ強調する機能とかもあるし,いろいろできそうなので少しずつスキルを高めていきたいです.

 

明け方写真を撮るのも結構しんどい作業なので今回はとりあえずこの辺で満足してまた何かイベントがあってやる気と条件がそろえば撮影しようと思います.

しばらくはまた無気力引きこもりモードに戻ります.

 

できるだけ普通の機材で惑星を撮る(前編)

新型コロナで職場も出勤自粛で原則テレワークとなり少なくとも5月いっぱいまでは引きこもりです.

基本的には家の隅っこで迷惑にならないようにじっとしていますが,数少ない楽しみである写真もたまには撮ってみたい.

現在  火星・土星・木星が夜明け前の空に並んで見られるということで,惑星撮影してみました.

 

惑星撮影でググると CMOSカメラで惑星を撮影しよう というようなページが出てきて,赤道儀で望遠鏡を自動追尾してビデオ画像を撮ってそれを合成して作るみたいなやり方が王道らしい.

 

確かにすごい画像が撮れるんだけど,むっちゃお金とノウハウが必要そうなので,もっと手元にあるデジカメだけできないかとやってみました.

 

というわけで用意したのがふと手元にあった普通のコンパクトデジカメ Nikon Coolpix P1000 . いや普通じゃないしコンパクトじゃないし!っていう突っ込みは置いておいて... 

 

このカメラのページにも

COOLPIX P1000 月・惑星撮影クイックガイド – 木星、土星を撮影しよう | ニコンイメージング

っていうページはあるけどこれ絶対思いっきり赤道儀で自動追尾している上に湿度や風や光害のないすばらしい条件で撮ってますよね.

こっちは春のゆらゆら大気の中,つくばの明るい街灯の輝く集合住宅のベランダから撮ろうっていうことなので.

 

自分もコンパクト赤道儀みたいなのは一応持ってるんだけどとてもこの超巨大コンデジ(!)を載せられる耐荷重はありません.

 

というわけで某月某日夜明け前に起きて撮ってみました.生画像はこんな感じ.ネットで見るのとは違ってぼやっとはしているけど土星の輪が撮れてプチ感動.

f:id:toddler:20200424032605j:plain

(上のような画像からいいのを選んで,あと木星と火星も)少しだけ画像処理してインスタに投稿したのがこちら 

www.instagram.com

思いつくまま苦労した点やポイントなどを書いてみます.

  • ピントはマニュアルにするもののちゃんと合っているのかどうかいまいちよくわからない.実際木星はあまりピントが合っていないように見える
  • そもそも春の大気はよくゆれて惑星もゆうれいみたいにゆらゆらゆれるし,若干霞がかかっているのか画像もネットとかで見るよりずいぶんぼーっとしている.
  • 三脚には載せてるけどカメラを操作するだけでカメラが動いて惑星が画角から外れて再導入がいちいち大変
  • シャッター押してもぶれるので一応有線レリーズも使いました.持っていない場合はタイマーとかでもいいけど連写とかが難しくなる.
  • 赤道儀使ってないので惑星が画像内をどんどん動く.デジタルズーム込みで35mm換算で12000mm相当(倍率で言えば24mmx500倍)なので,画像の端から端まで30秒ちょっとで通過してしまう
  • はじめは RAW 画像で撮影してソフトウェア現像しようと思ったんだけど,RAW だと光学ズーム3000mm相当までしか撮れなくて小さすぎて今回は却下
  • ISO設定,シャッタースピードをどれくらいにしていいのかの感覚がいまいちわからない.絞りは開放にして,ISO 800~6400, シャッタースピードは 1/60~1/250 くらいまでで適当に設定
  • 木星はかなり明るいので衛星と一緒に撮ろうとすると白飛びしてしまう
  • 火星は小さくて形はほとんどわからない

というわけでもう少し条件の良い夜を選んで2回目の撮影にトライしました.

コンピュータを使った後処理(複数枚によるコンポジット処理と呼ばれるもの)などもやってみましたが,思いのほか長くなったので今日はこの辺で.

後編に続く.

 

温泉で仕事

世の中新型コロナウィルスで大騒ぎで政治もいろいろ迷走しているようだけど,基本的にはそういうのに振り回されにくいロバストな生き方を選んできたつもりで,まあのんびりやろうと思っている.

 

いろいろなイベントが自粛となる少し前の時期に,草津温泉で行われたアウトプット合宿というのに参加してきた.

最近仲良くさせてもらっている地質の方々に混ぜてもらって群馬大が管理している草津セミナーハウスという場所で議論したり論文書いたりという合宿.

私のような人間でも温かく迎え入れてくれる優しい方々です.

 

参加者の中で「温泉と仕事・生活」という仕組みを追及されている東北大の鈴木さんのレポートがあるので詳しくはそちらで.

http://waku2life.jp/portfolio/kusatsu-outputcamp/

 

ふだんの出張は物見遊山がメインだけど,若い人たちがバリバリ仕事しているのを見ると釣られてこちらも仕事に力が入る.

といってもメインはたまっていた雑用をこなすというのが多かったんだけど,鈴木さんに教えてもらってパーシステントホモロジーの実験をやってうまくいったのが大きな収穫.

 

疲れたり冷えたりしたら温泉に入れば癒されるし,仕事の潤滑油でもあるアルコールも適度に頂きながら仕事三昧というのもすばらしい.

 

こういう企画もっとあるといいけど,草津セミナーハウスは施設老朽化の修繕費が莫大になるとのことで今年度いっぱいで閉鎖とのこと. 残念.

まあ日本にはたくさん温泉地があるので今後もこういうイベントが増えていくことを期待.

 

f:id:toddler:20200301090314j:plain

草津にはいろんな人が来てるんだなと

 

 

とある夏の一日

今日はいろいろあってツイッターには書ききれないので超絶久々にこちらに書いてみる.

 

今日は東京の某所で朝から人前で一日しゃべるイベントあり.

駅から歩いてちょっと道に迷っているうちに雨がぽつぽつ降り始めた.

傘は持っていないが目的地までは大した距離ではないし少し急ぎ気味でPCを開いて場所を確認し目指す.

ところがそのうち半端ないくらいの土砂降りでこれがいわゆる都会のゲリラ豪雨ってやつで,わずか2~3分もしないうちにずぶぬれに.なんかカバンが空いていてさっき開いたPCがちょっと濡れているようだがまあ大したことないだろうとたかをくくっているうちとにかく目的地に到着.

服がスケスケ状態でちょっと恥ずかしかったけどとりあえずハンカチや貸してもらったタオルで体をふいていてふと外を見るともう小降りになってる.

まあ気を取り直してしゃべるためのPCを開いてプロジェクターに移して準備.あと5分くらいだなあと思って心の準備をしていたら突然PCがブルースクリーンになって「問題が起きました再起動が必要です.情報を収集しています.0%」というような表示が出て固まっている.まあ時間もないので強制的に電源落として起動すればいいかと思ってやってみるとなんと電源が入らない.いや昔はコーヒーこぼしてもOKだったレッツノートだよねと自問自答しながら焦って駆動を試みるも全くダメ.ふとバッテリー外してみたりすると結構な量の水滴がついてる. これは逝っちゃったかなと思い,担当の人に状況を伝える.ふつうはこういう事態のためにUSBとかにファイルを落としているもんだけど最近油断していて全くお手上げ状態に.(dropbox には置いているのでいざとなれば取り出せるけど)

事前に送った資料と代わりのPCを準備してもらって少し遅れてトークは無事開始.まあ夕方まで特に何事もなく終了.

洋服はトークしてるうちに乾いたけど,かばんとかはぐっしょり水吸ったまま.

夕方になっても相変わらずまだPCは立ち上がらない.

明日も同じようなイベントあるのにどうしようかなーと思って,代わりのPCを調達するため帰りに職場に立ち寄ることにする.

職場はつくばエクスプレスで行くと若干面倒なので,東京駅から高速バスに乗ると近くにバス停がある.とりあえずバスに乗り込んでふと考えたら職場の建物や部屋に入る鍵カードを家に置いてきたことに気づく.

結局家に寄って鍵カードを取ってから自転車で職場に向かい,代わりのPCを調達.汗だくになりつつもこれでなんとか明日は大丈夫だと思って帰宅して試しに立ち上がらなくなっていたPCの電源を入れてみたらなんと起動した.あれだけ頑固に夕方まで立ち上がらなかったのに.自転車往復はなんだったんだ?

というわけで今はその復活したPCでこのブログを書いている.

まあいろいろ大変だったけど,事故とか病気とか人的被害はなかったのでよかったなと思っていたんだけど,まさかPCまで復活してしまったらモノ的にも何の被害もなく,単なるハラハラドキドキのテーマパークのアトラクションやったみたいな結果に落ち着いた.

結果良ければすべてよし.

ということで酒を飲みながら一日を振り返って明日への英気を養いつつ久々のブログを書いている次第.

映画と日常

あまりたくさん映画を見る方ではないですが,ここ1〜2年で気に入ったのは
この世界の片隅に

「君の膵臓をたべたい」
の2本

どちらも割と日常的なものの大切さに気づかされる作品です

「この世界...」はキナ臭い今の時代に見ておいてよかったと思える作品で,聖地巡りというほどではないですが8月の広島出張のついでに呉にも行きました,

キミスイ」は「星の王子さま」との関連性がマニア的には面白いですが,それよりも飛行機で何回も何回も見て号泣したので,機内食配るCAさんに見られて恥ずかしかったです.

というわけで無理やり気味ですが,研究者の日常についてちょっとこちらに書いてみました.

本当はもっと細かくて面白い話も書こうと思ったんですが,概要書いてるだけで分量がおなかいっぱいな感じになってしまいました.

おまけ:
下の写真は呉に行ってすずさんの嫁いだ北條家があったと思われるところに割と近くの高台から港方面を眺めた光景(逆光で海はよくわからないですが)