第33期竜王戦 第4局 ▲豊島将之VS△羽生善治 横歩取り 

▲2六歩 △8四歩 ▲2五歩 △8五歩 ▲7六歩 △3四歩 ▲7八金 △3二金 ▲2四歩 △同 歩▲同 飛 △8六歩 ▲同 歩 △同 飛 ▲3四飛 △3三角 ▲5八玉 △4二銀 ▲3六飛 △8四飛▲2六飛 △2四歩 ▲8七歩 △7二銀

24手目 

後手は△2四歩型にしています。以前は△2三歩型がよく指されていました。△7二銀は後手がひねり飛車模様にしたときに、美濃囲いに組めるようにする狙いです。

▲3八銀 △9四歩 ▲9六歩 △1四歩 ▲1六歩 △5二玉▲3六歩 △6二玉 ▲3五歩 △8八角成

34手目

角を交換すると、先手は▲5六角と打ち、▲1五歩△同歩▲1二歩の攻め筋があります。後手も同様に△5四角と打ち、△1五歩▲同歩△1八歩の攻め筋があります。

▲同 銀 △3三桂 ▲2八歩

37手目

▲2八歩は、あらかじめ角を打ち込まれる隙を消す手筋です。

△1五歩 ▲同 歩 △2五歩▲3六飛 △4五角 ▲1六飛 △2四飛

44手目

現局面は後手の構想通りに進んでいます。次に△2六歩~△2七歩成の攻めに対して、先手がどう対応するかが急所です。

▲4六歩 △5四角 ▲6八玉

47手目

▲6八玉はあらかじめ当たりを避ける手です。先手からは次に▲3四歩△同飛▲5六角があります。

△2六歩 ▲3四歩 △同 飛▲2六飛 △6五角 ▲4七角 △2五歩 ▲1六飛 △4七角成 ▲同 銀 △4四歩

58手目

後手は4筋の歩を切り、△4八歩を狙っています。

▲1四歩 △4五歩▲1三歩成 △7一玉 ▲3五歩 △同 飛 ▲1二歩 △1五歩 ▲1七飛 △4六歩 ▲同 銀 △3六飛▲3七銀 △1六飛 ▲同 飛 △同 歩 ▲6五角

75手目

現局面はやや先手有利。▲6五角は△4七角打ちを防いだ手です。隙がない。

△4三金 ▲1一歩成 △5四金 ▲3八角 △4五桂▲1二飛 △5一銀 ▲4三歩 △4一歩 ▲4六銀 △1七歩成 ▲同 香 △3六角 ▲7九金 △1八角成▲9二香

91手目

角のラインを生かした好手。先手優勢の局面です。

△2六飛 ▲9一香成 △4六飛 ▲4八香 △2六飛 ▲8一成香 △同 玉 ▲8四桂

99手目

この手も厳しく、次に▲9二角成△7一玉▲7二桂成△同金▲8三銀の狙いです。

△6五香▲7七桂

101手目

豊島らしい隙の無い一着。香取りと、玉を8九の地点へ逃がすルートを確保して味がよい。

△5七桂成 ▲同 玉 △5六銀 ▲同 角 △同 飛 ▲同 玉 △3四角 ▲4七玉 △1二角
▲同と引 △6七香成 ▲9三角

113手目

この角打ちで必死です。本局は豊島の完封と言っていいでしょう。

△投了
まで113手で先手の勝ち

評価値

第4局の時点で、豊島の3勝1敗です。豊島のタイトル初防衛まであと1勝となりました。

羽生は局後の感想戦で動き過ぎたと語っています。68手目の△4六歩に代えて△7四角打ちとして勝負すべきだったようです。銀には飛車のヒモがついているので見えにくい手です。

68手目の検討

次に▲3六歩なら、△46歩▲3五歩△4七歩成として1局。

▲5六銀なら、△37歩打ちとして1局です。

第1局の解説はこちら

第2局の解説はこちら

第3局の解説はこちら

おススメの横歩取りの棋書です

C言語の発明史

C言語は文字通りコンピュータの世界を揺るがしたと言っても不思議ではありません。

C言語の発明史

C言語の誕生は、システムプログラムを作成する際にアセンブリコードを置き換えることができる、構造化された効率的で高レベルな言語の必要性の直接的な結果でした。全体として、C言語はプログラマーによって、プログラマーのために設計されました。

発明の黒幕はDennis Ritchie

さて、このような汎用性の高いプログラミング言語を開発した先見の明があるのは誰でしょうか?

Dennis Ritchie

