N×N×Nキューブを目隠しで解くときの記憶量考察

あけましておめでとうございます. 2015年最初の記事です.

概要

本記事では,N×N×N (2×2×2 ~ 7×7×7) キューブを目隠しで揃えるための記憶量を計算し比較考察する. キューブの記憶量に関する問題はSNS等でたまに話題になるが,この際ちゃんと定式化してみた.

現在の N×N×N キューブ目隠し解法の主流はコーナー,エッジ,センターそれぞれの3点交換(3-cycle)であり,記憶方法もそれに即して facelets (ステッカー)列を記憶する方法である. 本記事もその方法でキューブの状態を記憶する.

初めに断っておく. 同じサイズのキューブでも記憶方法の違いやキューブの状態によって記憶量が少々異なる. 本記事では,異なるサイズのキューブ間での記憶量を比較するのが目的であり各サイズのキューブにおいて厳密に記憶量を計算することはしない.概算である.

いきなり結果を示す

いきなりだが結果を示す.以下の表に,2×2×2 から 7×7×7 を目隠しで解くときのキューブ状態の記憶量を示す.
具体的な算出方法は本記事の後半に記述したので,興味のある方はそちらを参照されたい.

キューブの種類記憶量
2×2×231 bit
3×3×380 bit
4×4×4239 bit
5×5×5392 bit
6×6×6655 bit
7×7×7912 bit

Read more »

2014年I/Oデバイス周りの大掃除 (ディスプレイ・キーボード・マウス)

2014年もあと少しということで,自宅のデスクのI/Oデバイス周り(ディスプレイ・キーボード・マウス)の大掃除と称して,全部新調した.
研究,開発,趣味ともに全て自宅で作業(文書作成・プログラミング・コーディング)する環境なので,そのための投資だと思えば出費は苦にならない.

ディスプレイ

今回の目玉である.
ディスプレイ環境が作業効率にダイレクトに影響すると思っていて,できるだけサイズが大きくてフルFD(1920×1080)が望ましい. 特にプログラミング(コーディング)する環境だと画面が大きいことに越したことはない. 副産物として動画が綺麗に見られるという点も挙げられる. 今までラップトップの小さめの画面で作業していたので,大きい画面で作業しだしたら快適すぎて笑いが止まらない.

いろいろ比較・選定が面倒だったので,Amazon.co.jpでベストセラーのを選んだ.
購入したのは,BenQ 24インチのやつである.

レビューに明るすぎるみたいなコメントがあったが,ディスプレイ設定の「ブルーライト軽減」で「オフィス -60%」の設定にするだけでいい感じになった. ちなみに,メニュー等は日本語である.
ケーブルは電源ケーブルとD-subケーブルが付属する.別途でHDMIケーブルを購入したが,結局D-subを使用している.

Read more »

WCAデータベースたわむれ入門 [Speedcubing Advent Calendar 2014]

本記事は,Speedcubing Advent Calendar 2014 の16日目の記事です.
15日目はこうさんの「EP上下反転手順」でした.

Note: 本記事の内容はスピードキュービング競技の技術に直接的に結びつくテーマではありません.

はじめに

from-hawaii

ハワイからの更新です.

さて,これまでのWCAデータベースに関する記事として,
1) BigDumpを用いてインポートする方法2) サーバ上のデータベースを自動的に定期更新する方法 を紹介してきました.

Thumbnail of WCAデータベースのMySQLへのインポートにはBigDumpを使うと高速かつ楽 — terabo.netWCAデータベースのMySQLへのインポートにはBigDumpを使うと高速かつ楽 — terabo.net
一部のスピードキューバの方々はWCAのDatabase exportを利用されていると思います.近年の公式大会数の増大に伴って,データベースファイルが容易に扱いにくくなるレベルまでサイズが大きくなって...
Thumbnail of WCAデータベースを自動で定期更新する方法 — terabo.netWCAデータベースを自動で定期更新する方法 — terabo.net
本記事では,WCAデータベースをサーバまたはローカルに自動的に定期更新する方法を説明します.前の記事でBigDumpを用いて手動で簡単に高速にインポートできることを紹介しました.本記事はその続きです....

WCAデータベースを扱う操作の内,インポートという部分的な処理に焦点を当てて記述しましたが, 本記事ではデータベースの導入から実アプリケーションの作成までの一連流れ,全体像を説明します. WCAデータベースを使ってわちゃわちゃ遊ぶための基礎知識という位置付けです.
Web技術にちょっと興味があるけどまだ手を出せなかった方らへんを対象として想定しています.
これを機に,多くの人がWCAデータベースに触れて面白いデータやアプリケーションが増えたら楽しいなと思います.

本記事の構成は以下のようになっています.

  1. 何が必要? 環境構築
  2. データの取り込み
  3. 試してみる
  4. 実アプリケーション紹介

Read more »

WCAデータベースを自動で定期更新する方法

はじめに

本記事では,WCAデータベースをサーバまたはローカルに自動的に定期更新する方法を説明します.

前の記事でBigDumpを用いて手動で簡単に高速にインポートできることを紹介しました. 本記事はその続きです.

Thumbnail of WCAデータベースのMySQLへのインポートにはBigDumpを使うと高速かつ楽 — terabo.netWCAデータベースのMySQLへのインポートにはBigDumpを使うと高速かつ楽 — terabo.net
一部のスピードキューバの方々はWCAのDatabase exportを利用されていると思います.近年の公式大会数の増大に伴って,データベースファイルが容易に扱いにくくなるレベルまでサイズが大きくなって...

Read more »

カリマー X-Lite をランニングで使ってみた感想

先日,カリマー(karrimor) の X-Lite というバックパックを購入しました.着用してランニングしてきたので,簡単にレビュー/レポートします.
山の中ではなく街中での使用です.

