【旅136日目 2012/10/12】スキンヘッドとかマジ勘弁

自転車日本一周、136日目。

起床

5時前、道の駅田野駅屋にて起床。

テント内で朝ごはんを食べてからテント撤収&自転車へ荷物を積む。
ビンディングシューズを履き、トイレの手洗い場でボトルに水を汲み出発準備完了。

お遍路さんたちが出発準備をし始める中、あいさつをして自分は先に出発です。


A.M 6:25 道の駅田野駅屋から出発!

9時までにとある場所に到着したかったため、ちょっと早めに出発。

その目的地まで、道の駅から約38km。
平均時速20kmで進んだとして、ほぼ2時間かかる。

平均時速20kmといってもサイコンの表示上ではなく、全ての行動を含んで計算した平均だ。
トイレ休憩、信号待ちしている時間も全て含まれる。

それでいて2時間かかり、8時25分に目的地に到着する。

大丈夫なのか?

間に合わないんじゃないかと思いつつ、スタート直後から20kmを下回るわけにはいかないので、22〜23km をキープして走る。

幸い、向かい風が吹いているわけでもなく、勾配も基本平坦で、条件的に目立った問題はない。
なんとかこのペースを維持できれば、9時までに目的地に到着できる気がしてきた。

しばらく行くと、お遍路さんが「ホモが出る」って言っていた道の駅大山を通過。
立ち寄っている余裕がないのでそのまま素通り。

次の道の駅やすを目指す。

平均20km以上は維持できている。このままいけば大丈夫かも。
そんなことを思いながら、自転車をこいでいると事件が起こった。

自分以外、あまり自転車も走っていない車道。
快適に自転車をこいでいると同じ方向に進む自転車が視界前方に入ってきた。

自分の方がスピードが早く、視界に入った自転車は徐々に大きくなっていく。
近くになってほどほどに大きくなった自転車。乗っているのはスキンヘッドだった。

スキンヘッドの方は平均 18〜20km/h くらいで走行している。
自分は平均 22〜23km/h。徐々に追いつき、スキンヘッドの右に並ぶ。

そして、そのまま抜き去り目的地へ向かうはずだったが、、、

抜き去れない。

このスキンヘッド、スピードをあげて抜き去ろうとすると横で同じくスピード上げて並走するんです、、、
マジか。。。

とりあえず、一旦、スピードを落としてスキンヘッドの後ろに周りしばし走行。
普段なら安全策をとる。ゆっくり走ってスキンヘッドに先に進んでもらえば問題なし。
しかし、今日は急いでいる。どうしましょ。。。

そんなことを考えながら走ってると、スキンヘッドがチラチラ後ろを振り返ってこっちを見てくる。
ホント勘弁してほしぃ。。。

前を走りたいならもう少し早く走ってくれるとペース的に問題ないんですが、
さすがにこのペースだと9時に間に合いそうもないので、一呼吸おいてから再度抜きにかかる。

さっきと同じく、また、横に並ぶとスピードを上げるスキンヘッド。
こっちも負けじとペダルの回転数を上げ抜かしにかかる。

が、またしてもスキンヘッドがスピードを上げる。

もうね。なんというか。。。

こっちも更に回転数を上げ、ジリジリと差がつき始める。
よしよし、これで大丈夫だ。

と思ったらスキンヘッドが

jふぉうふっfjjがおうがじょうgjzふぎゃーーーーーーー

って奇声あげた(何言ってるかわからなかった。)

あかん、抜かれたことで完全にキレた模様(ホントはこっちがキレたいんですが)。
そしてまだペース落とさず追ってくる。

追いつかれたらやばいパターン。

心臓バクバク。

焦りつつも、できることはペダルをこいで突き放すだけ。
全神経を下半身に集中させ、一心不乱にペダルを回す。

気がつけば、緩やかな上りにもかかわらず 30km/h をオーバー。
なんとか振り切り、スキンヘッドはフレームアウト。

視界から消えた後も、ペース落としたら追いつかれるんじゃないかと思い平均25km/hをキープしつつ走り続けた。

めちゃくちゃ疲れた。。。
クマや犬ならまだしも、人間に追いかけられるのはホリエモンもびっくりの想定外だった。


A.M 8:10 道の駅やすに到着!

道の駅やす

不幸中の幸いか、スキンヘッドに追われた結果、時間的に余裕ができた。


道の駅やす その2

南国風。ここの道の駅はキャンプ禁止(お遍路さん情報)なので旅人注意。
道の駅がまだ空いてないし、先を急いでいるため写真だけとってすぐに出発。

スキンヘッドに追いつかれたら洒落にならん(もう追ってきてないと思うけど)ので。


マックでブログ更新

