top of page

最適な練習計画はいかにして作りうるか?

更新日:2022年4月11日

 京都市伏見区、ここには三川合流地点があります。三川とは宇治川、鴨川、桂川の3つの川です。残念ながら川の長さの割には整備されておらず、道が狭かったり、トイレがほとんどなかったり、3キロほどしか道が取れなかったり、色々な難点があるのですが、それでも道幅が狭く、信号も多く、広い公園もほとんどない京都市においては練習環境が恵まれていたと言って良いでしょう。


 私もこの3つの川沿いのコースを何度も何度も走りました。そして、この3つの川を眺めながら、何度も何度も死にたいと思っていました。


 私のランニング人生は今となっては恵まれたものだと思っています。しかし、その過程においては何度も何度も上手くいかないことを経験し(特に故障を何度も)、そのたびに何度も死にたいと思っておりました。こういったある意味小さな悩みは人に理解してもらいにくいと思います。


 今でこそ、皆様のおかげで今のお仕事をさせて頂き、結婚もしました。非常に優秀な部下にも恵まれて幸せに仕事をさせて頂いていると言えるでしょう


 しかし、昔の私には走ることしかありませんでした。他に面白いことがなかった訳ではありませんが、それだけ走ることが好きでしたし、魅了されました。生活のすべてを、人生のすべてをランニングにかけていたと言って良いでしょう。


 私にとって走ることが上手くいかないというのは、失業することであり、愛する人を失うことであり、全てを失うことでした。私の競技人生には後悔はありませんでした。「あの時もっと頑張っておけば・・・」と思うことなど一つもありませんでした。全てをかけて上手くいかないのであれば、せめて武士の情けで死なせてほしいと何度も思いました。


 そんな私ですが、死ぬだけの意気地もなかったのでしょう。恥ずかしながら生きながらえているのですが、それだけ思い詰める中で私は何とか最適な練習計画を作るシステムはつくれないのかと考えたのです。


 社会全体に想いを馳せると、世界を変えるのはいつも何かの優れたシステムです。電気やエンジンなどが発展して、車、テレビ、電気洗濯機、電気冷蔵庫などが一般国民の生活を大きく変え、更に時代が進むとインターネットが普及し、検索エンジン、ソーシャルメディアなどがまた世界を変えました。


 確かにスマートフォンやパソコンの小型化が進み、性能も上がっているのは凄いことです。しかし、その中にあるシステムがなければ、つまり検索エンジン(グーグル、ヤフーなど)やソーシャルメディア(Facebook、インスタグラム、ツイッター、ユーチューブ、ライン)などがなければ、人々はスマートフォンを買うでしょうか?


 おそらく買いはしないでしょう。つい最近まで1円携帯があったのです。電話とメールだけで良いのであれば、誰がスマートフォンなんか買うでしょうか?


そこで私は何とか最適な練習計画を作るシステムが作れないのかと考えたのです。


 では、最適な練習計画を作るシステムが作れるのか、作れないのかはどうやって知れば良いのでしょうか?


 世の中には様々な未解決問題があります。そして、それらの未解決問題の真の問題はその問題を解決できるか出来ないかが分からないことです。もしも、最適な練習計画を作るためのシステムが作れないのであれば、死ぬまでそれに時間を費やすのは時間の無駄です。経営者としては多額のコストが失われることになります。


 実はこれは1900年にパリで開かれた国際数学者会議でヒルベルトが講演したテーマの1つが決定問題です。これはある未解決の問題を前にして機械的な手順でその問題が解決可能かどうかを知る方法は存在するのか?という問いです。


 「機械的な手順で」というのは順にその作業をこなしていけば、解決できるかどうかが分かるのか?ということです。論理的に、順番に考えていけば、その問題が解決可能かどうかを知ることは出来るのかどうかという問題です。


 分かりやすい例で言えば、399を素因数分解することは、時間はかかりますが、必ずできます。1,3,5,7と思いつく素数で順番に割っていけば良いのです。もっと数字が大きくなって


123018668453011775513049495838496272077285356959334792197322452151726400507283857518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413


という数字になったとしても、きちんと計算できます。この数字は下記の2つの素数を掛け合わせたものです。


36746043666799590428244633799627952632279158164343087642676032283815739666511279233373417143396810270092798736308917



