コーシー分布とarctan微分

目隠しをしたアーチェリー選手が、長い壁に向かってランダムにたくさんの矢を放ったら、矢の当たった点はどのような分布に従うか。
答は「コーシー分布」(Cauchy distribution) になります。
コーシー分布は、よく知られている正規分布とは、似たようなベル型カーブであってもかなり性質が異なります。
特に際だった性質は、“平均も分散も無い”ということ。
たとえ1本であっても、うんと遠くに矢が当たったなら、それに引っ張られて平均が安定しないということです。
* そんなの常識、あたりまえでない大数の法則 >> http://miku.motion.ne.jp/stories/08_LargeNum.html

この図から、コーシー分布がどんな数式で表されるか、考えてみましょう。
矢の角度θを動かしたとき、矢のあたる場所は tan(θ) となります(定数は省略)。
矢の当たった数、つまり当たった点の密度は、tan(θ) のグラフの曲線の変化が大きいところほど濃くなります。
tan(θ) のグラフの曲線を横から見たものは tanの逆関数 arctan(θ) ですから、
当たった点の密度は arctan(θ) の変化、すなわち arctan(θ) の微分ということになります。
arctan微分はどうなるか。
WolframAlpha (https://www.wolframalpha.com/) という計算サイトに行って、
arctan(x)'」と入力すると、以下の答が得られます。

  (d/dx) arctan(x) = 1 / (x^2 + 1)  ・・・これがコーシー分布の実質的な骨格です。

この arctan微分の意味を、アーチェリーから問い直してみましょう。
まず、矢の代わりにサーチライトで長い壁を照らすことを考えます。

壁の正面を照らしたとき、サーチライトのスポットの大きさが1だったとましょう。
正面から x だけ離れた位置をサーチライトで照らしたなら、スポットの大きさはピタゴラスの定理から √(x^2+1)だけ大きくなります。
今考えたサーチライトでは、距離が x だけ離れた様子を想定しましたが、
アーチェリーの場合は距離ではなく、角度が変動の元になっていました。
この距離と角度の関係を表したのが次の図です。

ある一定の角度が、正面の長さの1に対応していたとき、
x だけ離れた場所で対応する長さは、やはりピタゴラスの定理から √(x^2+1)となります。

コーシー分布=「角度の変化に対する、矢が当たった点の密度の変化」は、上記、
 1.サーチライトのスポットの大きさ -- 密度そのものの変化
 2.長さと角度の対応関係
の2つを掛け合わせた値に反比例するので、結局
  コーシー分布 = 1 / { √(x^2+1) * √(x^2+1) } = 1 / (x^2+1)
となります。
なぜ反比例なのかというと、スポットが長くなればなるほど、密度は薄くなるから。

「目隠しされたアーチェリー選手」のたとえは、「禁断の市場(マンデルブロ著)」という本から引用したものです。
マンデルブロは、市場の変動は正規分布のように安定したものではなく、
むしろコーシー分布に近い“平均も分散も無い”世界なのだと主張しています。

禁断の市場 フラクタルでみるリスクとリターン

禁断の市場 フラクタルでみるリスクとリターン


ところで、正規分布とはどのようなものであったかと言うと、
 「平面の的を目がけてボールを当てたとき、中心からのずれの大きさの分布」
ということでした。
* 正規分布の導出 >> [id:rikunora:20170310]
ということは、ボールだと正規分布で、矢だとコーシー分布なのか?
両者の違いは、ボールは距離(長さ)で測っているが、矢は角度で測っている、という点にあります。
正規分布の“長さ”で行っていた議論を、そっくりそのまま“角度”に置き換えようとしても、うまく行きません。
的の中心から、横方向に長さ x、縦方向に長さ y ずれた点にボールが当たる確率は x^2+y^2 と表せるのですが、
横方向に角度 θ、縦方向に角度 φ ずれた点に矢が当たる確率は、θとφの何らかの和にはなりません。
2つの分布の違いは結局のところ、測り方の違いに求められると思うのです。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
久々にブログ更新しました。
ここ最近雑事が多く、ブログを書くゆとりがありません。
頂いたコメントなど、ろくに返事もできず、すいません。

4つの数字で10を作る

4つの数字と+−×÷を使って10を作るパズルを解くプログラム。
切符の数字や、自動車のナンバープレートの数字などで、きっとやったことがあると思う。

プログラムの考え方は単純で、コンピュータの力にあかせて全ての組み合わせを試してみる、というもの。

・2個の数字から+−×÷で作ることができる全部の数字を列挙する。
・それを使って、3個の数字から作ることができる全部の2個の数字を列挙する。
・それらを使って、4個の数字から作り出すことができる3個の数字を列挙する。
・4個の数字は 3:1 に分ける場合と、2:2 に分ける場合があるので、両方とも試す。
・4個の数字は 0000 〜 9999 だから、たかだか1万通り全部試してみればいい。

ソースコードを文末に貼り付けておきました。phpという言語で書いてあります。

さて、なぜ唐突に10を作る問題を取り上げたかというと、ここ最近囲碁とブログにはまっているrikunora妻が、
ある日、難しいパズルが解けたと言って、この問題を持ちかけてきたからです。
* 10を作る まだ言ってる >> https://ameblo.jp/rikunora/entry-12321427106.html
* そんなのググれば… >> https://ameblo.jp/rikunora/entry-12321424248.html
* 3478 >> https://ameblo.jp/rikunora/entry-12321077566.html

『( 3, 4, 7, 8 ) を使って 10 を作れ。』
この答、コンピュータの力を借りずに自力で解くのは、かなり難しい。
自分の頭で解くことは早々にあきらめ、プログラムを走らせると、以下の出力が得られます。

( 3, 4, 7, 8 )
3 4 7 8
1.75 3 8
1.25 8
10
OK

この数字の列を上から読み解いて、
 ( 3 - 7 / 4 ) * 8 = 10
という解答が得られるわけです。
あっさり解けたように見えますが、コンピュータの力を借りず自分の頭で解くのはかなり大変だったはずで、
rikunora妻には一定の評価を与えないわけにはいきません。

この 10を作るプログラム、元をたどれば今を去る数十年前、まだ rikunora がプログラムというものを覚え立ての頃、
8-bitマイコン上の N-BASICで作った記憶があります。
当時、上のやり方を友人から教わり、かなり苦労して作ったあげく、
プログラムを1晩以上ぶっ続けで回し続けてようやく結果が得られたものでした。
今は同じ事がちょっとした合間にできて、答も一瞬にして求まるという、長足の進歩ですねぇ。(おっさんの昔話)


<?php
/**
* 4個の数字から+−×÷を用いて10を作る問題
*/
class	Make10 {

	protected	$Input = array( 0, 0, 0, 0 );	// 入力する4個の数字
	protected	$FinalAns = 10;		// 最後に期待する答、デフォルト=10
	protected	$IsSolved = false;	// 解けたかどうかフラグ、1パターンで探索を打ち切るときに使う
	protected	$TraceStack = array();	// 途中経過を表示するためのスタック
	
	////////////////////////////////////////////////////////////////////
	
	/**
	* 4つの数字を配列にして入力する
	*/
	public function setInput( array $input0 ){
		$this->Input = $input0;
	}
	
	/**
	* 期待する答をセットする、デフォルト値=10
	*/
	public function setFinalAns( $ans ){
		$this->FinalAns = $ans;
	}
	
	/**
	* 処理実行
	*/
	public function run(){
		$this->IsSolved = false;
		$this->TraceStack = array();
		
		$this->resolve( $this->Input );
		
		return $this->IsSolved;
	}
	
	////////////////////////////////////////////////////////////////////
	
	/**
	* 計算処理の中心部
	* 扱っている数字の個数(0〜4個)によって再帰的に処理を行う
	*/
	protected function	resolve( array $numbers ){
		
	//	if( $this->IsSolved ){	// 1回解けたら打ち切る
	//		return;
	//	}	// このさい全パターンやってみよう
		
		// 結果表示のため、今、試している数字の組を積んでゆく
		array_push( $this->TraceStack, $numbers );
		
		switch( count($numbers) ){	// 数字の個数で場合分け
			case 1:
				$result = $this->oneNumber( $numbers );
				if( $result ){
					$this->printStack();	// 途中経過を出力
					$this->IsSolved = true;	// 解けた!
				}
				break;
			
			case 2:	// 数字が2個
				$result = $this->twoNumbers( $numbers );
				foreach( $result as $ans ){
					$this->resolve( $ans );	// 再帰呼び出し
				}
				break;
			
			case 3:	// 数字が3個
				$result = $this->threeNumbers( $numbers );
				foreach( $result as $ans ){
					$this->resolve( $ans );	// 再帰呼び出し
				}
				break;
				
			case 4:	// 数字が4個
				$result = $this->fourNumbers( $numbers );
				foreach( $result as $ans ){
					$this->resolve( $ans );	// 再帰呼び出し
				}
				break;
			
			default:
				print "ERROR: 意図しない数字の個数、". count($numbers) ."個.\n";
				exit();
		}
		
		array_pop( $this->TraceStack );
	}
	
	/**
	* スタックの表示
	*/
	protected function printStack(){
		foreach( $this->TraceStack as $numbers ){
			print "\t";
			foreach( $numbers as $num ){
				print "$num ";
			}
			print "\n";
		}
	}
	
	const EPS = 0.00000001;	// 判定誤差
	
	/**
	* 1個の数字の処理
	* 解けたかどうかの判定
	*/
	protected function oneNumber( array $numbers ){
		$result = false;
		
		$a = $numbers[0];
		
		// 探していた答と一致するか判定
	//	if( $a == $this->FinalAns ){	// 誤差を考慮に入れる
		if( ($a - $this->FinalAns) < self::EPS
		 && ($a - $this->FinalAns) > - self::EPS ){
			$result = true;
		}
		
		return $result;
	}
	
	/**
	* 2個の数字の処理
	* 2個の数字が作り出すことのできる全ての1個の数字を返す
	*/
	protected function twoNumbers( array $numbers ){
		$result = array();
		
		$a = $numbers[0];
		$b = $numbers[1];
		
		$ans = $a + $b;	 $result[0] = array( $ans );
		$ans = $a - $b;	 $result[1] = array( $ans );
		$ans = $b - $a;	 $result[2] = array( $ans );	// 引くには逆順がある
		$ans = $a * $b;	 $result[3] = array( $ans );
		if( $b != 0 ){	// 0割禁止
			$ans = $a / $b;	 $result[4] = array( $ans );
		}
		if( $a != 0 ){	// 0割禁止
			$ans = $b / $a;	 $result[5] = array( $ans );	// 割るには逆順がある
		}
		return $result;
	}

	/**
	* 3個の数字の処理
	* 3個の数字が作り出すことのできる全ての2個の数字の組を返す
	*/
	protected function threeNumbers( array $numbers ){
		$result = array();
		
		$a = $numbers[0];
		$b = $numbers[1];
		$c = $numbers[2];
		
		// (ab)c, (bc)a, (ca)b の3通りの組み合わせ
		$idx = 0;
		
	//	print "Try3: $a, $b, $c \n";
		$result3 = $this->threeOrders( $a, $b, $c );
		foreach( $result3 as $ans ){
			$result[$idx] = $ans;
			$idx++;
		}
	//	print "Try3: $b, $c, $a \n";
		$result3 = $this->threeOrders( $b, $c, $a );
		foreach( $result3 as $ans ){
			$result[$idx] = $ans;
			$idx++;
		}
	//	print "Try3: $c, $a, $b \n";
		$result3 = $this->threeOrders( $c, $a, $b );
		foreach( $result3 as $ans ){
			$result[$idx] = $ans;
			$idx++;
		}
		
		return $result;
	}
	
	/**
	* 3個の数字を(2個,1個)に分けて、2個の数字の組を返す
	*/
	protected function threeOrders( $a, $b, $c ){
		$result = array();
		
		$result2 = $this->twoNumbers( array( $a, $b ) );
		
		$idx = 0;
		foreach( $result2 as $ans ){
			$result[$idx] = array( $ans[0], $c );
			$idx++;
		}
		
		return $result;
	}

	/**
	* 4個の数字の処理
	* 4個の数字が作り出すことのできる全ての3個の数字の組を返す
	*/
	protected function fourNumbers( array $numbers ){
		$result = array();
		
		$a = $numbers[0];
		$b = $numbers[1];
		$c = $numbers[2];
		$d = $numbers[3];
		
		// 3:1の組に分ける、(abc)d, (bcd)a, (cda)b, (dab)c
	//	print "Try4-31: $a, $b, $c, $d \n";
		$result += $this->fourOrders31( $a, $b, $c, $d );
		
	//	print "Try4-31: $b, $c, $d, $a \n";
		$result += $this->fourOrders31( $b, $c, $d, $a );
		
	//	print "Try4-31: $c, $d, $a, $b \n";
		$result += $this->fourOrders31( $c, $d, $a, $b );
		
	//	print "Try4-31: $d, $a, $b, $c \n";
		$result += $this->fourOrders31( $d, $a, $b, $c );

		// 2:2の組に分ける、(ab)(cd), (ac)(bd)
	//	print "Try4-22: $d, $a, $b, $c \n";
		$result += $this->fourOrders22( $a, $b, $c, $d );
		
	//	print "Try4-22: $a, $c, $b, $d \n";
		$result += $this->fourOrders22( $a, $c, $b, $d );

		return $result;
	}

	/**
	* 4個の数字を(3個,1個)に分けて、3個の数字の組を返す
	*/
	protected function fourOrders31( $a, $b, $c, $d ){
		$result = array();
		
		$result2 = $this->threeNumbers( array( $a, $b, $c) );
		
		$idx = 0;
		foreach( $result2 as $ans ){
			$result[$idx] = array_merge( $ans, array($d) );
			$idx++;
		}
		
		return $result;
	}

	/**
	* 4個の数字を(2個,2個)に分けて、2個の数字の組を返す
	*/
	protected function fourOrders22( $a, $b, $c, $d ){
		$result = array();
		
		$result2A = $this->twoNumbers( array( $a, $b ) );
		$result2B = $this->twoNumbers( array( $c, $d ) );
		
		$idx = 0;
		foreach( $result2A as $ansA ){
			foreach( $result2B as $ansB ){
				$result[$idx] = array_merge( $ansA, $ansB );
			}
		}
		
		return $result;
	}
}

////////////////////////////////////////////////////////////////////////
// BEGIN Main

$self = new Make10();
$self->setFinalAns( 10 );

/* 特定の数字の組で試す *
$self->setInput( array( 9, 9, 9, 9 ) );
if( true == $self->run() ){
	print "OK";
}
/* */

/* 0〜9999 まで全てを試す */
for( $n=0; $n <=9999; $n++ ){

	$m = $n;
	$a = floor($m / 1000);
	$m -= ($a * 1000);
	$b = floor($m / 100);
	$m -= ($b * 100);
	$c = floor($m / 10);
	$m -= ($c * 10);
	$d = $m;

	print "( $a, $b, $c, $d )\n";

	$self->setInput( array( $a, $b, $c, $d ) );
	if( true == $self->run() ){
		print "OK";
	}
	print "\n";
}
/* */

?>

自民と希望の政策キーワードを可視化してみた

今日の衆議院選挙の参考に、自民党希望の党の政策テキストを2次元マップに可視化してみた。
詳しい方法は後に回すとして、まずは結果から。

自民党、全体。中心はごちゃごちゃしてよく分からないが、「農業」とか「革命」などが意味的に突出しているようだ。

自民党、ごちゃごちゃを拡大。なんとなく重要キーワードが群を成している。

自民党、さらに拡大。

個人的に気になる、「IoT, ICT」といったキーワードは、「加速、活躍、所得」に近いらしい。
一方、「税」は「削減、適切」に、「データ」は「外国、着実、総合」に近いのだろうか。

希望の党、全体。こちらでは「政府, 検討」などが大きく外れている。

希望の党、ごちゃごちゃを拡大。

希望の党、さらに拡大。

こちらでは「EV, ユリノミクス, エネルギー」といったキーワードが目立つ。
眺めていると、どことなく自民党と集まり方が違う。

試しに両方の党で、「日本」「原発」といったキーワードに近い単語を出力すると、こんな感じに。

自民党
・CHECK_WORD= 日本
1. 事案 0.8811548352241516
2. 紛争 0.869037389755249
3. 則る 0.8689562678337097
4. 出す 0.8679717779159546
5. サイクル 0.8678414821624756
6. ハブ 0.8675268888473511
7. 仲裁 0.8667996525764465
8. 結論 0.8663533926010132
9. 額 0.865086019039154
10. 柱 0.863643229007721

・CHECK_WORD= 原発
1. 区域 0.9755296111106873
2. 暮らし 0.9720321893692017
3. 総務 0.9708766937255859
4. 支払 0.9689890742301941
5. 省 0.9675025939941406
6. 統合 0.9669897556304932
7. 直接 0.9648252129554749
8. ほとんど 0.9646211862564087
9. 除く 0.9640038013458252
10. 方針 0.9639186859130859

希望の党
・CHECK_WORD= 日本
1. 満たす 0.9634389877319336
2. 率 0.9588447213172913
3. 都市 0.9553815126419067
4. 踏まえる 0.9451758861541748
5. 水産 0.9422210454940796
6. 徹底 0.9415571093559265
7. 近海 0.9351164102554321
8. 他国 0.9350647926330566
9. ガイドライン 0.930781364440918
10. 道路 0.9273162484169006

・CHECK_WORD= 原発
1. 老朽 0.9683917760848999
2. 方針 0.9643222689628601
3. 額 0.9633558988571167
4. 経験 0.9626327753067017
5. 公費 0.9625997543334961
6. 総合 0.9602236747741699
7. 以上 0.9596429467201233
8. 20 0.9584065079689026
9. 40 0.9578380584716797
10. 補てん 0.955456018447876


■ 方法

(1). 各党のホームページから、政策が書かれたテキストを取得した。
自民党: 衆議院選挙公約2017, 政策BANK >> https://special.jimin.jp/political_promise/bank/
希望の党: 政策について >> https://kibounotou.jp/policy/

(2). 各テキストを、Python分かち書き"janome"を用いて単語に分解した。
日本語形態素解析器"janome" >> http://mocobeta.github.io/janome/
分かち書きの際、['助詞', '助動詞', '記号'] は除外し、活用のある単語は原型とした。以下のような感じ。

* 自民党テキスト

Ⅰ . 経済 再生
生産 性 革命
少子 高齢 化 最大 壁 立ち向かう ため 生産 性 革命 人 づくり 革命 断行 する この 2 大改革 新しい 経済 政策 パッケージ 年内 取りまとめる
ロボット IoT 人工 知能 AI 生産 性 劇的 押し上げる 最先端 イノベーション 起こす 生産 性 革命 実現 する
2020 年 3 年間 生産 性 革命 集中 投資 期間 大胆 税制 予算 規制 改革 あらゆる 施策 総動員 する
人手 不足 高齢 化 補う ため ロボット IoT 人工 知能 AI 企業 生産 性 飛躍 的 高める 投資 推進 する 特に 生産 性 低い 業種 中堅 企業 中小 企業 小規模 事業 者 集中 的 支援 する

* 希望の党テキスト

政策 集 私 たち 目指す 希望 道
1 政治 希望  〜 徹底 する 情報 公開 透明 性 高い 政治 実現 〜
特区 等 事業 者 選定 その 選定 過程 国民 全て 開示 する
企業 団体 献金 ゼロ 法的 義務付ける
地方 議員 政務 活動 費 公開 同様 国会 議員 文書 通信 交通 滞在 費 使途 公開 義務付ける
衆議院 参議院 対等 統合 一院制 迅速 意思 決定 可能 する 議員 定数 議員 報酬 国会 運営 費用 大幅 削減 する


(3). Python の gensim, word2vec を用いて、取り出した単語をベクトル化した。
分かち書きしたテキストを、以下のようなコードに放り込むだけ。

from gensim.models import word2vec

sentences = word2vec.LineSentence( INPUT_FILE )
model = word2vec.Word2Vec(sentences,
                          sg=1,
                          size=100,
                          min_count=1,
                          window=10,
                          hs=1,
                          negative=0 )
model.save( OUTPUT_FILE )

(4). できあがった word2vecモデルを t-SNEという方法で2次元に圧縮し、プロットした。
# 参考: gensimのword2vecの結果を手軽に可視化する方法 >> https://hacknote.jp/archives/25247/

import numpy as np
from gensim.models import word2vec
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt 
from matplotlib.font_manager import FontProperties

# word2vecで作成したモデルのファイル名
#INPUT_MODEL = "w2v_jimin.model"
INPUT_MODEL = "w2v_kibo.model"

#vocab_thresh   = 7    # 自民の場合、7回以上登場する単語を拾う、258単語だった
vocab_thresh = 3    # 希望の場合、3回以上登場する単語を拾う、197単語だった

if __name__ == "__main__" :
    
    word2vec_model = word2vec.Word2Vec.load( INPUT_MODEL )

    # 単語の一覧を取得する
    vocabs = []
    for word, vocab_obj in word2vec_model.wv.vocab.items():
        if vocab_obj.count >= vocab_thresh:    # N回以上登場する閾値
            vocabs.append( word )
    
    n_vocab = len(vocabs)
    print( u"単語数={}", n_vocab )
    
    emb_tuple = tuple([word2vec_model[v] for v in vocabs])
    X = np.vstack(emb_tuple)
    
    model = TSNE(n_components=2, random_state=0)
    np.set_printoptions(suppress=True)
    model.fit_transform(X) 
    
    # matplotlibで t-SNEの図を描く
    skip = 0
    limit = n_vocab  # 全単語を出力しよう
    
    # 日本語フォント対応、Windowsの場合
    fp = FontProperties(fname=r'C:\WINDOWS\Fonts\YuGothB.ttc', size=14)
    
    plt.figure( figsize=(40,40) )
    plt.scatter( model.embedding_[skip:limit, 0], model.embedding_[skip:limit, 1] )
    
    count = 0
    for label, x, y in zip(vocabs, model.embedding_[:, 0], model.embedding_[:, 1]):
        count +=1
        if( count < skip ): continue
        plt.annotate(label, xy=(x, y), xytext=(0, 0), textcoords='offset points', fontproperties=fp)
        if( count == limit ): break
    
    plt.show()

こうして出来たのが、最初に挙げたテキストマップというわけ。

東京→大阪(諏訪湖経由)自転車24時間“中山道キャノンボール”達成!

東京の日本橋, 国道1号起点から、大阪の梅田新道, 国道1号終点まで、
甲州街道諏訪湖中山道経由、552kmを自転車で 24時間以内に走破した。
5回目のチャレンジ(東海道まで含めれば8回目のチャレンジ)にしてようやくの達成。
これまでの苦労が全て報われた、最高の気分だ。自転車に乗り続けてきてよかった!

  2017/10/08(土) AM 04:50 〜 10/09(日) AM 03:47
  距離: 552.48km   累積上昇高度: 4,552m (GPS-Watchログによる)
  タイム: 22時間 47分 27秒   平均時速: 24.15km

体調、天候、交通量、運、全てがそろって上手くいった。
アクシデント、トラブル、パンクは一切無し。ハンガーノックも胃弱もほとんど無し。
同じことは、もう二度とできないだろうと思う。


■ これまでの記録

第1回:中山道キャノンボールは長かった >> [id:rikunora:20160510]
  2016/05/01〜02  28時間 33分 32秒

第2回:中山道キャノボ成らず、遙かなり大阪 >> [id:rikunora:20161025]
  2016/10/10  チェーン切れ、名古屋、小牧にてリタイア

第3回:逆方向の大阪->木曽->東京 (ブログに記載無し)
  2016/11/30〜31
  夜の寒さに断念、約30時間で東京到着

第4回:中山道キャノンボールあと1時間 >> [id:rikunora:20170520]
  2017/05/01〜02  24時間 56分 07秒

さらに、それ以前の東海道キャノンボールの記録。

* 東京→大阪24時間自転車走破“キャノンボール”達成! >> [id:rikunora:20141006]

ルートラボの記録
* 中仙道キャンボール達成(前半) >> https://yahoo.jp/FXx9zCH
* 中仙道キャンボール達成(後半) >> https://yahoo.jp/vGb2r2

■ 行程表
当初に立てた計画表と、実際の走行タイム。

一宮まで平均25kmを維持、一定ペースで貯金タイムを稼ぎ続けた。それ以降も大幅ペースダウンはしていない。
最もきつかった0時付近の睡魔も、問題なくやり過ごした。

途中休憩は7回、うちコンビニ補給は1回(木曽福島にて)。
おにぎりとウィダーインゼリーは、基本、走りつつ食べた。

(サイコンの記録とGPS-Watchの記録にずれがあるのは、サイコンのGPS補足が遅れてスタートしたから。)

■ 天候
晴れ〜薄曇り。昼は22℃、夜は19℃。全体を通じてほぼ無風。理想的な天気に恵まれた。
過去に苦しめられた、山間部での向かい風や、関ヶ原以降の急な気温低下などが、今回は全く無かった。



この前日まで雨、翌日は極端な暑さだったので、この日だけがピンポイントで好条件だったわけだ。

■ 自転車
・TIME VX Elite
  ひと言で言えば、最高!
  剛性の低い”柔らかめ”のフレームなのだろうか、とにかく足に疲れがこない。
  高速をソツなくこなす。不思議と“スピード感”が無い。
  たとえば木曽高速の下りで、気がついたら 50km出ていた、
  といった具合に、メーターを見て思ったよりも速かったことに驚かされる。

DURA-ACE 7800
  これも最高!
  ギア比: フロント 50x40、リア 11〜28(スプロケットアルテグラ
  前回はノーマルスプロケット 12〜25を用いていたのだが、今回ワイドレシオにしたのが正解だった。
  中仙道は山あり谷あり平地ありなのだから、やはり幅広く対応できる方が良い。
  (東海道キャノンボールを達成したときもワイドレシオだった。)

・Ksyrium SLS + Continental GrandPrix TT
  いくつかの車輪を試してみたところ、結局キシリウムが一番相性が良かった。
  よく「キシリウムは固い」と言われるのだが、フレームが柔らかいためか、組み合わせバランスはこれがベスト。
  今回はじめて GrandPrix TT というタイヤを使ったところ、これが実に良かった。
  まるでキャノンボールのためにあるタイヤだ。私の評価では過去最高。
  私を含め多くのライダーが GP4000s2 を使っているかと思うのだが、
  この GrandPrix TT は、GP4000s2 をさらに軽く、しなやかにした感じだ。
  最初に乗った瞬間「おっ、これは!」と思った。
  気になる点は耐久性だが、とにかく今回ノーパンクだったので、信頼を得た。
  チューブには軽量チューブ(R-Airなど)を避け、ノーマルチューブを用いた。
  軽量チューブは確かに投資の割に走りが改善されるのだが、
  過去の経験からすると、どうも軽量チューブの方がわずかにパンクの確率が上がるように思える。
  キャノンボールではパンクは絶対に避けたいので、安全を見てノーマルチューブとした。

・ハンドル: NITTO Mod55
  昔からある定番ハンドル、手にしっくりくる。
・Profile T2 DL -- ショートエアロバー
  ハンドルを握る箇所が1つ増えるので疲労低減に有効。
  平地で前乗りすると、かなりのスピード維持ができる。
シマノプロ バーテープ スポーツコンフォート
  手が痛くなる対策に、とにかく厚手でフカフカバーテープを使った。

・サドル: サンマルコ ロールスチタン ミエレ
  昔からあるクラシカルなサドルで、私の大のお気に入り。座り心地は抜群で 500km越えにも耐えられる。
・シートポスト: 3T DORICO TEAM
  サドルの位置を満足行くまで合わせるため、昨年からシートポストを2回変えた。
  最終的にセットバックが大きく取れる、このシートポストに落ち着いた。
  特に長い上り坂では「後乗りでクルクル回すスタイル」が取れるようになった。

・ペダル: Mavic Zxellium SLR
  要はTimeと同じもの。

* 電装系:
・フロントライト: Volt300x2本。
  Volt400のバッテリーを付けると長持ちする。主にミドルモードで使用した。
リアライト: CatEye RAPID 3
・Dixna ドロップエンドライト
  バーエンドに取り付ける後方用ライト。特にトンネルで、とっさに点灯したいときに役立つ。
・ヘルメットに取り付けるライト: Topeak Headlux
  前方に白色、後方に赤色に点滅する小型のライト。とにかく目立つように。

■ 服装

天気予報で気温が高めになると予想されたので、薄手の服装を選んだ。
・ベースレイヤー: ASICS ランニング用長袖シャツ
・ろんぐらいだぁすサイクルジャージ
  東海道キャノンボール達成時、青森ロングライド達成時に着ていたジャージ。今回も験を担いで。
・手袋は2重。薄手のレーシング用手袋 + 古くなって伸びたパッド入り手袋

・CRAFT蛍光ウィンドブレーカー、夜間に着用。
パールイズミ レーサータイツ
・あと、夜間の気温低下に備え、上着+メットカバーを携行したのだが、今回は出番が無かった。

■ 携行品
今回はフレームバックとサドルバックを装備し、体には一切荷物を付けなかった。
 ・APIDURA フレームバッグ スモールサイズ
 ・FAIRWEATHER サドルバッグ Mini (TOKYO Wheels限定カラー・ネイビー)
この2つのバッグは傑作と言ってよい。
お値段は多少高めだが、作りはしっかりしているし、おそらく多少の雨でも平気。
今回、走りながらおにぎりが食べられたのは、このフレームバッグに依るところが大きい。
フレームバッグを付けるとロングボトルが取り出しにくくなるのだが、
その対策として横抜きボトルゲージ(TOPEAK デュアルサイドケージ)を取り付けた。

フレームバッグの中身:
 ・食料(おにぎり、ウィダーインゼリー、朝食バー、ブラックサンダー
 ・おにぎり用ジップロック
   おにぎりはその場で“皮”をむいてジップロックに入れる。こうすると食べやすい。
 ・レスキューシート(いざというときに役立つ)
 ・予備チューブx2
 ・財布(自販機用の小銭とコンビニ用Suica
 ・めがね(昼はサングラス、夜はめがねに切り替えている)
 ・メットカバー

サドルバッグの中身:
 ・携行ウィンドブレーカー
 ・防寒用上着

ツールケース(シートチューブ・ボトルゲージ)の中身:

 ・携帯ツールセット
 ・予備チューブx1
 ・Panaracer EASY Patch + ParkTool タイヤ応急パッチ
 ・タイヤレバー
 ・アーレンキー(よく使うサイズだけ特に)
 ・小型プライヤー
 ・マイナスドライバー(こじり用)
 ・小型はさみ(100円ショップで購入)
 ・ビニールテープ + ぼろ布
 ・あと、ツールケースの横に小型フレームポンプを取り付けている。

携帯電話はランニング用のアームバンドポーチに入れ、エアロバーに取り付けている。
こうすると、走りながら携帯の地図が見れる。
ポーチの中には大きいお金(札)やカードも入れてある。

■ 事前準備
2週間前: 霞ヶ浦まで 150kmほどのライド。平均時速 25kmを体で覚える。
1週間前: 自転車は避け、足でロングジョギング 20kmほど。体長を整える。床屋で断髪式。

■ 経過
・朝 3:30に起床。朝食はしっかりと、おにぎり、やきそば、メロンパン、オレンジジュース。
 自宅から日本橋まではユルユルと自走。昨日の雨で道路はところどころ湿っている。
 4:30出発の予定だったが、多少遅れて 4:50に出発。

・都内は信号が多いので、焦らずじっくりと。
 甲州街道は昼間は混雑していて走りたくない道だが、早朝は空いている。
 調布から府中にかけては旧道を抜けた。早朝はほとんど車がおらず、本道より走りやすい。

・前回まで大垂水峠を避け、津久井湖を経由するルートを通っていたのだが、今回はまっすぐ峠に挑むことにした。
 津久井湖経由の方が 3km程度距離が長い。実際、ここで5分程度の時間短縮になった。

・大月、笹子トンネル、甲府をいい感じで通過。
 腹が減る前に早めの補給、おにぎり2個を走りつつ食べる。
 最初の休憩は釜無川河川緑地にて。
 毎回、このあたりでトイレに行きたくなるので立ち寄っている公園だ。
 今回もトイレ+ボトルに水を補給。

・富士見峠への登り。
 過去、ここではメカトラ、パンク、あるいはペースダウンしていたものだが、
 今回はいたって順調。ノンストップで峠を越える。かつて無かった良いペース。
 そのためか今回は燃料消費が激しく、空腹がおそってきたので手持ちの食料を全て食べる。

諏訪湖湖畔で自販機休憩。
 毎回悩まされていた強烈な向かい風が、今回は全く無い。
 塩尻峠9時間以内が最初の大きな目安のところ、余裕の8時間15分で突破。
 成功への実感が湧く。

・いつもは塩尻峠を下ったあたりで疲れて休憩を入れていたのだが、今回はノンストップで通過できた。
 そのままの勢いで鳥居峠を越え、木曽福島の旧道へ。
 木曽福島は旧道の方がトンネルが無く、アップダウンも若干少ないようだ。
 ここで今回唯一のコンビニ補給。おにぎりとコーラで遅めの昼食を取る。

・木曽高速の豪快な下り。連休なのでトラックが少なめでよかった。
 後から記録を見ると、大桑〜坂下間は平均時速 36kmというスピードだった。
 実際、何kmで下ったかは推して知るべし!

恵那市はバイパスを避け、旧道を通って市内を通過した。
 このあたりから名古屋に帰る車で渋滞が起こり始めた。
 恵那市の出口、まきがね公園前の自販機にて休憩(「いこい」というラーメン屋の脇)。
 この自販機も毎回休憩するポイントだ。

・断続的に生じる渋滞の脇をすり抜けるように通過。
 瑞浪、次いで土岐は、旧道を使って渋滞を回避する。

 国道19号に戻ってから、多治見を通過するまでが最も渋滞がひどかった。
 あせる気持ちを抑え、辛抱強く路肩ぎりぎりを走る。
 ただ、後から記録を見たところ、それほど大きなマイナスにはなっていなかった。

・内津峠を登り切れば、アップダウン区間も終わりだ。
 ここは通るたびにチャレンジ1回目の苦しかった思い出がよみがえるのだが、今回は軽めのギアで調子よく突破できた。
 いつもこの辺りから気温が下がってくるので上着を着用するところなのだが、今回は特に寒くならない。
 そのままの服装で先に進む。

一宮市の公園でトイレ休憩、ボトルに給水。
 この前後は信号が多く、ややペースダウン。
 これまで平均時速 25km台だったサイコン表示が、ここで24km台まで下がった。

・過去に2回、関ヶ原で急に気温が10℃以下まで下がってペースダウンすることがあったのだが、
 今回は気温18℃と、全く問題無かった。このために用意しておいた上着は出番が無かった。

関ヶ原を越え、米原でプラス1時間30分の余裕があることを知り、ほぼ成功を確信した。
 ここから普段のペースで走りきれば24時間以内は確実だ。
 ただ、眠気やパンク、思わぬトラブルが襲ってくるかもしれないので、まだ気は抜けない。

彦根城の横をすり抜け、県道2号線を使って琵琶湖の東側を下る。
 こちらの方が国道8号より、俄然交通量が少ない。
 このあたりで眠気がピークに達したが、能登川付近の自販機で休憩を入れて気持ちを整えた。

近江八幡付近で、こんな夜中にロードの一団と出会う。
 少しだけ同じ方向に走り、ほどなく分かれた。
 まあ、向こうもなんでこんな夜中に走っているのだろう、と思ったことだろう。

近江大橋を渡り、膳所城跡公園にて最後のトイレ休憩。
 この公園も、いつも休憩するポイントとなった。
 公園から1号線へは、膳所本町駅の横をすり抜ける抜け道ルートを通る。
 (ただし、この抜け道は東京->大阪では意味があるが、逆の大阪->東京だと意味が無い。)

・逢坂の関、京都醍醐の回避ルートを抜け、京阪国道に入ればもうあとわずか。
 ここで最後の大福もちを補給、甘い物がやたらとおいしい。
 当初の計画では淀川サイクリングコースという案だったのだが、
 深夜に初めての道は危険であること、思ったより交通量が少なかったことから、
 王道の京阪国道を行くことにした。

・深夜 3:37、ついに梅田交差点に到着。
 長い、長い道程だった。

やれば、できるのだ。
当初、こんなことできるわけが無いと思っていた。
今回だって、24時間以内に走りきれるとは思っていなかった。
それでも、やってみたら、できた。
大満足だ。
この喜びを、みんなに伝えたい。
本気でチャレンジするなら、キャノンボールは確かにやる価値がある。

■ 中仙道キャノボ・リンク
先人たちの記録。私も大いに参考としました。いくらでもすごい人はいるものだ。

* AZE: ミニベロでのキャノンボール挑戦,5度目にしてようやく達成!
https://blogs.yahoo.co.jp/aze84678/13236501.html

* ミニベロでキャノボ 中仙道 transamhide編
https://togetter.com/li/1026516

* 中山道キャノボ 一旦のまとめ (軽井沢経由、フル中山道キャノンボール!)
https://togetter.com/li/1035059

* おあほさんといっしょ (´∀`): 中山道キャノンボール(大阪→東京) 準備編
http://asrafil.seesaa.net/article/443126193.html

山陰ロングライド600km

8月23日〜25日の夏休みを利用してロングライドに出かけた。忘れないうちに記録しておく。

* 距離    613.3km、山陰地方、新山口駅から敦賀駅まで。
* 所要時間  40時間1分46秒
* ルートラボの記録 >> https://yahoo.jp/D4hum1

10:34 新幹線のぞみ3号にて、新山口駅に到着。
    駅を降りたら、すさまじい猛暑。
    トイレで着替え、駅前のポプラ「新山口駅前店」から余分な荷物を自宅に送る。
    おにぎり3個を購入。
11:47 駅前の公園「黄金公園」で装備を調え、出発。
    いったん椹野川(ふしのがわ)を渡り、少し進んで再び渡り返した後、
    「山口秋吉台サイクリングコース」を山口駅まで進む。
    ここでさっそくメインの懐中電灯(HL-EL540)を無くしたことに気付いた。
    公園に忘れたのだろうか。今後、ライトはVOLT3001本のみで過ごすことになる。
    (結果的にはそれでも大丈夫だった。2日分の替えバッテリーを持って行ったのが正解。)
12:40 川沿いのサイクリングコースは快適。山口駅の裏手を通過し、国道9号に入る。
13:10 市街を抜けるとさっそくの登り。暑い中体力を温存してゆっくりと。最初のトンネル「木戸山隧道」に入る。
13:30 道の駅「長門峡」で最初の休憩。川遊びしている子供たちが気持ちよさそう。
    おにぎりとジュース。先は長いので、休みは頻繁にとった。
14:40 暑い、田園風景の中、一桁国道とは思えぬほど交通量わずか。津和野への入り口にさしかかる。
15:30 津和野から下り坂に転じる。道の駅「シルクウェイにちはら」で、おにぎり+ジュース休憩。暑い、暑い。
16:10 益田。途中、川の流れが美しかった。ここから海沿いと峠道を繰り返す。
17:30 「ゆうひパーク三隅」で休憩。ジュース。海の眺め良し。
18:00 浜田。漁港にかかる浜田大橋を渡る。橋の上は眺めが良く、風が強かった。
    日が傾き、だいぶ涼しくなってきた。
    海岸沿いに見える、風力発電の大きな風車が印象的。
18:50 江津市内でジュース休憩。江の川を渡る橋の上で日が暮れた。夕焼けがとても美しかった。
19:30 暗くなり、いよいよ人気のない山越えとなる。
    「この先ガソリンスタンドなし」の看板があった。
    心配していた懐中電灯は、あまりにも道が暗かったので1個でも十分だった。
    街灯1つない山道で、灯りを消すと星がきれい。天の川も見えた。
    山中のバス停で休憩、おにぎり。(「神畑入口」バス停)
20:20 仁万に降りてきてほっとする。
    ローソン・ポプラ「石見銀山店」にて夕食休憩。パンと牛乳。おにぎり3個補充。
21:00 大田は市街を通らず、海岸沿いを進んだ。
    途中、少し道を間違えて漁港の傍らを通る。
21:50 田儀付近、海の見える坂の途中で自販機休憩。
    しばらく海沿いの、眺めの良い道(夜だけど)。漁り火が点々。
    少しずつ交通量が増えてきた。深夜便の大型トラックが脇をかすめる。
22:30 出雲市。久々に大きな町。
    出雲バイパスは広く走りやすい道。(1本無駄に多いオマケ車線は何なのだろう。)
    斐伊川沿いのサイクリングコースに入る。宍道湖まで、ずっと土手の上の一本道。
23:30 コース沿いの東屋で仮眠をとる。風が涼しく、蚊もこなかった、快適。
24:00 宍道湖の北岸で24時を迎えた。
01:10 松江通過、中海に向かう。中海大橋を渡ったところで自販機休憩。
    本当は中海の島を渡る予定だったのだが、道を間違えた。
01:40 揖屋駅で休憩。体を拭いて、レーパンの保護クリームを塗り直す。
    米子から、深夜の皆生温泉を通過。少し道を間違いウロウロする。
    国道9号を進む。道が狭く、路面が悪い。深夜便大型トラックに脅かされる。
02:30 道の駅「あらエッサ」で休憩、仮眠。
03:30 1時間仮眠の後、出発。
    朝4:00頃から、もう空は白み始める。朝の大山が美しい。でも、まだ眠い。
04:50 御来屋を過ぎたあたりの、眺めの良い駐車場で仮眠。(「小竹入口」バス停)
05:30 仮眠の後、出発。
06:00 赤崎から海沿いの県道267に入る。やはり交通量の少ない道の方が落ち着く。
06:20 北条バイパス、まるで高速道路のよう。道の駅「大栄」で休憩。
07:40 海岸沿いの眺めの良い道。魚見台の景色に感動。
    すでに暑い。今日の猛暑が思いやられる。
08:30 鳥取バイパス、ファミリーマート「湖山西三丁目店」で休憩、朝食。
09:20 鳥取砂丘。今日は砂漠のように暑い。頭から水をかぶると元気が出た。
10:00 岩美を過ぎ、岩井温泉旧道を通過の途中で後輪パンク。農家の納屋、軒先にて修理。
    猛暑の上り坂、死にそう。頻繁に休みをとって、とにかく水を飲む。
12:15 ローソン「香美町和田店」、山中にポツネンとある店。昼食休憩。
    ここから最後の登りが地獄の暑さ、34度の表示があった。日差しが痛い、日陰を縫うように進む。
13:15 最高地点(但馬トンネル)を越える。
    峠を越えると、空気がムッとしていた。さらに気温が上がった気がする。
    ループ道路を一気に下る。
13:40 道の駅「ようか但馬蔵」、ざぶざぶと水をかぶる。
15:30 道の駅「農匠の郷やくの」、ジュース休憩。
    あまりの暑さにフラフラで立ちゴケする。
16:00 ようやく国道9号と分かれる、長かった。
    その直後、2回目のパンク。また後輪。
    よく見ると、後タイヤ、サイドカットの穴からチューブが顔を覗かせている。
    これはいけない。タイヤの応急処置パッチを持っていてよかった。
    (ParkTool タイヤブート TB-2、必携!)
17:00 修理に1時間を要した。
18:30 西舞鶴到着。
    ゆっくり休みたくなったので、銭湯「若の湯」へ。最高に気持ちいい。
19:30 ゆるゆると出発。風呂上がりで、もう走る気にならない。
20:30 ダラダラと東舞鶴を通過。
    舞鶴港のでっかい軍艦は国道からでも見える。
    とにかく睡眠をとりたく、町を出たあたりの無人駅、東松尾駅にて仮眠。
    駅舎には、巣を作っているツバメと、迷い込んだコウモリがいた。
21:50 仮眠の後、出発。
23:20 高浜、和田駅前の港にて、アスファルトの穴に後輪を打ち付け、3回目のパンク。
    予備チューブを多めに3本持っていたのを、全て使い切った。
    道の駅「シーサイド高浜」で、しばし休憩。
00:20 小浜。時速20kを切り、全くやる気のない走りに。いいかげん疲れてきた。
01:30 丹後街道、倉見峠を越える。ここから下りだ。
02:10 若狭見方I.C付近のバス停にて、最後の仮眠。
02:40 出発。
    美浜バイパスは自転車は通れないので、県道225から迂回。
    携帯のバッテリーが底を突いたが、予備の充電器が役に立つ。
03:49 敦賀駅到着、長かった!
    輪行して、翌朝1番の電車で帰った。
    翌日の午前中は土砂降りの雨だったので、ラッキーだった。

・・・時が経つのが本当に早い。
他にもいろいろやりたいこと、すべきことがあるのだが、ほとんど何も実現できていない。
腰を据えて取り組める状況を作りたい。

中山道キャノンボールあと1時間

去るGW大型連休の5月1日、東京大阪間、中山道経由 560km自転車走破にチャレンジした。

 2017/05/01 AM5:00 東京 日本橋 〜 翌AM05:56 大阪梅田
  時間: 24時間 56分 07秒

24時間に、あと 56分と7秒だけ届かない、くくぅ〜〜〜〜〜〜〜〜う!

■ これまでの記録

第1回:中山道キャノンボールは長かった >> [id:rikunora:20160510]
  2016/05/01〜02  28時間 33分 32秒

第2回:中山道キャノボ成らず、遙かなり大阪 >> [id:rikunora:20161025]
  2016/10/10  チェーン切れ、名古屋、小牧にてリタイア

第3回:逆方向の大阪->木曽->東京 (ブログに記載無し)
  2016/11/30〜31
  夜の寒さに断念、約30時間で東京到着

今回が4回目。
昨年に比べればだいぶ良くなったが、なんか、もうこれが限界という気がする。

この写真は、実は私では無い
当日、夜明けと共に日本橋道路元標に出向くと、この写真のような「いかにも」といった出で立ちの方が。
声を掛けたところ、たった今、大阪から走ってきたのだという。
キャノンボール達成者誕生の場面に立ち会えた。
全身から溢れる達成感と、疲労感がにじみ出ていた。お疲れさま。

で、こちらが出発直前の私。
達成者からバトンを受け継いだ気持ちで、朝5:00に出発。

・・・そんでもって、25時間後の私。
やはり全身から疲労感がにじみ出ている。いちおう笑顔なのだが、達成感はやや少なめ。
今回は大きなトラブルやアクシデントもなく、実力は出し切れたと思うのだが、それでもなお1時間及ばなかったことが悔やまれる。

■ 自転車
・TIME VX Elite -- バツグンの乗り心地。疲れが溜まらない。木曽路を下った後まで足が残せる。
DURA-ACE 7800 -- さすがのデュラエース、素晴らしい。
・Ksyrium sls + Continental GP4000s2 -- 軽くて丈夫、坂に強い。
・Profile T2 DL -- ショートエアロバーを付けた、向かい風と下り、疲れたときにも有効。
・Volt300 -- ライト2本搭載。Volt400のバッテリーを付けると長持ちする。

■ タイムテーブル

今回立てた予定表、右端が実際のタイム。
単純計算だと、約560km ÷ 24時間 = 時速23.33km を維持できれば、24時間達成ということになる。
実際のタイムは、以下の経緯を辿った。

 ・白州から富士見峠、塩尻峠への登りにかけて、ジワジワと遅れた。
 ・遅れは木曽高速の下りで何とか挽回した。
 ・一宮を過ぎてから、特に米原から京都にかけて大きくペースダウンした。

深夜1:00〜2:00、安土、草津付近のタイムに?が付いているのは、睡魔との戦いで明確なタイムを覚えていなかったため。
そりゃペースダウンもするわな。。。

■ 天候

GWらしい最高の天気。
風向きがやや西向きとなる、この日を選んだ。
おかげで途中、強烈な向かい風に遭わずに済んだ。

・最高気温:塩尻から木曽福島にかけて、20度くらい。
・最低気温:関ヶ原付近で8度くらい。
昼間はさわやかな気温だった。夜の関ヶ原から琵琶湖付近はかなり冷え込んだ。
こんなこともあろうかと防寒対策を行った
 -> ウールジャージにしたのが正解。
 -> あとタイツは夏用ではなく、春秋用の少し暖かめ(起毛)にしたのも正しかった。
昨年の経験が生きた。

■ 経過

5:00、日本橋を出発。


6:00、調布、鶴川街道出会い。時間ぴったり。


7:00、相原踏切、時間ぴったり。


適宜ミニあんぱんを食べつつ前進する。


8:00、上野原への上り坂手前、時間ぴったり。(でも第2回チャレンジよりわずかに遅め)


四方津を過ぎたあたりで前輪パンク。
・・・まだ始まったばかりなのに。手早く10分程度でチューブ交換。
後でチューブを調べたところ、リム打ちや破片踏みなどではなく、
継ぎ目の部分に穴が開いていた。外れの不良品?


9:00、大月駅前にぴったり。パンク1回分だけ遅れ、貯金無し。


順調に笹子峠を通過。
峠を越すと、甲府を取り囲む山の眺めがすばらしい。南アルプスは白い雪。


10:00、勝沼バイパスを下った付近。


青沼通りから甲府市内に入る。
美術館通りの途中で、最初の自販機休憩。
アップルジュース。スポーツドリンクはボトルに。


11:00、竜王丘を越えて釜無川沿いに出る。ここまで時間ぴったり。


ここまででブラックサンダーx2個消費。
このあたりから疲れが出てくる。


12:00、白州道の駅でトイレ休憩。


これまで白州付近では必ずメカトラに遭っていたのだが、今回はセーフ。呪いが解けた?
「おいしい水」には行列が出来ていたので、仕方なくトイレで水を汲む。
ちょうど12:00に出発。わずかに遅れが出始める。
若干の向かい風。だか去年よりずっとマシ。


富士見峠の登りで空腹となり、おにぎり休憩、12:42〜12:50 の8分間。


13:00、富士見峠を越える。かなりの遅れが出ている。


諏訪湖付近、弱い向かい風だが気にする程ではない。
過去、ここは強烈な向かい風だった印象があるので、気持ち的にはだいぶ楽。


14:00、塩尻峠への登り口、岡谷市営球場の下。
塩尻峠通過は 14:18。18分の遅れ。これはダメかも・・・と思い始める。
でも進むしか無い。


塩尻に下り、平出博物館前にて2回目の休憩。
オレンジジュース。ポカリスエットをボトルに。
3個目のおにぎりを食べる。これで携帯食料が(お菓子以外)無くなった。


ここから木曽谷は追い風基調となり、タイムを取り戻す。


15:00、日出塩駅前通過。


木曽路は風景が美しい。ちょうど桜が満開だった。
いつかゆっくり来てみたい。


鳥居峠、15:50くらい。思ったよりあっさりたどり着けた。


16:00、宮ノ越前通過。


17:00、大桑道の駅前通過、オンタイムに戻った!


再び空腹&疲労が溜まってきた。
次の「道の駅賤母」にてトイレ休憩。
その場で「地元産そば粉のそばまんじゅう」パックを食べる。けっこう美味しかった。回復!


18:00、下呂への国道分岐、本当に時間ぴったり。ギリギリのタイムだ。


いつもは中津川のコンビニで一休みするのだが、今回はそのまま通過。
ここからアップダウンが続く、つらいところが始まる。


瑞浪市は旧道に入る。ここも勝手知ったるルートになった。


20:00、土岐市通過。


多治見を超えて、気合いを入れて内津峠に挑む。
以前はここで力尽きた覚えがあったのだが、今回は着実に上れた。嬉しかった。


峠を下って国道19号から離れる。だいぶ気温が下がってきた。
坂下町6丁目」交差点にて、上着のソデ着用。


21:00、国道115号、桃ヶ丘。時間ぴったり、ギリギリのタイム。


22:00、一宮市を通過、やはりギリギリのタイム。


後半の関ヶ原、深夜に備えてコンビニ休憩。
安八大明神店にて。
固形物を食べる気に、全くならない。ウィダーインゼリーを3個購入。その場で1個食べる。
レシートのタイムは 22:27、ここまで本当に時間ギリギリだ。


21:00、国道21号出会い。
垂井駅前までの予定だったので、少し遅れが出始める。やばい。


関ヶ原越えにさしかかる。
ここで気温が一気に下がる。昨年と似たような状況だ。
今回は厚手の蛍光ベスト、メットカバーを用意しておいた。全てここで役に立った。


24:00、醒ヶ井駅前。
予定の国道8号出会いまで5km近くの遅れ。時間にしたら10分以上か。
 (ここであと残り120kmだった。
  もしここから時速24kmで走ることができれば24時間達成ということになる。
  実際には、ここから時速20kmとなったわけだ。)


米原駅通過。深夜なので誰もいない。
街頭の下で休憩。さらに冷えてきたのでウィンドブレーカー着用。


国道8号ではなく、彦根城から県道を抜けるルートをとる。
ここから睡魔との戦いとなる。幸い交通量はほとんど無かった。


・・・安土、近江八幡野洲、守山、琵琶湖大橋まで、確固たる記憶が無い。
ただただ淡々と進む。
結果的には、ここで大きく遅れる。
途中でこれはやばいと思い、自販機休憩。ホット紅茶を飲む。
場所が何処だったか、正確には覚えていない。


琵琶湖大橋あたりで夜が白んでくる。
逢坂の関は最後の大きな登り。だいぶ疲労が溜まっている。
低いギヤでじりじりと登る。


山科、醍醐から京都の抜け道。


4:00、六つ地蔵駅前。
ここで50分近くの遅れ。残りあと42km。
もう24時間は無理。25時間切りを目指す。


観月橋のたもとから、宇治川土手上のサイクリングコースに入る。
ちょっとした回避ルート。


5:00、星ヶ丘付近、最後の峠。あと20kmだ!


城北公園通り、天神橋筋通りからゴールを目指す。
大阪市内の勝手がよくわからず、歩道の上を走ったりした。


5:56、ようやく梅田新道にたどり着いた。
何とか最後まで足は持ったが、内蔵と神経がボロボロに感じた。

■ 携帯食料

画像、左が今回唯一立ち寄ったコンビニ。右が直前に用意した食料のレシート。

* 出発時
 ・おにぎりx3個
 ・ミニあんぱんx1パック5個
 ・TVDゼリーx2個
 ・ブラックサンダーx2本
 ・ミルクキャラメルx1箱
 ・レモンキャンディx10個ほど

* 道の駅賤母にて
 ・そばまんじゅうx1パック3個

* ローソン:安八大明神店にて
 ・蒸しチーズケーキx2個
 ・ウィダーインゼリーx3個
 ・オレンジジュース

* その他、ジュース自販機
 ・休憩3カ所、ジュース5本。

ローソンに入った時点で、固形のガッツリしたものを食べる気に全くならなかった。
仕方なく口に入りそうなものだけを選んだのだが、これだとパワーが出ない。
過去、思い出してみると第2回東海道キャノンボールのときにも似たような状況に陥ったことがある。
あのときも食い気が湧かず、ざるそば、ゼリーと食いつないだのだが、結局最後まで力が出なかった。
「おにぎりが食えなくなったら負け」かな、と思っている。

そう思うと、おにぎりを食べるタイミングはもう少し早くした方が良かった。
第1回、第2回では最初のおにぎり休憩を甲府で取っていたが、今回は富士見峠と遅めだった。
結果的には、それが富士見峠の登りの遅れにつながった。

あと、キャラメルはほとんど効果が無く、ハンガーノックの予備という以外の意味が薄い。
走っている途中、なんとなく口が寂しいので時々つまんでいたのだが、これを長時間繰り返すと口内が痛くなってくる。
キャラメル、ゼリーといった小粒の補給は止めて、おにぎり、あんぱんといった腹に溜まるものをしっかり入れるのが良い。

■ 感想

実は、楽しくない。
時計に追われつつ、1分1秒無駄にせず、24時間ひたすら走り続ける。
普通の意味で楽しいわけがない。
なんというか、ここまでやってきて引き際を見失ったというべきか、
あともう1回くらいやらないと踏ん切りがつかない、
いや、もう1回やれば、もう少し上に行けるのではないかな・・・
そんな気持ちで続いている。

で、問題は、さらにあともう1回やるかどうかである。
今回の25時間が、自分にとっての限界という気がする。
ここから1時間縮めるには、どうすれば良いか。
・前半で1時間タイムをかせぐ。
 塩尻峠は8時間30分、中間地点の大桑までは11時間。
・眠気に打ち勝つ。
 一宮以降も時速24km(つまり走行速度30km以上)をキープ。
どちらも常人では無い、と思える。
次の機会の、シルバーウィークまでには考えておこう。

追記: その後、達成しました! >> [id:rikunora:20171014]

人間不信のカードゲーム

おもしろいカードゲームを思い付いたので、ここに公開。
3人から、たぶん10人くらいまで遊べる。

■ 用意するもの
人数x10枚分のカード。
半分は裏を白く塗った「プラス評価カード」。
残り半分は裏を黒く塗った「マイナス評価カード」。

■ 遊び方
カードをよく混ぜて、1人に10枚ずつ配る。
ジャンケンなどで順番を決める。
自分の番になったら、誰か自分以外の相手に、プラス、又はマイナスの評価カードを付ける。
プレイヤーに付いた評価カードは表に公開し、いま、誰がどれだけ評価されているか、常にわかるようにしておく。
これを順番に、カードが無くなるまで実行し、最後に各プレイヤーに付いた、
  (総合評価):=(プラス評価カードの枚数)−(マイナス評価カードの枚数)
が大きい人が勝ち。

単純なルールだが、これが単なる運のゲームでは無いことはすぐに分かるだろう。
重要なのは、プレイヤー同士の交渉と、場の空気支配にある。
たとえば、
 「○○さん、プラスを付けるから、俺にもプラスを付けてね。」
 「同盟してして△△にマイナスを付ければ、俺たち最下位にはならないぜ。」
 「君にだけ手札を公開するから、信用できるよね。」
 「この中で、あとプラスを3枚以上持っている人、手を挙げて!」
などなどである。
もちろん、その問いに正直に答えてもよいし、答えなくてもよい。
場の空気を読み、いかに信頼関係を築けるかが、このゲームの勝敗を左右する。
ただし、相手より上を目指すなら、どこかでその相手を裏切る必要がある。

論より実践、試しに一度やってみれば、このゲームの意味がわかるだろう。
必ずしも権謀術数に長けた者が勝つとも限らない。
案外、裏表のない正直者に高評価が集まることもある。
このゲーム、「人間不信」と名づけようと思うのだが、いかがであろうか。

■ 上級ルール・改変ルール
最初のうちはわかりやすく、
「評価カードは表に公開し、いま、誰がどれだけ評価されているか、常にわかるようにしておく。」
としたが、この公開は必ずしも必須ではない。
慣れてくれば、むしろ評価カードを伏せておいた方が別のおもしろみが加わる。
評価カードを伏せた場合、自分の渡したカードだけは確実にわかるが、他は推測に委ねられる。
たとえばカードを受け取ったとき、
 「裏切ったな!」
と叫んでもよいし、その叫びがウソであっても構わない。
付いた評価カードの一部をあえて公開したってかまわない。

その他、様々な改変ルールが考えられるので、いろいろと試してみて下さい。
ただし、金を賭けるのだけは止めておいた方がよい。。。