無事。38km の走行を終え目的地のマックに到着。

9時まで無料コーヒーキャンペーン。

四国最東端(蒲生田岬)に行く日、朝に立ち寄ったマック。
そこの店員さんが今週もまだキャンペーンやってると言っていた。

けど、 やってなかったよ。。。orz

まぁ、別に100円なんで普通に購入しましたが。
普通にいつもどおりのペースで走ってくればよかった。

そうすればスキンヘッド事件に出くわすこともなかった。。。


龍河洞へ向かう道

朝からスキンヘッド事件は濃すぎた。

普通に後ろから抜かしただけなのに追いかけられた。
理由はわからない。

まぁ、あまり考えてもしょうがないので先に進みます。 まずは、日本三大鍾乳洞の1つ龍河洞へ。

岩手で龍泉洞に行っているので日本三大鍾乳洞2つ目。

【旅83日目 2012/08/11】透き通るドラゴンブルー


龍河洞 看板

キャラクターがなんかきもぃ。


龍河洞 通り道

自転車を止め、龍河洞の入り口へ向かう。


階段とエスカレーター

エスカレーターで。

エスカレーター


P.M 1:20 龍河洞入り口に到着!

龍河洞 入り口

1000円払って中へ。


龍河洞

龍河洞の中は、ところどころ道が狭くなっている。


龍河洞

自分自身はなんとか通れますが、背中にしょっているバックパックがたびたびひっかかる。
思っていた以上に狭い。


龍河洞

これ、太っている方体格のよい方は通れないんじゃなかろうか?


龍河洞

龍河洞

龍河洞

龍河洞

龍河洞内の温度

龍泉洞(10.7度)よりもだいぶ温度が高い。
鍾乳洞の温度自体は年間を通して一定って聞いたことがあるけど、温度自体は何で決まるんでしょうか?


龍河洞 玉簾の滝

龍河洞 通天門、しんどい坂

龍河洞 通天門、しんどい坂

龍河洞

龍河洞から脱出

脱出。ちょうど1時間くらい。

個人的には龍泉洞の方が好きだが、こちらもまた違った感じで良かった。

岩手にある龍泉洞は地底湖が綺麗で神秘的。大人が好きそう。
この龍河洞は洞窟探検みたいな感じ。子供が好きそう。

って具合かな。


龍河洞 土産屋エリア

まだ2時なのにおみやげ屋が閉まっている。


ごめんエリア

龍河洞から坂道を下ってきて、ごめんエリアに突入。


風が強い

風が強い。そして向かい風。
本日の目的地、高知まで10kmちょいだから問題ないけど。


ごめん駅

ごめん駅。


道路脇に線路

道路脇に線路。


道路脇に線路 電車通過

路面電車が走る。 歩道にはみ出してないか?


P.M 4:50 高知県庁に到着!

高知県庁に到着

24/47都道府県目。

やっと折り返し地点。


ビジネスホテルで晩ご飯

今日はビジネスホテルに宿泊。晩御飯はスーパーの惣菜。

疲れていた?高知市内だから?

サッカーが見たかったから。
それに、るるぶを活用して1000円で泊まれたし。

日本代表 vs フランス代表


香川がゴールし

1 対 0 でフランスに歴史的勝利。

日本代表、フランス代表に初勝利 | SAMURAI BLUE サッカー日本代表 | 日本サッカー協会

サッカー観戦後、就寝。

本日の出費

合計: 3,797円

場所 費用分類 金額 備考
マクドナルド食費200プレミアムローストコーヒー(S)、マックグリドルソーセージ
佐野屋食費248ホワイトクリームソーダ 350ml、アーモンドスペシャル、紫芋ケンピ
ナンコクスーパー食費411たっぷりビスケットホイップ、メロンクリーム、味わい食パン、ワンダ プレミアムダブル、ワンダ ワールドクラス
龍河洞観光費1000
高知ビジネスホテル別館宿泊費1000るるぶで割引1000円
毎日屋食費310惣菜(からあげ、小イワシ天ぷら)
ビコット食費628プリングルスサワークリーム、氷結シャルドネスパーク 350ml、トクトクいなり、氷結青ウメ 500ml

走行記録(あしあとマップ)

天気:晴れ

出発地点:高知県安芸郡田野町
到着地点:高知県高知市与力町

走行距離(km) 平均速度(km/h) 走行時間 最高速度(km/h) 累計距離(km)
70.06 17.4 4:00:12 47.1 8705.76


大きな地図で見る

にほんブログ村 旅行ブログ 日本一周(自転車)へ
にほんブログ村

SICP 孤読書会 - 2.1 データ抽象入門 (2.1.1 〜 2.1.4)