そう、デニス・リッチーです。彼はしばしばコンピューティングの最も偉大で最も影響力のある頭脳の一人として言及されています。彼が技術の先駆者としてこの分野の専門家から高く評価されているのも不思議ではありません。

ニューヨークのブロンクスビルで生まれたリッチーは、ニュージャージー州で育ち、後にハーバード大学に通い、1963年に物理学の学位を取得して卒業しました。リッチーの父親は、ベル研究所のスイッチングシステムエンジニアでした。リッチーがキャリアの大半を過ごしたのはそこでした。彼のビジョンは、プログラマーの知的能力を満たすことと、プログラマーが独立して創作し、情熱を追求するための自由を創造することという二重の目的を果たすことができるコンピュータ言語を開発することでした。

1960年代後半、リッチーと彼の仲間のプログラマーであるケン・トンプソンは、当時、非常に有能なミニコンピュータで実行できるオペレーティング・システムの開発に着手しました。この事業の結果が UNIX です。UNIXの最初の登場は汎用性に富んでいましたが、それは主にアセンブリ言語で書かれていたという理由から、不器用なものとして特徴づけられました。そのため、どのようなマシンに搭載されたとしても、メモリと語彙の面で多くの制限がありました。リッチーとトムソンは、1973年までにリッチー自身のC言語でUNIXを見事に再コーディングすることで、この問題の最終的な解決策を見つけました。

C言語誕生のきっかけとなった一連の事件

Ken Thompson

初期のプログラミング言語

初期の頃は、CPL(Combined Programming Language)が主流でした。しかし、CPLは大きすぎて多くのアプリケーションでは使えないという大きな欠点がありました。その後、1967年には、CPLのスケールダウン版としてBCPLまたはBasic CPLが開発されました。BCPLの基本的な機能は新しいBCPLにも引き継がれています。BCPLのスケールダウン版であるB言語を開発したのはKen Thompsonでした。

Multicsプロジェクト

1960年代、リッチーとベル研究所(AT&T)の他の数人の専門家がMulticsと呼ばれるプロジェクトに取り組みました。このプロジェクトのビジョンは、おそらく1000人のユーザーが使用できるような大型コンピュータ用のオペレーティングシステムを構築することでした。残念なことに、1969年、ベル研究所はこのプロジェクトから撤退しました。そのため、会社の従業員、特にデニス・リッチーとケン・トンプソンは、別のプロジェクトを探さなければなりませんでした。

UNIXの開発

やがて、Thompson は新しいファイルシステムの開発に取り組み始めました。彼はDEC PDP-7用の新しいファイルシステムのバージョンをアセンブラで書きました。やがて、新しいファイルシステムに改良が加えられ、拡張が加えられました。これには、Multicsプロジェクトで得た多くの知識が活かされています。短期間で、完全なシステムが作成されました。このシステムは、Brian W. KernighanによってUNIXと呼ばれました。しかし、この新しいシステムはアセンブリコードで書かれていました。

B言語が生まれたきっかけは?

UNIXには、FORTRANやアセンブラ以外にもプログラミング言語Bのインタプリタがありました。プログラミング言語Bは、1969年から70年にかけてケン・トンプソンによって開発されました。

初期の頃は、コンピュータのコードはアセンブリコードで書かれていました。プログラマーは、特定のタスクを実行するために、何ページものコードを書かなければなりませんでした。しかし、B言語のような高度な言語を使うと、数行のコードで同じタスクを実行できるようになりました。B言語の効率性は、UNIXシステムのさらなる発展に活かされた。B言語を使うことで、アセンブリよりも高速にコードを生成できるようになったのです。

C言語の究極の発展

B言語の大きな欠点の1つは、データ型を特定できないことでした。さらにもう一つの欠点は、B言語が「構造体」の使用を提供していなかったことでした。デニス・リッチーが新しい言語を開発するように誘導したのは、B言語のこれらの制約でした。

リッチーがC言語を開発したのは1971年から1973年の間で、B言語の構文の大部分を維持しながら、データ型の追加など様々な追加を行いました。そのアイデアや原理の多くは、以前のB言語だけでなく、B言語の祖先であるBCPLやCPLからも引き継がれています。C言語は、オペレーティングシステムをプログラムするのに必要な高レベルの機能と詳細な機能が見事にミックスされました。

C言語の偉大さ

リッチーによって開発されたC言語の力と柔軟性はすぐに明らかになりました。 最終的に、実際にはアセンブリ言語で書かれていたUNIXオペレーティングシステムは、おそらくすぐに新しいC言語で書き直されたのでしょう。

