改め Objective Technician

はぐれ技術者のやりたい放題

ポールウィーク

2007-04-30 16:45:49 | 陸上競技
4月30日(Mon)利府 快晴 暖


自転車17km

ストレッチ
ドリル
ポールワーク

足合わせ
跳躍練習

助走20m80、10歩
14ft-150lbsスピリット
握り、上から40㎝下
アップライト30-40

3m80 いっぱい

c-down


自転車17kmポール付き



半径25km以内の場所なら交通手段はデフォルトで自転車である。

その日が試合だろうと、ポールを自分で運ぶハメになろうと、そんなの例外にはならない。




昨日、今日と、一昨日の試合も入れて3日連続利府でポールやった。

昨日はポールワークやっただけで、今日はMAXで跳んだ。


調子良かったから試合のときと同じポール、グリップ、助走距離でやろうとしたら全然立たなくて、結局150lbsで握り下げてやった。


それでも 3m80 のゴムバーをカスるぐらいで結構高さ出てた。



振り上げた後にポールから体が離れる原因は、ロックバックから肩を落とせていないこと。足を垂直に上げるというよりも、体に沿ってポールを引いて肩を落とし、腰を上げる感覚で。

突っ込んだ直後からダラーっと振り上げ始めるんじゃなくて、踏み切った姿勢のままガマンして入って跳び急がないこと。

突っ込みは左手でポールをリードして、飛び込むように踏み切る。


ポールからの反発のタイミングと振り上げのタイミングがぴったり合って、しかもポールに沿ってちゃんと振り上げて引いて突き放す動作ができれば、今のグリップの高さで14ft-155lbsでもまだ50cmくらい記録伸ばせる。



って、今日一緒に練習した中学生のコーチが言ってた。



その通りだと思うので、やっぱり15ftポールにはしないで今のままタイミング合わせて反発もらう練習をしてインカレで4m00目指すことにする。




Java で書いてみた

2007-04-29 21:23:32 | プログラミング
いつかCで書いたスライディングブロックパズルを解くプログ
ラムを Java で書いてみた。

ソースはこちら

といっても、アルゴリズムはできてるから C から Java に翻訳しただけ。



いちおう、各ノード固有の処理(ヒューリスティックメソッドとか、子ノードの展開とか、領域割り当てとか)をカプセル化したり、ルート展開メソッドと一般ノード展開メソッドをオーバーライドしてポリモーフィズムを実装してみたり、オブジェクト指向っぽいことをやってる。



それほど複雑じゃなくてしかも重いアルゴリズムを実装するだけならJavaよりもCで書いたほうが絶対に速い。

でも一度 Java の魅力に取り付かれてしまうと何でもかんでも Java で書いてみたくなってしまうもの。




一般に Java は重いといわれている。

そして、Java の統合開発環境 Eclipse もこれまた重い。



いつまでもコマンドラインベースのコンパイラ使ってるようじゃダメだと思って、最近 Visual C++ とか Eclipse とかに手を出し始めた。


Eclipse とは、Java を作った Sun Microsystems のことを嫌いな某社が「日食」なんていう嫌がらせのような名前でオープンソース界に放流した統合開発環境のこと。


Eclipse の起動中の画面のスクリーンショット↓



「日食」という名の通り、「太陽」をかげらせるイラストが使用されている。






話が飛んでしまった。



Java で書いて Eclipse でビルドしたスライディングブロックプログラムの実行例↓








ソース↓






import java.io.*;

import java.lang.*;





class Node{

  final static byte D = 3;



  byte block[][] = new byte[D][D];        /*各ノードのブロック状態*/

  byte ei;                /*空白の場所*/

  byte ej;

  byte nextnum;        /*直属の子ノードの数*/

  int depth;                 /*このノードの深さ*/

  int exp;                   /*ヒューリスティック値 + 深さ*/

  int h = 0;

  Node next[];          /*子ノードへのポインタ*/

  Node reverse;        /*親ノードへのポインタ*/

  Node nextleaf;       /*リーフだった場合、次のリーフへのポインタ*/

  Node reverseleaf;    /*前のリーフへのポインタ*/



