今週のお題「2017年にやりたいこと」
印税生活を送る
今週のお題「2017年にやりたいこと」
印税生活を送る
風邪をひきました.11月も風邪をひいていたらしい.
具体的には,咳,喉の痛み,鼻水,痰,微熱,そういった……. 病院で検査してもらったところインフルではなかったが,喉が腫れていたのでそういうことです.
ツイッターを見返すと,月1ぐらいで風邪をひいている様子が観測されて興味深い.
風邪 from:utgwkk - Twitter Search
体調管理には気をつけよう!
インスタントコーヒーをカップ2杯ぐらい一気に飲んで作業する,ということをやっていたけど,効き目が切れると異常な脱力感に襲われたり,体調がなんとなく悪化したりする.
カジュアルに体調が悪化するのは困るので,最近はインスタントコーヒーの代わりに水を飲むようにしている.体調は悪くならないんだけど,眠たいし,甘味とか苦味とかは特にない.
押すと水が24L届いて便利なボタンです.
はひーっ (@ Ash Fork in Kyoto, 京都府) https://t.co/eQc2sBLCQ8
— うたがわきき🔰💊 (@utgwkk) 2016年12月19日
宇宙とは,どこにあるのでしょうか?
人はなぜ,食べるのでしょうか?
そこに食べ物があり,そこに食べなければ生きられない自分がいるため?
ある時は冷徹に,ある時は暖かく,そういうふうにやるしかありません.
そうして,人は生きていくのですから.
ごちそうさまでした.
記事タイトルが長すぎる.
みなさんは,ボタンを押すとそのボタンと周囲4近傍のボタンの ON/OFF が反転して,全てのボタンを ON にすればクリアのパズルゲーム(5x5はライツアウトと言うらしい)をやったことがありますか? 私はああいったパズルが苦手で,なかなか解くことができません.
したがって,機械に頼ることになります.
場の状態は,下の表の対応するビット(下から数えたビットの位置,1-index)が立っているかどうかで表されています.
0 | 1 | 2 | |
---|---|---|---|
0 | 9 | 8 | 7 |
1 | 6 | 5 | 4 |
2 | 3 | 2 | 1 |
したがって,例えば 0b010001110
は,次のような場の状態を表しています.
0 | 1 | 2 | |
---|---|---|---|
0 | OFF | ON | OFF |
1 | OFF | OFF | ON |
2 | ON | ON | OFF |
ボタンを押すと ON/OFF が反転する,という操作は排他的論理和によって表されるので,これによって次に遷移するべき状態を網羅することができます. そして,場の状態を頂点,ボタンの押し方を辺とすると,これは初期状態から目的状態への最短経路問題を解くことに帰着されます.
start
と goal
を適宜変更して実行すると,最短手数とその解き方が表示されます.
さて,全ての問題(初期状態と目的状態の組)に対して解が存在するのか,という疑問が生じてきます.
まず,初期状態として 0b000000000
を考えることにします.
次に,目的状態として 0b100000000
と 0b010000000
と 0b000010000
の3つの状態を考えます.
それぞれ,「左上のみON」「真ん中上のみON」「真ん中のみON」を表しています.
この3つの組に対して,上記のプログラムに入力として与えて(goal
を書き換えて)実行したところ,結果は以下の通りになりました.
0b000000000
→ 0b100000000
5 0,0 2,0 2,1 0,2 1,2
0b000000000
→ 0b010000000
4 1,1 0,2 1,2 2,2
0b000000000
→ 0b000010000
5 1,2 2,1 1,1 1,0 0,1
どうやらこの3つの組に対しては解が存在します. そして,「全てのボタンがOFFの状態から始めて,9つのボタンのうちどれか1つだけをONにする」という場合は,先述した3つの操作をそれぞれ線対称/(1,1)に対して90度回転,などしてやれば網羅することができます.
これらの解は,どれも「最終的には,目的とするボタン以外のボタンのON/OFFは変化させずに,目的のボタンのみをONにする」という操作になっています.
さらに,あらゆる初期状態とあらゆる目的状態に対して,いま生成された9つの操作を組み合せて所望の状態にし,奇数回行った操作は1回分だけ残し,偶数回行った操作は除外してやれば,最短解を生成することができます.
こうして,全ての組合せに対して最短解が存在することが分かりました.
5x5 の場合は実装していないのですが,興味深い考察をしているサイトがありました.
場合によっては解が存在せず,パズルの解の存在条件は連立合同方程式を解くことによって導出することができる,とのことです.
ボタン(略)ゲームの体感ができるページをだいぶ前に作ってました.
初期状態を与えることができない仕様になっている…….
私は-3年目です.
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
コードをただ漠然と書いているとそのうち破綻する. したがって先人の知恵とか,有益な慣習とか,そういったものに従ってうまくやっていくしかない. それらのことが101個も掲載され,詳細に説明されている本です.
具体的なコードの書き方よりは,コードを書く際のベターな思考法を述べた本であるといえましょう. こういうことを知っておくと,将来,とくに多人数で協調するときに大いに役に立つかと思われます.
ところで私は,最初からこうできないと失格である,とは思っていなくて,泥臭いところから始めてどれだけ洗練されていくかが重要だと考えています. 手を動かすところまでが一セットです. そしてこれは自戒でもあります.
あらゆるプログラムが素直に標準入力を受け取ることを想定して書いた結果,kill するしかなくなった
— うたがわきき🔰💊 (@utgwkk) 2016年12月13日
これは アイドルマスター Advent Calendar 2016 12/12分の記事です。
@utgwkk です。知り合いにデレステを勧められたところ、瞬く間にハマってしまいました。したがって新人です。
みなさんは、カワイイですか? カワイイボクも、そうでないと思っているボクも、生きているといろいろなことがあります。 ここでは、カワイイボクになりきって生活をうまくやっていく方法を伝授していこうと思います。
苦しいのは、神様がボクの余りのカワイさに嫉妬していて、ボクに試練を与えているためです。
楽しいのは、ボクが余りにカワイイので世界が平和になっているからです。
カワイイボクの書くノートは当然カワイイので、ノートも分かりやすくなります。これをカワイさの継承と言います。
カワイイボクはカンペキなので、運動も人一倍できるんですよ! フフーン!
それに、運動は健康にとても良いですからね!
ボクほどではないけどカワイイ人も、きっといろいろなことを乗り越えてきたのでしょうね。話を聞いてみると、何か学びがあるかもしれませんよ!
カワイイコミュニティーの中ではボクが一番かもしれませんが、他の人の話を聞くともっとカワイくなれるかもしれません。
いかがでしょうか? カワイイボクの方は、もっとカワイくなっていきましょう。 そうでもないボクの方は、これを機に、自分に自信が持てるようになっていきましょう。
カワイイボクが清書したノートで勉強したい
— うたがわきき🔰💊 (@utgwkk) 2016年12月11日