Hatena::ブログ(Diary)

やねうらお−ノーゲーム・ノーライフ このページをアンテナに追加 RSSフィード

GT-Rの買取ならここですわ。どこよりも高く買取ってもらえるはず。お勧め!GT-R 買取
電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた Kindle版で復活!! 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

 | 

2013-08-23 第3回将棋電王戦にでますん

[] 第3回将棋電王戦にでます 第3回将棋電王戦にでますんを含むブックマーク  第3回将棋電王戦にでますんのブックマークコメント


コンピュータ将棋ソフト将棋プロ棋士とが戦う「第3回 将棋電王戦」の新ルールが発表になった。*1


私は数年前に「やねうら王」というコンピュータ将棋ソフトを開発したのだが、ボナンザ程度の棋力にしかならず、もうちょっと強く、というか、断トツ世界一と呼べる強さなってから大会(世界コンピュータ将棋選手権)に出場しようと思っていたら、コンピュータ将棋に新しい潮流がやってきた。クラスター並列化である


並列化には、スレッド並列化(1PC内の並列化)とクラスター並列化(PCをまたぐ、複数PCでの並列化)とがある。


スレッド並列化の並列化効率は長らく√N(NはPCの台数)が定説であった。クラスター並列化はそれよりずっとずっと悪いのではないかと言われてきた。


この√Nというのは、うさ親さん(将棋ソフトうさぴょんの開発者)がいくつかの仮定をおき、「まあこれくらいでない?」と2chのコンピュータ将棋スレッドに書き込んだのがその発端である。その後、PCマルチコア化が進み、16コアのPCでの実験などがなされるようになると、スレッド並列化効率は√Nよりはマシであることがわかってきた。


逆に言うと、将棋というゲーム木の探索は従来考えられていたほどには投機的な実行が無駄に終わらないという性質を持っていたのだ。


それにともない、クラスター並列化の効率も見直されることとなった。ただ、PVSplitやYBWC(Young Brothers Wait Concept)では十分な並列化効率が出ないことも知られていた。もう少し投機的に実行しないと遊んでいるリソース(PC)がありすぎて効率が悪い。そこをどう改善するかが一つの課題であった。


ボンクラーズ伊藤さんの出した回答は、PVSplitをやめ、先端ノード以外でも投機的に実行するということだった。これについてはボンクラーズの作者の伊藤さんが電子情報通信学会誌に掲載していた記事が、伊藤さんのブログからダウンロードできるようになっているので、そちらを参照されるといいだろう。*2


クラスター並列化が実用に入ったせいで、世界コンピュータ将棋選手権の上位チームは、スポンサーを説得しマシンいかに集められるかという、パワーゲームの様相を呈してきた。こうなると個人は圧倒的に不利である


私は、ponanzaの作者の山本君に以前会ったときにその旨を愚痴った。「こんなのただのパワーゲームじゃん。同一マシンで、純粋ソフトウェアとしての優劣を決めるような大会になんで出来ないんだろね?交通費宿泊費も自腹で、マシン自分で調達して、それで優勝賞金がノーパソ1個とか、馬鹿にしてるよね。」


しかしたら、あのときの私の問いかけに対する、山本君の回答こそが、今回の第三回 電王戦の新ルール「統一ハードウェアの使用」であり、そして、総額500万円の賞金なのかも知れない。


だとしたら、私も出場しないわけにはいかない。


…が、どうせ出場するなら以前作ったものを改良したい。改良したいというか、そんな何年も前に書いたソースコード、もうすっかり忘れているから手を入れるなら一から作り直したい。しかし不幸にして、私は来年2月ごろまで結構忙しく、コンピュータ将棋の開発のために1週間程度しか時間を費やせない。何年も前に作ったものを無改造のまま出場はしたくない。


ちなみにponanza山本君は大学に入ってから毎日コンピュータ将棋の開発のために平均で3時間ずつぐらい費やしていると言っていた。もちろん、そこにはプログラミング言語勉強する時間やら、関連する論文を読む時間やら含まれているのだろうけど、6年×1日3時間だと、時間で言うと6500時間程度なのだろうか。山本君は将棋倶楽部24でR2400(女流棋士の平均ぐらい?)の腕前らしく、「コンピュータ将棋、こんなに面白いものが世の中にあるのかと(思った)」と語っていた。彼は将棋が根っから好きだから自分の作ったコンピュータ将棋の指す指し手が自分の孫のように思えて可愛いんだろうな。