アセンブリ言語は非常に支配的で、強力で、しなやかな言語であったため、その使用はすぐにベル研究所を超えて広がりました。1970年代後半になると、この言語は当時よく知られていたALGOLやPL/Iなどの言語にほぼ取って代わり始めました。世界中のプログラマーがこの言語を使って、ほとんどすべての種類のプログラムを書き始めました。

この究極の設計により、リッチーは1983年にチューリング賞を、1999年にはトンプソンとともに国家技術勲章を受賞しています。

C言語の最初の本


そして、リッチーと共同研究者のカーニガンは、C言語の参考書「The C Programming Language, 1st edition」を出版し、リリースしました。この本はカーニガンとリッチーの両方によって書かれたと言われていますが、 カーニガンはこの発言を否定し、C言語の開発には何の関与もしておらず、 すべてリッチーの仕事であり、すべての手柄は彼にあると述べています。

ANSI CおよびISO C


長い間、C言語はRitchie氏の著書が標準となっていましたが、様々な組織が少しずつ違いをつけて独自のバージョンを適用し始めました。これは、実際にはシステム開発者にとって深刻な問題となっていました。この重大な問題を解決するために、1983年に米国規格協会(ANSI)はC言語の標準的な定義を確立するための委員会を結成しました。いくつかの例外を除いて、ほとんどすべての最新のCコンパイラは提案された標準に従うことができました。1990年、ANSI CはISOまたは国際標準化機構によって承認されました。正しい用語はもちろんISO Cであるべきですが、今でも誰もがANSI Cと呼んでいます。

そして、UNIXとCは、Linux、C++、Mac操作システム、iOSのような無数の化身を作りました。

C言語 プログラマーのための言語


C言語は今日でも広く使われており、世界で2番目に人気のあるコードであることも不思議ではありません。C言語の開発は、コンピュータ言語の近代的な時代の始まりと考えられています。それまでのコンピュータ言語に深刻な問題を引き起こしていた相反する要因をうまく統合した結果、C言語は効率的で強力な構造化された言語として、むしろ学習しやすい言語として登場したのです。 この言語のもう一つの重要な側面は、それがプログラマーのための言語であったということです。C言語は、実際に効果的なプログラマーによって設計、開発、実装されており、彼らのプログラミングに対する情熱が反映されていました。C言語の機能は、実際にその言語を使った人たちによってテストされ、磨かれ、考えられ、再考されました。その結果、すべてのプログラマーが使うのが好きなコンピュータ言語ができあがりました。

C言語はすぐに、驚くほどの熱意を持った多くのフォロワーを集めました。プログラマーのコミュニティに広く、急速に受け入れられていったのです。デニス・リッチーのおかげで、C言語はプログラマーによって、そしてプログラマーのために作られた言語なのです。

こちらはおススメのC言語の入門書です

竜王戦7番勝負 第3局 ▲羽生善治VS△豊島将之 172手の激戦 戦形 相掛かり

竜王戦第3局の棋譜解説です。

▲2六歩 △8四歩 ▲2五歩 △8五歩 ▲7八金 △3二金 ▲3八銀 △7二銀 ▲1六歩 △1四歩▲6八玉 △7四歩 ▲7六歩 △8六歩 ▲同 歩 △同 飛 ▲2四歩 △同 歩 ▲同 飛 △2三歩▲7四飛

先手の1歩得に対して、後手は銀を先に前線に送ることができる。

△7三銀 ▲8七歩 △8二飛 ▲7五飛 △3四歩 ▲2五飛 △4四歩 ▲2四歩 △同 歩
▲同 飛 △4二銀 ▲3四飛 △4三銀 ▲2四飛 △2三歩 ▲2六飛 △5四歩 ▲5八玉 △6四銀▲6八銀 △5五歩

先手の羽生は2歩得に対して、後手の豊島は中央から圧力をかけることができます。この形での5筋は急所です。

▲9六歩 △4五歩 ▲7七桂 △9四歩 ▲9七角

▲7七桂~▲9七角は大胆な構想です。先手は歩得プラス後手の居玉をとがめようとしています。もちろん後手は△9五歩と反発します。

△9五歩 ▲同 歩 △4四角▲3六飛 △5六歩 ▲8六角 △5七歩成 ▲同 銀 △8五歩 ▲9七角 △9六歩 ▲7九角 △9五香▲9八歩 △3三桂 ▲4八玉 △2四歩 ▲6六銀 △8六歩 ▲同 歩 △同 飛 ▲8七歩 △8二飛▲3九玉 △5二飛

