2014年10月12日日曜日

[SICP] 問題 1.02 : 前置記法

次の式を前置記法に翻訳せよ.
 5 + 4 + (2 - (3 - (6 + 4/5)))
-------------------------------
       3(6 - 2)(2 - 7)
Lispでは前置記法を採用しているため, 前置記法に慣れるための問題です. p.5の図のように数式の構造を把握できれば, 前置記法に書き表せます.
Racketのエディタは, カッコを閉じた時に対応する開きカッコを調べてくれます. また, タブキーを押すとインデント量を適切に設定してくれます. これらの機能をうまく使えば, 入力した式の構造を理解しやすくなります.
前置記法に翻訳した式は次のとおりです.
(/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5)))))
   (* 3 (- 6 2) (- 2 7)))
式を評価した結果は次のとおりです.
ようこそ DrRacket, バージョン 6.1 [3m].
言語: Pretty Big; memory limit: 2048 MB.
> (/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5)))))
     (* 3 (- 6 2) (- 2 7)))
-37/150
> 
結果が有理数の場合, 分数のまま返してくれるので驚きです.
手で計算した結果と合っていました(^o^)

2014年10月11日土曜日

[SICP] 問題 1.01 : 解釈系を使う

式の列がある. それぞれの式で解釈系が印字する結果は何か. 列は示した順に評価するものとする.
10

(+ 5 3 4)

(- 9 1)

(/ 6 2)

(+ (* 2 4) (- 4 6))

(define a 3)

(define b (+ a 1))

(+ a b (* a b))

(= a b)

(if (and (> b a) (< b (* a b)))
    b
    a)

(cond ((= a 4) 6)
      ((= b 4) (+ 6 7 a))
      (else 25))

(+ 2 (if (> b a) b a))

(* (cond ((> a b) a)
         ((< a b) b)
         (else -1))
   (+ a 1))
DrRacketに式を入力し, その応答を観察します. Racketを起動し, 画面の下側に式を入力した結果は次の通りです.
ようこそ DrRacket, バージョン 6.1 [3m].
言語: Pretty Big; memory limit: 2048 MB.
> 10
10
> (+ 5 3 4)
12
> (- 9 1)
8
> (/ 6 2)
3
> (+ (* 2 4) (- 4 6))
6
> (define a 3)
> (define b (+ a 1))
> (+ a b (* a b))
19
> (= a b)
#f
> (if (and (> b a) (< b (* a b)))
      b
      a)
4
> (cond ((= a 4) 6)
        ((= b 4) (+ 6 7 a))
        (else 25))
16
> (+ 2 (if (> b a) b a))
6
> (* (cond ((> a b) a)
           ((< a b) b)
           (else -1))
     (+ a 1))
16
> 
最後の2つの式で, ifやcondの結果をそのまま式の値として使用しています. Schemeでは, 式と文の区別がありません.

2014年10月5日日曜日

カラマーゾフの妹(高野 文緒 著、講談社文庫)


カラマーゾフの妹 (高野 文緒 著、講談社文庫)

ドストエフスキーの「カラマーゾフの兄弟」の続編として書かれています。もともと、「カラマーゾフの兄弟」は2部構成の第1部にあたり、第2部の伏線と思われる記述があります。結局、ドストエフスキーは第2部を書かずに死んだため、中途半端な状態のままになっています。

著者は、第2部に相当する「カラマーゾフの妹」を書くことで、第1部の伏線や矛盾点を解決しようと試みています。こういう見方があるのかと感心しましたが、第1部の詳細は忘れました\(^o^)/

この本を読む前に、「カラマーゾフの兄弟」を一通り読むことをオススメします。



何が言いたいかというと、
私はカラマーゾフの兄弟を読んだ\(^o^)/
と、いうことです。

2014年9月21日日曜日

奇跡の脳(ジル・ボルト テイラー著、新潮文庫)


著者は脳科学者なのですが、脳卒中になってしまい、自分の脳が壊れていく様子を内側から観察した記録です\(^o^)/ 

著者の経験は、TEDトークで観ることができ、YouTubeに字幕付きの動画が上がっています。https://www.youtube.com/watch?v=BsSWaYITW4g

著者は、脳卒中で左脳の機能が低下した結果、右脳だけで世界を認識する経験をします。興味深いことに、命の危機が迫っているにもかかわらず宇宙と一体になった恍惚感を感じています\(^o^)/

気になることは、安全な方法(脳卒中になったり、怪しげなクスリを使わない)で宇宙と一体になるにはどうすればよいか?、ということでしょうか。私の経験から使えそうな方法を紹介します。

1.走る
 1kmを5分を切る程度のペースで30分ほど走り続けると、どこまでも走っていけそうな全能感を感じます。オレは人間機関車だ\(^o^)/ 
このペースで走れるようになるまで、トレーニングが必要です(~_~;)

2.瞑想
 ほぼ毎日、20分程度の瞑想を3ヶ月ほど続けたところ、
  • 静寂が訪れ、
  • 周りが明るくなり、
  • 喜びが沸き上がってくる
経験をしました。毎回、この状態が訪れてくれると良いのですが、そう簡単にはいきません(~_~;)

瞑想のやり方は、この本がオススメです。


「奇跡の脳」に話を戻すと、右脳のことだけでなく、脳卒中になり回復する書いても詳しく書いています。私も40歳を超えているので、こういうことを気にしなくてはならなくなりました(~_~;)

2014年9月20日土曜日

100年予測(ジョージ・フリードマン著、ハヤカワ文庫NF)

 
100年予測 (ジョージ・フリードマン著、ハヤカワ・ノンフィクション文庫)