33478071698956898786044169848212690817704794983713768568912431388982883793878002287614711652531743087737814467999489


 数字がどれだけ大きくなったとしても、我々はその数字を素因数分解できることを知っています。そして、その過程において上記のようなかなり大きな素数を見つけることも出来ます。それは何故かというと機械的な手順で、つまり素数を順番に割っていくという作業を繰り返していけば良いからです。


 ちなみにですが、上記二つの素数の積を出すことは、紙とペンと根気と時間があれば、誰でもできます。しかし、上の数字は何と何の積であるかを計算するのには膨大な時間がかかります。


 片方からは比較的簡単に計算できるのに、もう片方から計算する際にははるかに多くの時間を要するのが暗号の基本的な考え方です。弊社で集中講義や書籍を購入していただく際にクレジットカードをお使いの方はSSL式暗号が使われているという表記をご覧いただいたと思います。


 私にはSSL式の暗号がどういうものか具体的には分かりませんが、行われていることは上記のようなことです。


 一方で、私が好きなった女性が私のことをどう思っているかは機械的な手順で知ることは出来ません。時間をかければ、計算で導き出せるものではないのです。どうすれば、口説き落とせるかも機械的な手順で知ることは出来ないでしょう。また、口説き落とせるかどうかを機械的な手順で事前に知ることも出来ないでしょう。


 決定論はこのような機械的な手順でその問題が解決できるかどうかを計算によって導き出すことが出来るかどうかという問題です。


 そして、ヒルベルトの決定論に答える形で作られたのがチューリング・マシンです。


 チューリングマシンの前から、自動計算器というものがありました。精巧に歯車を組み合わせて、四則演算が自動で出来る機械があったのです。機械と言ってもまだ電気やエンジンがなく、手動でグルグルとハンドルを回して、それに歯車がかみ合って、設定どおりに答えが出るというものでした。


 チューリング・マシンも考え方はこれと同じです。では実際にはどのように計算させたのでしょうか?


二進法

 チューリングマシンよりもはるか前、1600年代にすべての情報伝達は二進法で可能であることを提唱した人物がいました。1623年にフランシス・ベーコンが「2文字を入れ替えて5回並べるだけで32の文字を表せること」を確認しています。単純に2の5乗は32です。この時点で英語は26文字、ドイツ語は30文字なので、意志の疎通が可能になります。


 日本語も電報の頃はカタカナだけで意志の疎通を図っていたので、50音しか必要ありません。


 機械的な手順で答えを導き出すには、例え計算の回数が多くなったとしても、一回一回の計算は簡単なほうが良いのです。ですから、コンピュータ言語は0と1です。


実際の計算法

 ここでは、実際の計算方法を見ていきましょう。計算をするには、大きく分けて3つの要素があります。1つ目は読み取った情報です。入力と言っても良いと思います。


2つ目は、出力です。読み取った情報に対して何を出力するかです。


 3つ目は出力後の作業です。作業はそこで終わりなのか、次の情報に進むのか、それとも前の情報に戻るかです。


 4つ目は状態です。状態というのは例えば、今あなたにウェルビーイングオンラインスクールを紹介しても受講登録しませんでした。何故なら、銀行口座に10万円しかないからです。さすがに、全財産を払って受講するのは賢明な判断とは言えないでしょう。しかし、1か月後にあなたにウェルビーイングオンラインスクールを紹介したら、あなたは受講しました。この時は宝くじにあたって1000万円持っていました。1000万円持っていたら、逆に受講しないのは賢明な判断とは言えないでしょう。


この時、何が決断(出力)を変えたのでしょうか?


それはあなたの状態(金銭状態)です。この状態によって、対応を変えるのが4つ目の要素です。


実際に2+3という計算を0と1の二進法でやってみましょう。まず、二進法なので2+3という表記は出来ません。しかし、空白を-で表すとして


11-111


 という表記は出来ます。では、ここからどうするのかということですが、先ず大前提として人間は2+3というのが理解できますが、機械には理解できません。あくまでも「機械的に」処理させないといけないのです。


 ですから、先ずは情報の読み取りからさせないといけません。そうすると、計算の仕方は次の通りです。


手順1 空白を見つけたらそれを1に書き換える


手順2 右端の1を見つけたら、空白


 この二つを実行するには、以下のような指示書を作ります。


状態1:1を読み込んだら1を転記し、転記後は次の情報の読み取りに進む→状態1

状態1:空白を読み込んだら、1を書き込み、その後次の情報の読み取りに進む→状態2

状態2:1を読み込んだら1を転記し、転記後は次の情報の読み取りに進む→状態2