カリマー X-Lite

これがX-Liteです.カラーはです.
他にもカラー展開として,オレンジイエローピンク があります.

表記上,容量は15L,重量は320gだそうです.非常に軽いです.
胸ベルト,腰ベルト共にちゃんと付いています.
残念ながらハイドレーション用の通し穴は付いていないようです.
ロゴはリフレクティブなので夜間のランニングでも安心です.

Read more »

Googleスプレッドシートで条件付き書式を使い近日中に迫る日付を強調表示する

はじめに

Googleスプレッドシートのちょっとしたテクニックです.
あんまり技術っぽくないテーマですが,自分が少し行き詰まった点でもあり,ピンポイントな既存解説が存在しなかったので,備忘録として記事に残します.

今日,来年以降に開催される国際会議の日程と important date (各種締切日等) をまとめた表を Google スプレッドシートで作成していました.日付を表示するとき,例えば,締切が迫っているものはセルのバックグラウンドを赤色で強調して,そんなに締切が近くないものは黄色,過ぎ去った日付はグレー等で知らせてくれたらいいなと思いました.「条件付き書式」ですんなりできるかと思ったら意外と苦労して,軽く調べてもなかなか解決しなかったので,ここに記録しておきます.

ちなみに,作成した表はこんなやつです.

emphasize-due_0

Read more »

学生注目、GitHub Student Developer Packがいい感じ、GitHubのMicroプランも無料で使えます

はじめに

先日、GitHub Student Developer Packがローンチされました.これを使用すると,今まで利用できたGitHubの申請時から2年間有効な優待プラン,Microプラン(プライベートリポジトリ5個,通常$7/month)を始めとして,GitHub Student Developer Pack – GitHub Educationにリストアップされている提携サービスを無料で使用できるようになります.

GitHubプライベートリポジトリを持つことで,黒歴史を闇に葬り去ることができます.

Read more »

スポーツ時の度入り(RX)調光レンズサングラスのススメ

はじめに

この記事は、目が悪い人にはスポーツするときに(時と場合によっては)調光レンズサングラスがおすすめだよ、というお話です。
具体的な商品の紹介とかではないです。

私は近視なので(裸眼で両目とも0.1ぐらい)、日常生活やスポーツするとき不便を感じることがあります。度入りの調光レンズサングラス購入して数ヶ月たち、いろいろ試したので簡単にまとめてみました。

対象とするスポーツは、ランニング、自転車、マラソン、ウィンタースポーツです。その他の野球やテニスのように動体視力を使うスポーツや接触系の激しいスポーツは私自身滅多に経験しないので対象外です。

Read more »

ルービックキューブをアルゴリズムで解くということ

ルービックキューブを解くアルゴリズムについて書きます.この記事では具体的なアルゴリズムの話はありません.
(情報工学的アプローチでの見方です.ルービックキューブを解くアルゴリズムは「群論」とも深く関わりがありますが,私は情報工学系の人間なので群論は全くわかりません.)

※ この記事はルービックキューブを解くアルゴリズムの概念的なものを説明した記事です. 実際のルービックキューブを我々人間が解くやり方は以下のページをおすすめします.とてもわかりやすく書かれています.

Thumbnail of  ルービックキューブの解き方ルービックキューブの解き方
tribox
ルービックキューブには様々なの解き方があります。主に”CFOP”や”Roux Method”と呼ばれる解き方を中心に様々な解き方を紹介・解説します。各手順に関しては、最新で回しやすい手順になるように随時更新していきます。

はじめに

まず,いくら時間をかけて良いという環境のもとであればルービックキューブを単に解くということは実は非常に簡単なタスクです.
ただ,それをいかに効率良く解くか,というのが非常に重要なことで,多くの人々の興味の対象でもあります.
その手順がアルゴリズムです.
本記事ではルービックキューブを解くアルゴリズムの概念を説明した後,既存手法を 1)人間的アプローチ,2)コンピュータ的アプローチのそれぞれでごくごく簡単に分析し,自分がこれから試してみたいことをまとめます.

Read more »

WCAデータベースのMySQLへのインポートにはBigDumpを使うと高速で楽

ブログ初投稿の記事です.

はじめに

一部のスピードキューバの方々はWCAのDatabase exportを利用されていると思います. 近年の公式大会数の増大に伴って,データベースファイルが容易に扱いにくくなるレベルまでサイズが大きくなっています.(2014-11-14現在,sqlファイル約94.4MB)
エクスポートページではSQLファイルとTSVファイルが公開されていますが,これほど大きいサイズのデータを扱うとなると,TSVファイルを純粋なファイル関数やオレオレパーザで現実的な時間で操作することはほとんど不可能になってきています.
そこでSQLファイルを使用して,MySQL等のデータベースを使用するのが妥当でしょう.

公開されているSQLは差分をinsertするのではなく,テーブルをdropして1からデータを挿入するため,データ量が膨大になるにつれ,インポート時間が相当長くなるという問題があります.
さらに,php.iniでいろいろファイルサイズやタイムアウト値を制限されてると変更だったり面倒だし,レンタルサーバ等ではこれらの値を変更されることができずにインポートができないことも考えられます.
仮に変更できたとしても,phpMyAdmin等からインポートすると,1回でインポートしきれないため,途中から再開したりだとかとにかくいろいろ手間がかかりまくりです.

本記事は,BigDumpを使用すると,楽に,高速にインポートできるよ,というお話です.
データベースはMySQL前提です.

※サーバに直接ログインできる or ssh接続できる 等の環境であれば,mysqlコマンドからインポートできるので,本記事はVPS等ではなく共用のレンタルサーバでsshログインが許可されていない場合を想定しています.

Read more »