現局面は互角。後手からは△3五歩があります。▲同角は△同角▲同飛に△9七歩成▲同歩△9八歩▲同香△8九角の筋です。

▲5三歩 △同 飛 ▲6五桂 △5二飛 ▲6八角 △9二飛 ▲5四歩 △5二歩

後手は中央から圧力をかけていく構想でしたが、逆に先手が中央へ駒を伸ばしています。形勢は互角ですが、後手としては面白くない展開と言えます。

▲2八玉 △9七歩成 ▲同 歩 △同香不成 ▲9三歩 △同 飛 ▲9四歩 △同 飛 ▲9五歩 △7四飛▲9七香 △9六歩 ▲3五角

次に△同角▲同飛成△7六飛なら、▲7七香として飛車を捕獲できます。

△同 角 ▲同 飛 △9七歩成 ▲8五角 △2六香 ▲2七香 △8四飛
▲6三角成 △4四角 ▲3六飛 △2五歩

現局面はやや後手有利に傾いています。△2五歩として、豊島は64手目に突いた△2四歩を生かすことに成功しました。

▲2六香 △同 歩 ▲8六香 △6二歩 ▲8一馬 △8五歩▲9一馬 △2一香 ▲8五香 △7四飛

ここで豊島にミスがでます。△8五同飛とすべきでした。△2一香打も疑問手で、先手は▲2四歩として中合いすることができます。

▲2四歩 △同 香 ▲7五歩 △2七歩成 ▲同 銀 △同香成▲同 玉 △6五銀 ▲7四歩 △3五桂 ▲3八玉 △6六銀 ▲2一飛

▲2一飛が攻防手になり、現局面は先手優勢です。ここから豊島がラッシュを仕掛けます。

△3一歩 ▲6六歩 △2七銀▲4八玉 △3六銀 ▲同 歩 △6六角 ▲5七銀 △6九飛 ▲6六銀 △4七桂成 ▲同 玉 △4九飛成▲5七玉 △4六歩 ▲6七玉 △7五歩 ▲6八桂 △4七龍 ▲5七銀 △5六銀 ▲同 桂 △7六金▲6八玉 △6六金 ▲同 銀 △8七と ▲5七金

ここで羽生は受け間違えてしまいました。代えて▲8七金なら先手優勢を維持。

羽生はこの手を指すときに駒をグリグリと押し付けるように指しました。通称、「羽生のグリグリ」と呼ばれています。

以下、筋に入って後手の勝ちです。

△4八龍 ▲5八香 △7八と ▲同 玉 △4七歩成▲6四馬 △4二歩 ▲5三銀 △同 歩 ▲同歩成 △8七銀 ▲同 玉 △5七龍 ▲同 香 △7六金▲7八玉 △6七銀 ▲投了


まで172手で後手の勝ち

竜王戦第1局の解説はこちら。

竜王戦第2局の解説はこちら。

こちらは相掛かりのおススメの棋書です。

第33期竜王戦7番勝負 第2局 ▲豊島将之VS△羽生善治 戦形 角換わり早繰り銀 玉を下段に落とす好手

棋譜解説 竜王戦第2局 ▲豊島vs△羽生

第1局の解説はこちら

▲2六歩 △8四歩 ▲2五歩 △8五歩 ▲7六歩 △3二金 ▲7七角 △3四歩 ▲6八銀 △7七角成▲同 銀 △2二銀 ▲4八銀 △6四歩 ▲3六歩 △6二銀 ▲3七銀 △3三銀 ▲6八玉 △6三銀▲4六銀

局面図

先手の豊島は早繰り銀を採用。次に▲3五歩と仕掛けるのが狙い。

△5四銀 ▲7八玉 △4四歩 ▲5六歩

 先手は▲7八玉型に構える場合と、▲7九玉型に構える場合があります。△4四歩は銀を追い返す狙い。▲5六歩は銀を▲5七に引けるようにしています。

△5二金 ▲6八金 △4二玉 ▲3五歩 △4三銀▲3四歩 △同銀右 ▲3六歩

▲3五歩~▲3六歩までは早繰り銀の基本的な攻め筋です。▲3六歩は次に▲3五銀と進出するための手です。

△1四歩 ▲9六歩 △9四歩 ▲1六歩 △7四歩 ▲3五銀 △同 銀▲同 歩 △7三桂 ▲5五歩