状態2:空白を読み込んだら、何も書かずに前の情報に戻る→状態3

状態3:1を読み込んだら、それを無記入に変える、その後次の情報にも前の情報にも進まない→状態4

状態4:終了


 上記の指示書に従って計算を進めると9回の計算で2+3を解くことが出来ます。


 1の情報を読み込んだら、そのまま1を転記するという計算が何回も出てくるので、人間が見ると計算していないように見えますが、機械は機械なりに計算しているのです。掛け算になると例えば、4×2という計算でも32回の計算が必要になります。


 人間からすれば、一発で出来る計算を何故これだけ複雑にするのかと思われるかもしれませんが、コンピュータは計算の処理速度がけた違いに速いので、計算回数が多くなっても良いから計算を機械的な作業にまで落とし込むことの方が重要なのです。


 そして、先ほど作った指示書のことをアルゴリズムと言います。


 先述の通り、全ての情報は0と1の二文字で表すことが出来ます。ですから、最適な練習計画を作るためのシステムが作れるのか作れないのかはアルゴリズムが作れるのか、作れないのかで決まります。どれだけ計算回数が多くなろうとも、アルゴリズムが書けるなら答えは出せます。しかし、アルゴリズムが書けないなら答えは出ません。


 ところで、皆さんはある状態において、ある選択をすると、その選択に応じて、次の結果が変わるという状況にどこかで遭遇したことはないでしょうか?


 人生そのもの?


 ええ、人生そのものもそうでしょう。しかし、もっと単純化された図式でこういう状況に遭遇したことはないでしょうか?


 そうです!


 ゲームです。テレビゲームもスマートフォンのゲームもゲームボーイも全て、それぞれのゲームソフト内に設定されたルールにのっとってある状態である選択肢を選べばある結果が導き出されるのです。


 例えば、野球のゲームで言えば、点差が3対3、8回裏、二死走者満塁、バッターは松井秀喜、投手は松坂大輔、これが状態です。そして、松坂投手の球種は私の記憶が正しければ、ストレート、スライダー、カーブ、チェンジアップです。ゲームのプレーヤーはどの球種をどのコースに投げ込むのかを決めることが出来ます。これが入力です。そして、ある状態においてある入力がなされると、それに応じて次の画面に進みます。そして、また次の状態に進みます。


 やはり時代が進むとアルゴリズムが詳細かつ正確になっていきます。私が使っていた1990年代のゲームではまだプッシュバントが出来ませんでした。プッシュバントに対応するアルゴリズムがなかったのでしょう。それが2004年のゲームになるとプッシュバントも出来ましたし、球種の数も増えてナックルボールとかカットボールとかカミソリシュートなどが加えられていました。


 しかし、それでもアルゴリズムにないものは決して出力されません。例えば、乱闘なんかはありませんでした。天井に直撃する飛球や審判に打球が当たるなどのレアケースはアルゴリズムには組み込まれていませんでした。


で、どうやって最適な練習計画を作るためのアルゴリズムを作る?

 まず最終的に導き出される出力の方ですが、明日の練習は拙著『エリート市民ランナーになる為のトレーニング全集』に書かれている43のワークアウトに「ブレない走りと綺麗な体を手に入れよう!ランナーの為の体幹補強DVD」に組み込まれているワークアウト、ストレッチやヨガを組み入れれば大丈夫です。


 『エリート市民ランナーになる為のトレーニング全集』の中にも書いていますが、理論上は無限のワークアウトが考えられます。しかし、実践的観点から考えれば、43のワークアウトで充分です。別に400m20本ではなくて、401m20本にしても構いませんし、ファルトレクも1分速く走って1分ゆっくりではなく1分1秒速く走って1分1秒ゆっくりでも構いません。


 しかし、練習効果は同じなので、徒にバリエーションを増やす必要はないのです。


 ある情報に対してある出力をするということを考えると、次に設定されるべきは情報です。では誰が情報を入力するのでしょうか?


 実はもうこの時点で矛盾が出てくるのですが、情報を入力するのは人間です。例えば、AIが対応してくれる質疑応答のシステムでも質問を入力するのは人間です。ライザップがあとどのくらい体重を落とせるかを示すAI診断をやっていましたが、年齢、性別、現在の体重、身長を入力するのは人間です。


 ここでは可能性を最大限に追求して、目標とするレースの距離とタイムと日付を入力すれば、良いことにしましょう。ここまではなんとかいけます。