  void heuristic(Node goal)

  {

    byte d = D*D, i, j=0, gi, gj=0, b, bj;

    boolean f;



    for(byte k=1;k<d;k++){

        depth = buf;

    }



    this.reverseleaf.nextleaf = this.nextleaf;

    this.nextleaf.reverseleaf = this.reverseleaf;



    return depth;

  }





  int allocate(Node endleaf, boolean start)

  {

    byte k = 0, i;

    int depth=0, buf;

    char direction[] = new char[4];



    if(this.ei != 0)   /*遷移できる状態とその数を調べる*/

      direction[k++] = 'u';



    if(this.ei != D-1)

     direction[k++] = 'd';



    if(this.ej != 0)

      direction[k++] = 'l';



    if(this.ej != D-1)

      direction[k++] = 'r';



    this.next = new Node[k]; 

    this.nextnum = k;

 

    for(i=0;i<k;i++){

        depth = buf;

    }



    this.reverseleaf.nextleaf = this.nextleaf;

    this.nextleaf.reverseleaf = this.reverseleaf;



    return depth;

  }



}







class SlidingBlock{

  public static void main(String args[]){



    Node root = new Node();

    Node goal = new Node();

    Node startleaf = new Node();

    Node endleaf = new Node();

    Node cur, next;

    int depth=0, buf;



    startleaf.nextleaf = root;

    root.nextleaf = endleaf;

    endleaf.reverseleaf = root;

    root.reverseleaf = startleaf;

    endleaf.nextleaf = null;

 

    SlidingBlock.init(root, goal);



    root.heuristic(goal);



    if(depth < (buf = root.allocate(endleaf, true)))
depth = buf; // System.out.println("nn深さ 1 まで展開"); for(byte i=0;i<root.nextnum;i++) depth = buf; /* for(buf=0;buf<30;buf++) state[l] = l; */ for(i=0;i<Node.D;i++){ leaf.exp){ nextdev = leaf; min = leaf.exp; } leaf = leaf.nextleaf; } return nextdev; } static void output(Node cur) { int i, j, k=0; do{ cur.reverse.nextleaf = cur; cur = cur.reverse; }while(cur.reverse != null); /*ポインタ再利用*/ System.out.println("nn"); do{ System.out.println(k++ + " 手目"); for(i=0;i<Node.D;i++){

リレーカーニバル

2007-04-28 19:00:16 | 陸上競技
4月28日(Sat) 利府 晴 暖


棒高跳び

助走21m50、10歩
14ft-155lbsスピリット
握り、上から20cm下
アップライト 30-40


練習
3m30 ○×

本番
3m40 ○
3m50 ○
3m60 ○
3m70 ×○
3m80 ×××


3m70:一週間前の自己ベストを20cm更新



一週間前よりも一つ硬いポールを使ったけど、すごく使いやすかった。

ただ、上のほう持つとまだ少し軟らかい。


練習の二本目で、あの左足が曲がるクセが再発して、その場で即、振り上げてからの空中でのいいイメージを何度も確認して修正。

それ以降、今日はそのクセは出なかった。


3m40 から跳んだ理由は、試合の場でできるだけたくさん跳躍して経験値を上げたかったのと、記録なしだけはイヤだったのと、僕の場合何本か跳んだ後のほうが調子が出てくることと、足合わせがあんまりできなかったこと。


3m50 までは握りを上から40cm下にしてたから、振り上げてから特に何もしなくてもポールから速い反発が来て、それで楽に跳べてた。


3m60 から握りを上げたので、ポールがもっと曲がるようになって反発が弱くなった。
でも一週間前の仙台大ほどは曲がってなかったから、そのときと同じ「よいしょ」って感覚でターンしてクリアできた。


3m70 跳べたのは、ポールが硬かったおかげ。
技術的には一週間前と大して変わらない。


3m70 の一本目はアップライトが手前すぎてバーを蹴り上げた。

ポールを大きく曲げるほどポールの立つ位置が奥になりやすいので、二本目は10㎝奥にして成功した。


で、3m80。

1、2本目は気持ちにゆとりが無くて振り上げられず。

3本目はとにかく振り上げてターンの動作までしようと思って跳んで、狙ったことはうまく出来たけどアップライトが近くて失敗した。

アップライトがもうちょっと奥だったら絶対成功してた。


失敗したけど、今日の 3m80 の3本目は、大学入って棒高跳び始めてから一番うまく出来た跳躍だった。

これまでの跳躍とは違って、振り上げて足揃えて倒立するところから体ひねりながら突き放す「棒高跳らしい」動作の感覚が鮮明に残ってる。

これまで、うまい人の跳躍見てイメージ出来てたつもりでも、実際に自分では体感出来てなかったイメージ。

それを最後に一回だけ実現できた。

意識して出来るようになったら今度はこれを自動化させなきゃならん。


インカレまで少し時間が空くから、棒幅跳びやポールワークいっぱいやって、感覚が残ってるうちにできるだけ自動化させたい。



アップライトに関して。
去年も一週間前も今日も、2回失敗した後はポールがどうも良く立って、バーが近くて失敗する傾向がある。
今度、3本目は思い切って奥にしたほうがいいかもしれん。

あと、グリップ上げても奥にしたほうがいい。



次は14ftポールの一番上握りたいけど、一番上握ったら155lbsでもまた軟らかいはず。


インカレで 4m00 跳ぶためにはグリップを上げる必要があるわけだけど、上のほう握っていっぱい曲げて、反発が来ない状態で奥のほうでポールを立たせるか、それとももっと硬いポールにして反発をいっぱいもらうか、2つ選択肢がある。


いっぱい曲がるポールでも「一瞬で入る」ことで、速くて強い反発をもらうことは可能だけど、それはものすごい高等技術。(日本では二人しか出来ない技術らしい。)


体重は減ってるけど上半身が弱いから、自力で体引き上げるよりもポール硬くして反発をいっぱいもらえたほうがいい気がする。


14ftポールで155lbsより硬いポールは部にないから、15ftでそこそこ硬いのをこんど探そうと思う。



そうすると、たぶんまた足が払われて左手が潰れてポールが立たなくて… みたいなことになるから、助走~突っ込み、入りまでで改善点を潰していかなきゃならん。



これから、もっと利府で練習したい。

利府までポール一本ぐらいならそんな大変な思いしなくても自転車で運べるってことが今日分かったから。



記録会前夜

2007-04-27 22:21:33 | 陸上競技
4月27日(Fri) 評定 涼

ストレッチ
ドリル
踏み切りドリル
バウンディング
ラダーもどき
流し

c-down



今日はいろいろあって、真夜中の評定で練習した。


病み付きになりそう。



暗い中で動くと、新鮮な感覚でイメージトレーニングできる気がする。



そして、あの人影は間違いなくY本さんだった。


なんか、見つけたと思ったら外にジョグ行っちゃった。




明日は、最低でも 3m60。


全部上手く噛み合ったら3m80跳べる、


かな。




たぶん大丈夫。


ポール運んでくれたS川トラックのふんどしにちゃんと触ってきたから。
















うそ。







んなことしないって。

困った

2007-04-26 20:04:47 | 陸上競技
リレーカーニバルで利府にポール送りたいのに、S川急便のいつもの下Dさんから電話の返信が来ない。


ポールが試合に間に合わない → レンタカーで直接運ぶ


ってのはもうイヤだ。


絶対に。




4月26日(Thu) 評定 曇 涼

ストレッチ
ドリル

ポール突っ込み動作
ミニハードルポール走
ポール助走練習
100mポール走 × 5本
150m流し × 3本

c-down



仙台大競技会のあと、ちょっと休みすぎちゃったから今日は多めに動いた。


土曜の記録会(リレーカーニバル)に合わせるなら、明日あさっても多めに動いたほうがいいかもしれない。








早期卒業で研究室配属が今日決まるはずだったのに、早期卒業目指してるほかの人と希望の研究室が重なっちゃった。

早期卒業のレールに乗ると特別枠でどこでも好きな研究室選べるんだけど、この場合一つの研究室に一人だけしか入れない。



思いっきり困った。


A木研しか考えてなかったから。



しかも、昨日あたり夢に同じような場面が出てきた気がする。


そのときは確か、ジャンケンで負けてA木研に行けなかった気がする。





配属調整は明日。



はあぁ、どおしよう…。


練習日誌

2007-04-24 00:36:14 | 陸上競技
4月23日(Mon) 評定 曇 涼


jog
ストレッチ
ハードルドリル
ハードルジャンプ

ポール突っ込み動作
ミニハードルポール走

c-down


155lbsのポールの重さに慣れないとイカンから、突っ込み動作やミニハードルポール走でどんなもんか確かめた。


あんまり重いとは感じなかった。

むしろ、かなり安定してた。


でも、明日かあさってあたりに全助走で突っ込む練習しとかないといきなり本番で新しいポールは危ない。




と思ったら、急に踏み切り足の膝裏が痛み出した。



こんなときは、部屋をぬるくしてゆっくり休もう。







全身の力が抜けてしまうような、素晴らしい脱力感だ。

仙台大学競技会2

2007-04-22 00:40:32 | ムダ話
よくあんな精神状態で自己ベストが跳べたもんだ。

とてもじゃないけど、競技できるような気分じゃなかった。



何があったか簡単に言うと、


・S川急便(いつもの下Dさん)とのコンタクトをミスる

・前日にバイトが長引いた後、夜の街でキャリア付きのレンタカーを探し回る

・当日の朝、借りた直後にアパートの駐車場で電柱に擦る

・生きた心地がしない中、愛島まで運転(そもそもあんな長いのを許可とらないで積むのは違反)

・ハードル開始が25分も延びる







最終的には、Mレンタカーに○万円払って「ごめんなさい」で済んだ。







全部僕が悪いんです。


バカとしか言いようがありません。


もうレンタカーには怖くて乗れません。


てかクルマには当分乗りません。


仙台大学競技会

2007-04-21 15:03:01 | 陸上競技
4月21日(Sat) 愛島 曇 暖

棒高跳

3m30 ○
3m40 ○
3m50 ××○
3m60 ×××

助走 20m80 10歩
アップライト 40~50
14f-150lbs


自己ベスト。




今までで一番高いところを握った。

そしてポールが軟らかすぎた。

ポールが立ち過ぎたというよりも、軟らかくて流れてしまった。


一週間後は一つ硬い 14-155lbs のポールを使う。

今日の握りの高さで反発がちゃんともらえれば3m70は跳べる。

二週間前よりも体重が減ってるので、ポールが軟らかすぎたということは若干上手くなったということだと思っていいはず。


今後の予定

14f-155lbsに変えて3m70

14fの一番上を握って3m90

助走を14歩に伸ばして4m10





ハードルは、3台目で引っ掛けてあと全部5歩になっちゃった。

アルバイトプログラマーの仕事

2007-04-20 00:35:02 | プログラミング
総合研究棟の13階では、ただ一人でカタカタとプログラムを組んでいるわけではない。


プログラミングの講習をしたり、技術補佐員と議論したり実装を説明したり、企業様の要望を聴いたりソフトウェアの仕様について話し合ったり、アルゴリズムを考えて瞑想にふけったり、考え事してると思ったら眠りこけてたり、結構アクチィブ。




最近思うことは、



自分が考えたことを他人に伝えるのは本当に難しい。

ということ。




理論の飛躍がないように気をつけていても、どうしてもどこかすっ飛ばしてしまう。

どこからどこまでを前提として説明すればいいのか分からなくなる。

自分にとって当たり前のことでも相手にとっては新しい考えであったりもするし、相手に前提の理解が無かったらいくら先を説明して分かってもらえない。

そもそも、自分にとって当然のことを自主的にアウトプットするのは至難の業。


「なぜそんなことをするのか」を説明しないで講義をすすめる一部の難解な教授と同じことをやってると思うと、すごく損してる気分になる。




前提をすっとばされて説明されたときに、それをその場で補完できる力が理解力。



これをうまく出来る人が秀才と言われる。






あ、この文章もかなり飛躍してる。