A「Dがやられたようだな…」を並べ替える by Prolog
A「Dがやられたようだな…」B「ククク…奴は我ら四天王の中でも最弱…」C「私はBよりも弱い…」A「そして私は最強ではない…」B「四天王の中に私よりも弱いものが最低でも二人いる…」C「私はAよりも強い…」 ※以上の条件から四天王を強い順に並べよ(5点)
(http://twitter.com/WeAreFloating/status/22896320134)
Prologで解決してみましょう。
四天王の言い分
- 全員で四人
- Dは最弱
- CはBより弱い
- Aは最強ではない
- Bはもっとも強いかその次に強い
- CはAより強い
この人たち全員で四人です。
shiten-noh(X) :- permutation([a,b,c,d],X).
?- shiten-noh(X).
X = [a, b, c, d] ;
X = [b, a, c, d] ;
X = [b, c, a, d] ;
X = [b, c, d, a] ;
X = [a, c, b, d] ;
X = [c, a, b, d] ;
X = [c, b, a, d] ;
X = [c, b, d, a] ;
X = [a, c, d, b] ;
X = [c, a, d, b] ;
X = [c, d, a, b] ;
X = [c, d, b, a] ;
X = [a, b, d, c] ;
X = [b, a, d, c] ;
X = [b, d, a, c] ;
X = [b, d, c, a] ;
X = [a, d, b, c] ;
X = [d, a, b, c] ;
X = [d, b, a, c] ;
X = [d, b, c, a] ;
X = [a, d, c, b] ;
X = [d, a, c, b] ;
X = [d, c, a, b] ;
X = [d, c, b, a] ;
false.
Dは最弱なので最下位です。
shiten-noh(X) :- permutation([a, b, c, d], X), nth1(4, X, d).
?- shiten-noh(X).
X = [a, b, c, d] ;
X = [b, a, c, d] ;
X = [b, c, a, d] ;
X = [a, c, b, d] ;
X = [c, a, b, d] ;
X = [c, b, a, d] ;
false.
CはBより弱いです。つまりBが先に来る=Bのインデックスが小さいですね。
b_is_Stronger_than_C(X) :- nth1(Index_of_B, X, b), nth1(Index_of_C, X, c), Index_of_B < Index_of_C. shiten-noh(X) :- permutation([a, b, c, d], X), nth1(4, X, d), b_is_Stronger_than_C(X). ?- shiten-noh(X). X = [a, b, c, d] ; X = [b, a, c, d] ; X = [b, c, a, d] ; false.
Aは最強ではないということは、Aのインデックスが1であってはいけないということです。
b_is_Stronger_than_C(X) :- nth1(Index_of_B, X, b), nth1(Index_of_C, X, c), Index_of_B < Index_of_C. shiten-noh(X) :- permutation([a, b, c, d], X), nth1(4, X, d), b_is_Stronger_than_C(X), not(nth1(1, X, a)). ?- shiten-noh(X). X = [b, a, c, d] ; X = [b, c, a, d] ; false.
Bはもっとも強いかその次に強いのですが、どれももっとも強いので省略します。
最後にCはAより強いので
b_is_Stronger_than_C(X) :- nth1(Index_of_B, X, b), nth1(Index_of_C, X, c), Index_of_B < Index_of_C. c_is_Stronger_than_A(X) :- nth1(Index_of_C, X, c), nth1(Index_of_A, X, a), Index_of_C < Index_of_A. shiten-noh(X) :- permutation([a, b, c, d], X), nth1(4, X, d), b_is_Stronger_than_C(X), not(nth1(1, X, a)), c_is_Stronger_than_A. ?- shiten-noh(X). X = [b, c, a, d] ; false
結果として、B>C>A>Dの順で強いことが分かりました。めでたしめでたし。
マルコフ連鎖で人工無能を作ろう?
「人工無能」をご存知かな?
人間っぽいことを喋るけど、仕組みはすべて機械仕掛け。
たとえばしゅうまいとか。
そのような人工無能に不可欠な技術が、マルコフ連鎖。
俺にもよく理屈は分からないが、自己流に飲み込んでみたところ、
- 現在(t)における状態は過去(t-1)の状態にのみ依存する。
- 帰納的に言えば(t-1の状態がt-2にも依存していたとしたら)過去の数段階にも遡る可能性がある。
- ケータイの予測変換などに利用されている。
今回マルコフ連鎖を実験するべく、Schemeでプログラムを書いてみる。
Munouというプログラム群を書いた。
未完成だが、マルコフ連鎖のコアの部分は完成している。
Mecabで形態素分析を行ったのちに、分かち書き出力を行い、Schemeでハッシュテーブルを作成する。
関数型言語の真髄とも言える繰り返し構造。オラワクワクすっぞ!!
※githubでフォローしてくれる人大歓迎です。
睡眠時無呼吸症候群?
テレビでそういう病気を取り上げてた。
太った人、顎の小さな人がなりやすいとのこと。
自分は結構顎が小さい。でもって、昼間は眠い。
しょっちゅう居眠りしてしまう。
親はイビキをよく掻いている。
もしかしたら自分もそうかもしれない。
だとしたら困るのだが、学生の身分では金もない。困ったものだ。
せいぜい顎を出して寝るしかない。
![]()
メガネ買いました。
ジッポーのカイロぶっ生き返った
なんとしつこく炙っていたらみるみる暖まっていくではありませぬか!!
暖かいです!!これで今年の冬も完璧だ。
ありがとうジッポーのカイロ!
さておき、なんとジッポーも届きました。
物欲の化身にならないやうにしませう。
自分は貯め根性がないらしく、
直ぐに何かに使ってしまうんだぜ。
困り者だ。
![]()
ジッポーのカイロぶっ壊れた
Amazonでジッポーのハクキンカイロ買いました。
黒のアメリカ直輸入のやつ。
昨日届きました。
ぶっ壊れた。
点火しませんでした。
すると突然、火口が燃えました。ぼぅ。
点火しなくなりました。
安いのを買ったのが間違いでした。
まともなやつはまともな値段なのです。
安物買いの銭失いでした。
最終的になぜかジッポーだけこの後僕のもとに配達されます。
何をしろというのですか。
ジッポーが僕をあざ笑ってるようにおもえてなりません。
喜びと怒りを同時に浴びた一日でした。
とにかく火口を取り替えなくてはなりません。
高いです。なんかもう怒ってます。
憤怒憤激大噴火です。がおー
![]()
夕陽のある風景
僕は夕陽が好きだ。
照らされてもよし、眺めても良し。
すべてを柿色に染め上げるのが、
なんだか大きな抱擁感となって感じる。
さておき、最近は日暮れが早くなり、
学校を出る頃にはあたり一面が真っ暗。
何も考えずに歩く。考えると寒気がしてくる。
大抵僕はこういう時、夏の方が百倍ましだったとひとりごちるのだし、
それにつけても夏には夏で、冬の方が百倍ましだったと呻くだろう。
まあ僕は無責任な事をよく言うものだ。
別に誰にも押し付けていないのだから、いい。
秋の情景を溶かし込んだような深い色で樹々は色付き、
紅葉が歩道に沿って舞う。
ついこの間まで青くしていたのが嘘みたいだ。
そう感じる間も無く、去年の葉風吹は去った。
あっというまに。
それがいいのかもしれない。
紅葉は僕の恋人のようなものだ。
いつ見ても、また新たな美しさを見つけられるから。
![]()
Googleを辞書にするmd5クラックツール「BozoCrack」
I heard this on Twitter.
BozoCrack is available on GitHub: BozoCrack.
BozoCrackはmd5ハッシュを逆算し、オリジナルテキストを読み取るruby scriptだ。
In short:
H = md5(DATA); BozoCrack(H) = DATA.
要するにこういうことだ。
While almost all traditional md5-brakers use “Rainbow Dictionaries”,
BozoCrack does use Google as dictionary.
Although traditional rainbow tables have been incomplete, slang-lacked,
Google probably has every word which is flying on the Internet.
So Your machine won’t demand heavy load.
I tested with these hash data:
fc5fbf966616910d86c802adca6f5cc3:miko 38d57a78278bc054c652dc0546ed5b9a:myon 458ff389547c5068dc72cf9b79ebcebd:marisa
After all, those hashes were all broken, just in a moment.
Hashes BozoCrack can’t brake must be the strings which is random.
[Heard from: here]
悪魔になりたい
人間として生きている以上は、
後悔の感情から逃げ出せない。
僕の場合には、それがいつも裏目々々に出てくる。
それも、透明な姿で。
わからないけど哀しい。
わからないけど悔しい。
わからないのに、
わからないのに。
ほら、無論理の後悔があります。
行き交う人も、漂う雲も、駅も山も烏も星までもが素知らぬ振りして。
でも僕にはわかります。
それらが後悔を選ばせるのです。
言葉にならない強烈な古今未曾有の何かで、そうさせるんです。
あぁ。 こういうムッと湧き出てくる閉塞感、頽廃の感。
動くモノクロームみたい。
≪沈黙≫
悪魔になりたい。
ありとあらゆる人倫を踏み潰して、
蔑みも命乞いも恐怖も、無慈悲に踏みにじって。
それでいて、己が心には、一点の曇りも無い。
ただ己に従い、暴虐の限りを尽くす。
これって、
これって才能だと思うんですよね。
最近やっと受験を意識し始めました。
カレンダー見てびっくりした。
センターまで二ヶ月無いのだ。
悪運に恵まれた環境で育った僕でも今回ばかりは気を抜いて勝てるような相手じゃない。
てか、気づくのが遅すぎである。
志望校に届く点数まで結構な隔たりがあるんだよね。どうすんのこれ。
一応現在の基本方針は、「苦手☆科目☆撃沈」プランを用意した。あまり機能していない。
兎に角、数学のぶざまな姿を見せ続ける訳にはいかない。
なんとかしなくては。
まあ今頃勉強の勘が付いてきて、なんか嬉しいような嬉しくないような。ふわふわ。
氷が溶けるみたく、わからなかったところがゆっくり自分のモノになっていくような感覚。
久しぶりに勉強してて嬉しかったよ。
自分でする勉強は格別だね。
でも、通学に結構な時間がかかるから、時間がなかなか取れなくて残念。
近場の人っていいなあ。絶対人生得してるよね。
僕は朝日に照らされながら自転車を漕ぐのも悪くないと思うけど。
学校で風邪が流行ってる。
すぐ風邪引いちゃうから僕は気をつけなきゃな。
自堕落な生活のバチが当たるのかもしれません。
まあ本当に寒いのは苦手だ。
悪と貧困の次くらいに嫌い。無差別テロみたいなもんだよ、あれ。
話がそれましたね
今ならなんでもできる気がする。
たぶん一過性。
ちぐはぐに勉強する滑稽な姿。愉快。
でも、それで行きたい大学に行けるのなら上等だよかかって来い!
がんばるぞ!では!
![]()