データ抽象(data abstraction)は、合成データオブジェクトの使い方を、それが基本的データによりどう作られたかの細部から隔離する技法。

データ抽象の基本的な考えは、プログラムを合成データオブジェクトを使うように構成し、「抽象データ」を操作するようにすること。

  • プログラムはデータを、当面の仕事を実行するのに必要でないデータについては何も仮定しないよう使うべき。
  • データ表現は、データを使うプログラムから独立に定義すべき。


2.1.1 例: 有理数の算術演算

有理数を使った算術演算を元にデータ抽象について考える。

有理数の足し算、引き算、掛け算、割り算と2つの有理数が等しいかをテストをしたい。

分子と分母から有理数を作る方法、有理数から分子や分母を取り出す(選択する)方法があると仮定して始める。

  • (make-rat n d): 分子が整数 n, 分母が整数 d の有理数を返す。
  • (numer x): 有理数 x の分子を返す。
  • (denor x): 有理数 x の分母を返す。

make-rat, numer, denor の実装により有理数がどう表現されているかはまだ話していない。
それでもこの3つの手続きがあれば、

有理数の足し算、引き算、掛け算、割り算と2つの有理数が等しいかをテストをしたい。

を手続きとして表すことができる。

(define (add-rat x y)
  (make-rat (+ (* (number x) (denom y))
               (* (number y) (denom x)))
            (* (denom x) (denom y))))

(define (sub-rat x y)
  (make-rat (- (* (numer x) (denom y))
               (* (numer y) (denom x)))
            (* (denom x) (denom y))))

(define (mul-rat x y)
  (make-rat (* (numer x) (numer y))
            (* (denom x) (denom y))))

(define (div-rat x y)
  (make-rat (* (numer x) (denom y))
            (* (denom x) (numer y))))

(define (equal-rat? x y)
  (= (* (numer x) (denom y))
     (* (numer y) (denom x))))

データ抽象の具体的な実装をするために、基本的手続き cons で構成される対(pair)という合成構造を利用する。

(define x (cons 1 2))
(car x)   ; 1
(cdr x)   ; 2

car, cdr の基本的手続きを使って対からデータを取り出すことが出来る。
対で構成するデータオブジェクトをリスト構造(list structured)データという。

有理数の表現

対(cons)を使って有理数を表現することができる。

構成子(constructors)

(define (make-rat n d) (cons n d))

選択子(selectors)

(define (numer x) (car x))
(define (denom x) (cdr x))

これにより、インタフェースとして先に実装していた add-rat, sub-rat, mul-rat, div-rat, equal-rat? を利用し、有理数演算を実行できるようになる。


問題 2.1

SICP/ch2/2-1.scm at master · snufkon/SICP · GitHub

に解答。


2.1.2 抽象の壁

2.1.1 の有理数の例には、複数のレイヤーが存在する。

=================== 有理数を扱うプログラム ========================

====================== add-rat sub-rat ...  ===================

===================== make-rat numer denom ====================

======================= cons car cdr ==========================

水平の線がシステムの異なる「レベル」を隔離する抽象の壁(abstraction barrier)
各レベルの手続きは、抽象の壁を定義し、異なるレベルを接続するインターフェースとなる。

抽象の壁により、

  • それぞれのレベルでは、データ抽象を使う(上位)のプログラムを、データ抽象を実装する(下位)のプログラムから分けている。
  • プログラムの維持、修正が容易になる。


問題 2.2, 2.3

SICP/ch2/2-2.scm at master · snufkon/SICP · GitHub
SICP/ch2/2-3.scm at master · snufkon/SICP · GitHub

に解答を追加。


2.1.3 データとは何か

データは「選択子構成子と、これらの手続きを有効な表現とするために満たすべき条件とで定義される」
(厳密に定義するのは難しいけど。)

有理数の場合、

選択子: numer, denom
構成子: make-rat
条件: 任意の整数 n と任意の零でない整数 d について、x が (make-rat n d) なら

(numer x) / (denom x) = n / d

を満たす。

対の場合、

選択子: car, cdr 構成子: cons 条件: 任意のオブジェクト x と y について z が (cons x y) なら (car z) は x であり、(cdr z) は y である。


問題 2.4 〜 2.6

SICP/ch2/2-4.scm at master · snufkon/SICP · GitHub
SICP/ch2/2-5.scm at master · snufkon/SICP · GitHub
SICP/ch2/2-6.scm at master · snufkon/SICP · GitHub

に解答を追加。

2.6 が難しかった。


2.1.4 拡張問題: 区間算術演算

スルーしました。


SICP 孤読書会のメインページはこちら

計算機プログラムの構造と解釈

計算機プログラムの構造と解釈