対し、私は将棋倶楽部24での棋力はR1800ぐらいしかなく、将棋にそこまで愛着があるわけではないんだ…。しかも一週間程度しか時間がないんだ…。駄目だ。勝てる気が全くしない。電王戦に出場するためにはその予選である将棋電王トーナメントで5位以内に残らねばならない。どうせ参加するならそこで5位までに入って交通費宿泊代ぐらい欲しいんだけど。どうせ上位5チームって全部商用の将棋ソフトなんだろうしな…。壁が厚すぎるな。


そんなわけで読者の皆様には、私が出場してたら生温かい目で見守っていただきまして、そして、出場してなかったら、「あー、はいはい」みたいな感じで事情を察していただけると幸いでございます

将棋ファン将棋ファン 2013/08/23 15:42 プロ棋士へのソフトの事前貸出についてはどう思われますか?

yaneuraoyaneurao 2013/08/23 15:54 ↑プロ棋士側が序盤で定跡はずして、あとは事前研究通り指すだけで勝つような勝ち方は「プロとして恥ずかしくないのか」と思いますし(そんな指し方でよければ私でも勝てますし…)、そういうのは私はプロ棋士の方にはやめて欲しいと思いますね。

ただソフト側はバージョンアップが不可という縛りが入れられると対策がしにくいですね。定跡ファイルをオンラインアップデートにしておくぐらいでしょうね。おそらく他の開発者もそうするでしょう。

しかし、角換りにされると相当変化に乏しいですね。本番までに定跡差し替えたところで、同じ局面に誘導される可能性が高いです。角換り腰掛銀とか、レグスペとか、そういうのですね。貸出時は筋違い角とかの定跡を選択するようにしておいて、本番では角道を速攻止めるだとか、まあ事前研究が生きないようにするしかないですね。なんか姑息な戦いですが、そうでもしないと事前研究通りに進んでプロ棋士が勝つのでは観ているほうも興ざめでしょうし。

まあ、私はトーナメントのほうで5位に残れるかどうかもわからないのにそんなこと悩んでも仕方ないですが、トーナメントに出場するからには事前にそういうプログラムを書いておかないといけませんので…。

ねぎとろまきねぎとろまき 2013/08/23 17:35 昨今のF1みたいな話に聞こえました。
この例えが当てはまるなら、どこぞのタイヤメーカのように統一したと思ったら共通でひどいものを割り当てられたという話もそのうち出てきそうですなぁ。
しかもメインは対人ですから「共通で」の部分も当てはまらないわけで。

yaneuraoyaneurao 2013/08/23 19:46 ↑スポンサーには天下のドワンゴ様がついているので、提供されるマシンスペック、賞金総額ともに十分なものであるとは思います。

たぶん、提供されるマシンにおいてトップの将棋ソフトはR3100程度でしょうから、プロ棋士平均(R2900前後?)よりは少し上で普通に考えれば勝ち越すはずなのですが、事前貸出ありとなりますと…。

タマネギ坊やタマネギ坊や 2013/08/24 11:55 ボナンザと同じぐらいの強さだったというのは凄いですね。ハードを制限するというのは苦肉の策ですが、こういう大会があっても逆に新鮮ですね。ぜひやねうら王さんのご活躍を期待してます。この条件でプロに勝てば、新たな伝説を作るわけですね。