21世紀の国際情勢に関する予測が書いてあり、興味深い内容です。
  • 2020年代:中国は分裂し、ロシアは自滅\(^o^)/
  • 2030年代:日本、トルコ、ポーランドがユーラシアを喰い物にし勢力拡大\(^o^)/
  • 2050年代:日本とトルコが同盟を結び、アメリカに奇襲攻撃\(^o^)/ 奇襲には成功するが、最後に勝つのはアメリカ(T_T)
  • 2080年代:メキシコが台頭し、北米大陸の覇権をかけてアメリカと対立\(^o^)/
  • 以上より、21世紀はアメリカが支配します\(^o^)/
この予測は、デタラメのSFのように思えますが、読んでいると妙に説得力があります。

まず、序章で政治家が取れる選択肢は考えているほど多くないことが説明されています。
  1. 政治家になり、首相や大統領になれる人は十分に賢い。
  2. 賢いから、打ち出す政策の良い面も悪い面もよく分かっている。
  3. 良い面が多く、悪い面が少ない政策は限られている。
  4. 自国を取り囲む状況も強い影響を与える。
結局、誰が首相や大統領をしても、実行できる政策に大きな違いはないのです(~_~;)

この本は、2009年に出版されており、2010年代前半について次のように予測しています。
  • ロシアは、ヨーロッパとの緩衝地帯を設けるためにベラルーシを取り込む。
  • 中国は、問題の責任を他国に転嫁し、外交的手段や軍事力を背景に外国政府と対決することで政権への支持を集める。
ベラルーシとウクライナは隣にあるので、ほぼ、当たっている(^O^)

この予測で気になることは、2040年代から始まる日本とアメリカとの対立でしょう。簡単には勝てそうにないので、回避したほうが良さそうです。予測では、日本が資源を輸入に頼っているこため、アメリカとの対立が避けられないと書いています。

エネルギーを輸入に頼らない方法として有効なものは、もうすぐ発売されるFCVの根幹となる燃料電池と宇宙太陽光発電でしょうか?これらの技術は日本が先行しているようなので期待できます。

宇宙を支配するものが地球を支配できるので、JAXAには宇宙太陽光発電の研究を進めてもらいたい\(^o^)/

2014年8月24日日曜日

[Fieldrunners2] TURBO DRYERの攻略

TURBO DRYERの難易度HEROICを攻略する方法を紹介します。手順を誤るとクリアーできなくなるので、特に前半は詳しく書いていきます。

使用するタワーは、次の5つです。

  1. GATLING TOWER
  2. MACHINE GUN
  3. GLUE TOWER
  4. ICE TOWER
  5. SPARK TOWER
  6. FRAMETHROWER

 図のように配置して、待ち構えます。

 GATRING TOWERをLevel 2へアップグレードします。

 GATRING TOWERを図のように配置して、敵ユニットを誘導します。

 中央のGATLIG TOWERをLevel 3にアップグレードします。アップグレードしないと逃げられます。

 GATLING TOWERで通路の穴を塞ぎ、MACHINE GUNを設置します。

 MACHINE GUNをそれぞれLevel 2に敵ユニットを倒しつつアップグレードします。余ったお金でGUTLING TOWERを設置し、Level 2までアップグレードします。

 SPARK TOWERを設置します。

 MACHINE GUNを左下に追加し、図のようにLevel 3までアップグレードします。

 SPARK TOWERをLevel 2にアップグレードし、FLAMETHROWERを設置します。

 FRAMETHROWERをLevel 2にアップグレードし、ICE TOWERのLevel 2を設置することで、大型のヘリに備えます。

 SPARK TOWERをLevel 3にアップグレードし、FRAMETHROWERを設置します。

 下のFRAMETHROWERをLevel 3にアップグレードします。

 ヘリ対策のため、GATLING TOWERを売り、GLUE TOWERを設置します。

 FLAMETHROWERをLevel 2にアップグレードします。

 重戦車に対しては、爆弾を使います。

 SPARK TOWERを追加します。

 軽戦車と同時に現れる、スロー系のタワーが効かない敵ユニットを倒すために、GATLING TOWERをアップグレードし、MACHINE GUNを追加します。

 MACHINE GUNをさらに追加します。

411ユニットを倒せました。

2014年8月23日土曜日

ボーネルンド KID-O-KID

 この夏の盆休みは天気の悪い日が多かったので、神戸 元町のBALの地下2Fにある子供を遊ばせる施設へ娘を連れて行きました。娘は、ボールプールとエアトラックが大好きで、2時間近くも走り回っていました(^o^)
  エアトラックを走る娘の写真です。

ボールプールで溺れている娘の写真です。

 これら以外にも、ボーネルンドで販売しているおもちゃ、例えば、マグフォーマなどもたくさん置いてあります。マグフォーマは、子供よりお父さんが巨大なオブジェを作っていまいした\(^O^)/

 まだオムツの外れていない3歳の娘を遊ばせた経験から、気をつけたい事を書いておきます。

1.オムツ交換は済ませてから入場
 オムツを交換するための設備はありますが1カ所しかなく、いつでも使えるとは限りません。また、遊びに夢中になっている娘をオムツ交換のために連れ出す事は至難の技です(-_-;)
 入場前にオムツを替えておいた方が無難です。

2.ハンカチやティッシュを持って入る
 荷物をいれる無料のロッカーがあり、財布と携帯以外の荷物を入れて入ったのですが、娘が泣いて鼻水を垂れ流したときにティッシュを持ってこなかった自分のアホさ加減に気がつきました(T_T)
 ロッカーに取りに行けば良いのですが、泣きながら暴れる娘を抱えてロッカーに行くのは避けたいものです。

3.空調は良く効いているので寒さ対策が必要かも
 子供が走り回る場所でもあるため、空調はよく効いています。人によっては寒いと感じるかも知れませんので、寒さに対する準備は必要でしょう。