現局面は互角です。▲5五歩は次に、▲5四歩△同歩▲3四歩△同銀▲7一角の攻めを狙っています。

△4三銀 ▲2六飛 △3一玉 ▲5八金右 △2二玉 ▲4一銀 △4二金左▲5二銀不成 △同 金 ▲4六歩

▲4六歩は次に▲3七桂~▲4五歩の順で攻めていく狙いです。

△6五桂 ▲4五歩 △7七桂成 ▲同 桂 △7五歩 ▲5四歩

次に△5四同歩なら、▲4四歩△同銀直▲2四歩△同歩▲7一角△7二飛▲4四角成△同銀▲2四飛の十字飛車が決まります。

△8六歩▲同 歩 △3六歩

△3六歩は先手の飛車の横利きを止めて、次に△7六歩と取り込む狙いです。▲3六同飛は△2七角で馬ができます。

▲5三歩成 △同 金 ▲3四桂 △同銀直 ▲同 歩 △7六歩 ▲3三銀 △同 桂▲同歩成 △同 玉 ▲3六飛 △3四歩 ▲7六飛 △8九銀

豊島は▲7六飛と飛車の横利きを生かしました。しかし、△8九銀が玉を下段に落とす好手で、▲同玉なら△8七銀打ちで決まります。結果的には後手優勢の局面です。将棋AIは63手目の▲5三歩成を悪手と判断していて、代えて▲3四桂を示しており、この順を後述します。

▲8八玉 △7五歩 ▲同 飛 △8六飛▲9七玉 △8五歩 ▲同 桂 △7四桂

84手目△7四桂は羽生らしい羽生マジック的な異筋の寄せ方です。この手でも後手優勢ですが、代えて△7四歩の方がシンプルです。△7四歩なら以下、▲8六玉△7五歩▲同玉△6三桂で詰みです。

▲8七歩 △7六銀 ▲5一角 △4二銀 ▲同角成 △同 玉▲8六歩 △7九角 ▲8八銀 △7八角 ▲8二飛 △5二銀 ▲投了
まで96手で後手の勝ち。

63手目の検討 ▲3四桂とした場合

▲3四桂以下、△同銀右▲同歩△同銀▲5三歩成△同金▲3三歩打△同桂▲4一金

▲4一金は▲3一角打ちを狙っています。この順のほうが優っているようです。

将棋ソフトによる評価値

将棋ソフトによる評価値

角換わり早繰り銀のおすすめの棋書

第33期竜王戦第一局 ▲羽生善治vs△豊島将之 53手の決着

▲7六歩 △8四歩 ▲6八銀 △3四歩 ▲7七銀 △7四歩 ▲2六歩 △8五歩 ▲2五歩 △7三桂

早い段階での△7四歩~△7三桂は最近指されるようになりました。次に▲2四歩なら、△同歩▲同飛△6五桂▲6六銀△5七桂不成として後手有利です。

▲7八金 △3三角 ▲5六歩 △6四歩 ▲7九角 △6五桂 ▲2四歩

普通は銀取りを受けるところですが、先手は攻め合う順を選択します。

△同 歩 ▲同 角 △7七桂成

次に▲3三角成△同桂▲9五角なら、△4二玉▲7七角△2二歩で局面が収まってしまうので▲3三角成の順はダメです。

▲同 桂 △6二金

▲7三角の筋を受けている。

▲3三角成 △同 桂 ▲5五角 △2七歩

豊島の好手。次に▲3三角成なら、△4二銀打▲同馬△同玉▲2七飛△8九角打として後手優勢。

▲同 飛 △4五桂 ▲1一角成 △8六歩▲同 歩 △8九角 ▲7九金 △6七角成 ▲6三歩 △5二金右 ▲6八香 △7六馬 ▲6九桂

▲6三歩から▲6八香~▲6九桂とした局面。羽生は単に6九桂として△5七桂成を受けるのではなく、▲6八香を入れた方が得だと判断している。▲6八香は▲6四香と走る展開にならなそうなので、打ちにくい手です。

△8六飛▲5五馬 △4四歩 ▲2三飛成

△4四歩は桂取りを受けつつ、▲2一飛成を防いでいます。本譜▲2三飛成に代えて▲5八金ならまだまだ難しい将棋だったようです。本局は羽生の作戦負けになってしまいました。

△3二銀 ▲2二龍 △5七銀 ▲6四馬 △6八銀不成 ▲同 金 △8八飛成
▲6五桂 △5七香 ▲投了
まで52手で後手の勝ち

竜王戦第2局の解説はこちらです。