Ta(ryTa(ry 2013/08/24 20:25 やねうらおさんの方をクラスター並列化するのが良いと。

ぽぺぽぺ 2013/08/25 19:40 統一ハードウェアの使用、ということは、そのハード向けの特定カスタマイズとかありなんですかねー?
少し前にちょっと興味があってオープンソースのコードみたときは全く理解できなかったんですが、それでも、組み込みアセンブラとかを埋め込めば高速化できそうな箇所は何か所かあったわけで。そういうのも面白そうかと思ったり
まー、今だったらGPU使いなさいよ、と言われそうですが。

で、やねさんは電王戦出るんですよね?
個人的には第2回で話題になった入玉関係をコンピュータ側がどうしてくるのか気になってるんですが、あんまり話が聞こえてこなかったり。

通りすがり通りすがり 2013/08/26 00:20 今回、コンピュータ側が唯一有利になったのは、入玉宣言ができる点なんじゃないでしょうか?

前回は、正確にルールを読んでないのですがコンピュータ側が入玉宣言をした場合の
規定がなかった気がします。

これが、電王トーナメントと本戦でルール変わったら失笑もんになっちゃうんですが。

>>あとは事前研究通り指すだけで勝つような勝ち方

その辺も微妙ですよね。明らかな穴の場合、穴を作る方が悪いとも思えますが、
一方的にPCがやられるだけの将棋は見たくないし、その逆も然りなんですよね。

ただ、表示されるボンクラーズ評価関数の値は、途中で突然人間よりの評価になって
会場的には激熱展開になるんじゃないだろうか。

また、定跡アップデートがいいなら、定跡を空にしておいて、本番だけ入れる
ってのもありなので、それはだめなんじゃないだろうか。

また、ルールが「プログラムのアップデート」と言う意味であれば、fv.binを
変えるもの良いことになるので、ボナがNDFになっちゃう。fv.binに乱数いれて
弱くできるし・・・・まぁ、それもだめなんじゃないだろうか。

となると、普通に考えて棋士側に十分なあるなら先ず勝ててしまうように
思えちゃうんですよねぇ(計算のモデル的には、PCPモデルっぽいですよね。
コンピュータが証明者で人間が検証者。証明者が圧倒的に不利。せめて、
IPモデルにして欲しいなと思う。)

>>そんな指し方でよければ私でも勝てますし…

切れ勝ちでいいなら、確かにレーティング500の私でもコア6のGPS将棋に勝つことが可能ですが、
詰ますとなれば話は別だと思いますけどねぇ。


あと一番気に入らないのは、

「序盤から故意に手数を稼ぎ、引き分け狙うソフトは参加でないものとする。」
「大会中に審判が、序盤から故意手数を稼ぎ引き分け狙っていると断したソフトは以降の対局不戦敗する。 」

というもの。そもそも「故意」の意味が定義されていないし、審判がどの様に判断するかも定義されていない。

しかも、「序盤」からってのが気に食わん。どうせなら「初手」からにすべき。

角替り四間飛車だって、序盤で作戦負けした場合、故意に手数を稼いで千日手に持っていくのが常套手段。
風車とかは、基本せめて来ない場合、故意に手数を稼いで千日手狙い。

普通の将棋でも故意に手数を稼い引き分けを狙うことはあるのだから、それをコンピュータにさせないのは
認めないのはおかいいと思うし、審判の気分で決まるのはどうなの?

伊藤果が勝率7割誇ってた時に、立会人が戦法がウザいと言う理由で伊藤果に不戦勝を言い渡したことはあったか?

せめて、ニコニコらしく、審判&視聴者アンケートで決めろよ(まぁ、そのアンケートを操ることは
不可能ではありませんが対策&抑止はできるでしょ)と思うのです。

もう、相稲庭模様は盛り上がらないのでやめてとか、本音で書くべきだと思います。

yaneuraoyaneurao 2013/08/26 10:02 ↑*2
> 統一ハードウェアの使用、ということは、そのハード向けの特定カスタマイズとかありなんですかねー?

もちろんアリです。おそらくCPUはHaswellでしょうから…まあ、AVX2を使おうと思えば使えるのでしょう。(コンピューター将棋でAVX2の使い所があるかどうかは知りませんが)

> まー、今だったらGPU使いなさいよ、と言われそうですが。

コンピューター将棋はGPUとの相性は悪いですね。GPUである程度大きな単位の処理が完結するのであれば別ですが。まだ実現できたという話は聞かないです。

CUDA 5.5のDynamic Parallelism(cf.http://d.hatena.ne.jp/yaneurao/20130625#p1 )を使えば詰探索ぐらいなんとかなりそうですが。いずれにせよ参考となるソースコードもない状態で、実現可能かどうかもわからない状態でかつ、全く新規の開発になるので茨の道ですね。

↑*1
>>そんな指し方でよければ私でも勝てますし…
> 詰ますとなれば話は別だと思いますけどねぇ。

初手から詰みの局面まで、基本的には練習試合のときと全く同一の棋譜になりますので…。

> しかも、「序盤」からってのが気に食わん。どうせなら「初手」からにすべき。

「序盤」は「初手」を含みます。初手から中盤の入り口までが序盤なので。

通りすがり通りすがり 2013/08/26 23:00 >>初手から詰みの局面まで、基本的には練習試合のときと全く同一の棋譜になりますので…。

勿論、その様な手順を見つければ問題ありませんが、殆どのソフトがスレッド並列を使ってるのでレースコンディションで同一時間考えても最善手が変わってくることとかは多々ありますし、そもそも同一時間考えてくれるかすら分かりませんので、完全な同一棋譜が現れる確立は減ると思うのです。故に、詰みまでを覚えるとなると、かなりの数の変化を覚えないと勝てないと思うのですが、、、、、

なので、優勢に持っていくことは出来ても勝つのは結構難しいと思います。Blunderとか電王に最も近い(?)激指先生とかは、その様な分岐数が多そうに思う(実際問題として、激指12の必勝法は、まだ見つかっていなかったと思う)。逆にツツカナとかは、その様な分岐数が少なそうに思うので頑張れば勝てるのかな(?)。

まぁ、あえて言えば誰でも勝てるようなその手順があるのだとすれば、それを見つけるのが凄いことだと思います。それを見て見たいと言うキモチもありますので、それはそれで超数手の詰将棋を見るような面白みがありそうですね。

>>「序盤」は「初手」を含みます。初手から中盤の入り口までが序盤なので。

「中盤の入り口まで」を含んでるのが気に食わないのです。やるならば、初めからに限定すべきです。

稲庭自体は明らかに「序盤中」に戦略を変化させるのではなく、基本的に初手(最初から)から引き分け狙い(あわよくば切れ勝ち狙い)ですよね。

しかし、序盤のいわゆる一人千日手は、初めから狙っているのではなく殆どの場合作戦負けや手詰まりでやむを得ずやってる場合ばっかりです。
それは、「故意に手数を稼いで千日手狙い」でしょうか。卑怯だと言えるでしょうか。ルール違反だと言えるでしょうか。
そうだとして、それは羽生さんの前で言えんの?と私は言いたいのです。

しかも、「手待ちによる待機」なのか、「故意に手数を稼いだ千日手狙い」なのかが規定からは判別不可能だという点です。
私は、歩を突かない完全か稲庭模様の将棋は明らかに後者だと思います。しかし、ポナ山本さんによれば、GPSFishに関しては、
前者だったみたいで、300手ぐらい待機したら挽回できる手順があるらしいんです。私の棋力が低いせいなのか、どれだけ考えても
その様な手順は分からないのですが、もしそれがあるのならば、前者になっちゃいます。

勿論、300手かければ、トーナメントルールにより引き分けとなるのですが、それはトーナメントルールのせいです。
本戦では有効な戦略になるわけですから、意図的に引き分けを狙ったわけではないことになります。

上記のような判断をできる方法なんてないので、審判の気分(審判が続きを見たいか、見くないか)になります。
更に、審判が気に入らなかっただけの理由で、その試合が負けになるのではなく、以降の試合も全て負けになるのがなんとも言えない。

もっと言えば、ルール上、試合結果が引き分けでなく、その様な将棋を行った方が勝ったとしても、
「故意に手数を稼いで引き分けを狙った」と判断されれば以降は不戦敗になる。まぁ、無論そんな
ことはないと思いますが、罰則がきつい割に適当すぎるなと思うのです。

故に、その辺はフェアプレイを心がけるような文面だけを書いて、自主性に任せて罰則は設けないようにした方が良いと思うのです。そもそも、引き分けを狙って5位を取れるほどトーナメントは甘くないはずですから。

更に言えば、稲庭やったとしても別に私はいいんじゃないかと思います。

稲庭対策してない方が悪いんだし(典型的な稲庭への対策はボナ見れば分かることなので、やらない方が悪い)、トップを狙うソフトは大体やってるし、稲庭でない将棋で序盤から千日手模様を目指すソフトがあるならそれはそれで面白いと思うのです。

yaneuraoyaneurao 2013/08/27 15:38 > あえて言えば誰でも勝てるようなその手順があるのだとすれば、それを見つけるのが凄いことだと思います。

別に自分で見つけなくてもコンピューター同士自己対戦させた棋譜でいいと思いますけども。思考時間の多寡で別の候補手が選択されるかどうかを検証する部分は自動化できますから、そのなかから変化の少ない棋譜を選択し、その変化手順すべてを人間が覚えるという感じですかね。

まあ、人間側がアマ四段程度の棋力があればいくらなんでも優勢の局面からは8割方勝ちきれるでしょうし(相手が将棋の神様だとしても)、詰みまでの棋譜全部を覚えなくてもいいとは思います。

あと、棋譜もアマ四段ぐらいの棋力があれば1000や2000ぐらい覚えれるのではないですかね。

通りすがり通りすがり 2013/08/27 22:38 >>別に自分で見つけなくてもコンピューター同士自己対戦させた棋譜でいいと思いますけども

それで簡単に見つかるでしょうか?自己対戦を質の高いプレイアウトとみなせば、UCT探索くらいはできるでしょうけど。
大量の勝ち棋譜だけじゃ、人間が見ても正直理解できないし・・・まぁ、評価の揺れが激しい棋譜とか近似度の高い局面とかを
解析すればいいのだろうけど、まぁ、それだけで解析できるならもっと質の高い評価関数が登場しそうだし、難しいように思う・・・。

あと、勝率が高い手順があったとしても、終盤が拮抗している場合、相当の終盤力がないと難しいと思います。
なぜなら、終盤ぼ分岐数爆発により全部覚えられない思うので(分岐数が2以上の部分が11手あれば簡単に2000を超える)。
ゆえに、終盤は自力で寄せる以外に方法がないと思います。

終盤力で挽回できない(姿焼きの)ような大差を付けられる手順を見つけることができれば問題ないのでしょうけど、そんなものが簡単に自己対戦で簡単に見つかるとも思えません(見つかるなら、とてもトーナメントを勝ち残れるとは思えません)。

棋士の先生がその様な手順を見つけられるなら、どうやって見つけるか(どの局面でどの程度待ったするのか、どの局面から指し直すのか)とかの情報が集まると、それはそれで面白いかもしれません。

>>人間側がアマ四段程度の棋力があればいくらなんでも優勢の局面からは8割方勝ちきれるでしょうし

去年の100万円チャレンジの挑戦者はアマ5段クラスの方ばかりだったと思いますが、香得の局面から
勝ちきれなかったので、私の印象としては8割方優勢になるけど、終盤の分岐数が多くなったところで
対処し切れなくなって負けている印象が強いです。

やっぱり、R2100超ぐらい(と言っても私から見れば雲の上)の人だと厳しいんじゃないでしょうか。

となると、やねさん(R1800)とか私(R500)じゃ、終盤の分岐数が多い部分がどうにもならなくて、
とてもじゃないけど、簡単に勝てるような手順が見つかるようには思えないのですよ(習甦の
桂馬が跳ねてくれても私じゃ絶対に勝てませんから)。

yaneuraoyaneurao 2013/08/27 23:08 > 香得の局面から

「香得」は「優勢」ではないです。「やや良し」ぐらいです。
将棋で「優勢」と言うと銀得以上ぐらいでしょうか。

アマ五段クラス(R2400)であれば、銀得の状況からならプロ相手でも8割ぐらいは勝てるでしょう。R1800程度(アマ二段か三段)でも、角得ぐらいの状況からならプロ相手でも8割ぐらい勝てますね。銀得ぐらいの局面だと、プロ相手だと勝率5割ぐらいです。

結局、最初に定跡を外したあと(これ重要)、銀得ぐらいの局面までの棋譜を覚えるのであれば、うまく分岐の少ない変化を選べば、覚える棋譜の数は1000か2000ぐらいには収まるんじゃないですかね。私の感覚的には角得ぐらいの局面まででも1000か2000ぐらいに収まると思うんですけど、まあ、やってみないとなんとも…。

まあ、仮に棋譜の数が1万ぐらいになったところで、似た局面の変化手順であれば狙い筋が同じでしょうから、有段者であれば覚えられるんではないですかね。棋譜、それだけ覚えている間に棋力も1,2段は上がるでしょうし。

forggenforggen 2013/08/28 17:41 >スポンサーを説得しマシンをいかに集められるかという、パワーゲームの様相を呈してきた。

ふと疑問に思ったのですが
将棋ソフトA,Bがあったとして
手軽に買えるノートPC上でAとBを対戦させた場合
一般人が到底用意できないようなスーパーコンピューター?を使ってAとBを対戦させた場合
前者と後者で結果がひっくりかえるようなことってあるんですか?

yaneuraoyaneurao 2013/08/28 19:15 ↑それは普通にあります。

昔のコンピューターソフト、2倍時間をかけてもR50ぐらいしか上がりませんでしたが、いまのソフトはR150〜R200ぐらい上がります。

ゆえに、例えば、評価関数が優れているソフトと、評価関数はしょぼくて探索速度任せのソフトがあるとして、同じように2倍の時間をかけて読ませた場合、後者のレーティング向上率は前者より劣っているのが普通ですね。

ですので、ノートPCでの対戦結果とハイスペックなPC、もしくは長時間の持ち時間での対局などでは勝率はずいぶん違ってきます。

1手3秒で対戦させたときにずいぶん勝ち越すようになった改良が、長い持ち時間では全く意味がなかった(あるいは、むしろ逆効果)というのもよくあります。

timelimitstimelimits 2013/08/28 22:35 日替わりで評価関数を切り替えたい気分になりますね…。

通りすがり通りすがり 2013/08/31 11:02 ↑*2

>>私の感覚的には角得ぐらいの局面まででも1000か2000ぐらいに収まると思うんですけど、まあ、やってみないとなんとも…。

しかし、2000の変化を見るにはやはり、4時間将棋で2000勝ぐらいしないと難しそうですよね。
2000勝するには単純な自己対戦だと、同じように4時間UCT探索的に考えたとしても、せめて
3000局(35万手)分ぐらいを指し合うようにしないと難しそうに思うのです。

で、沢山勝ち星を取るには、同等以上の計算資源と時間が要るのでPCをもう1台用意して、
3ヶ月休みなしに対戦したとしても24時間対戦しても、140局程度できればいい方なん
じゃないでしょうか。

そなると、ドスパラ最高スペックPCを20台とそれと同等以上のスペックのマシンを20台ほど
用意しないと難しそうですよね・・・う〜ん、それならそのマシンで公開されたプエラを
使ってクラスタ化して、ソフト指しで自分の指し手と一致率の高い局面で勝率の高い局面を
探した方がいいのかな・・・・。まぁ、39台の未調整プエラが強いかどうかは判りませんが。

確かに、強いソフト+プロのソフト指しで勝ち筋を探すと色々見えてきそうな気がしますね・・・。
そう思うと、やっぱりソフトが勝つのは厳しそうですよねぇ。

yaneuraoyaneurao 2013/09/01 07:38
自動的に勝ち棋譜を生成するのは研究としては面白そうな課題ですが、確かに実際問題としては計算資源的に見て容易ではなさそうではありますね。

まあ、プロであれば、序盤で定跡を外したあとのコンピューター同士の対戦棋譜さえあれば「この形にすれば桂得になる」みたいな変化を見つけるのは容易でしょうから、桂得であればR500ぐらい差がないと挽回できないんではないですかね。

通りすがり通りすがり 2013/09/01 11:37 >> R500ぐらい

普通に、ソフトの読み筋を見ながら指して行けば、そのソフトが神でない限り、そのソフトよりレートが格段に上がると思うんである程度勝てる棋譜が見つかりそうに思いますよ。

それよりも、アドバンスド将棋が面白しろすぎた。
待ちがいなく、モビルスーツ(ポナ)とオペレータ(山本さん)の性能が高いのも要因なんだと思うけど、佐藤先生にはこれからももっと活躍してもらいたい。

Google Glassで、局面認識&指し手&評価値表示が出来れば、
もっと面白そうに思うので、作ってくれませんか(w

トラックバック - http://d.hatena.ne.jp/yaneurao/20130823
 | 

1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 06 | 08 | 10 | 11 | 12 |
2015 | 01 | 02 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06