将棋棋士の藤井聡太氏が現役中学生として初の六段昇段を決める

5人目の中学生将棋棋士として有名となった藤井聡太氏が2月17日付で六段昇段を決めた. 将棋棋士は四段昇段後からプロということになるが, 現役中学生がプロ棋士の六段に昇段したのは史上初である. また、これは最年少記録である。

なお、五段に昇段した唯一の中学生でもあるが、過去に中学在学中に昇段を内定させていた棋士として加藤一二三氏がいる。
また、五段昇段の最年少記録は加藤一二三氏である。

なお, 藤井聡太六段には最年少七段の記録を狙う機会がまだ残っている.
2018年度までに条件を満たす機会が残っている棋戦と昇段条件は次のとおりである.

  • 第66期王座戦 (2018年9月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点で二次予選進出)
  • 第44期棋王戦 (2018年9月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点では予選対局待ち)
  • 第31期竜王戦 (2018年12月頃) 今期で4組昇級を果たすと連続昇級により段位が1つ昇段 (執筆時点で昇級まであと3勝)
  • 第68期王将戦 (2019年1月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点では一次予選進行中)

他のタイトル戦の昇段規定と最年少記録の更新の関係は次のとおり

  • 第77期及び第78期順位戦 (2020年3月頃) 2018年度に所属するC1級で昇級を決めると B2 級へ、さらに B2 級で昇級を決めると B1級順位戦への昇級となり、この時点で七段になっていない場合は七段になれる. 順位戦は飛び級規定が存在しないため、順位戦の昇段規定では加藤一二三氏の最年少七段及び最年少八段の記録は更新できない。なお、名人戦への挑戦権を獲得するには、さらに上のA級順位戦で優勝する必要がある。名人獲得で九段昇段となるのは理論上最速で2022年5月となる。
    よって、最年少九段の達成は順位戦・名人戦でも可能である。
  • 第31期竜王戦 (2018年12月頃) 今期で4組昇級を果たすことができれば七段へ昇段することは前述のとおり。さらに, ランキング戦5組優勝を果たし、
    竜王挑戦トーナメントで竜王挑戦権を得て竜王を獲得できれば八段へ昇段となる。
  • 第32期竜王戦 (2019年12月頃) 前期で5組残留となった場合は4組昇級だけでは「連続昇級」の要件に該当しないので七段へ昇段することはできない。ただし, ランキング戦5組優勝を果たし、竜王挑戦トーナメントで竜王挑戦権を得た時点で七段昇段となる。竜王を獲得できれば八段へ昇段となる。
  • 第4期叡王戦 (2019年6月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点では段位別予選の組み合わせ決定待ち)
  • 第60期王位戦 (2019年9月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点では第59期王位戦予選敗退)
  • 第90期棋聖戦 (2019年7月頃) タイトル獲得すると六段以下の棋士に限り七段へ昇段 (執筆時点では第89期棋聖戦予選敗退)

他、最年少段位獲得記録を更新するには、実質的に次の条件を早期に満たすこととなる。(勝数規定では最年少段位獲得記録の更新には間に合わない)

  • 最年少七段達成:いずれかのタイトル獲得、NHK杯テレビ将棋トーナメント優勝、朝日杯将棋オープン戦優勝のうちのいずれかを2020年11月までに達成する。
  • 最年少八段達成:竜王獲得を2021年11月までに達成する。第31期または第32期であればフルセット勝負でも間に合うが、第33期の場合は4勝0敗で奪取しないと日程上最年少記録を更新できない。
  • 最年少九段達成:第80期(2023年)までに名人獲得、第36期(2023年)までに竜王2期獲得、タイトル3期獲得かつ八段昇段(順位戦A級昇級か竜王1期獲得)のうちのいずれかを2024年3月までに達成する。

なお, 歴代の最年少昇段記録は追記のとおりで合っているはず. (誤りがあればコメントで指摘願います)

将棋の最年少昇段記録
段位 記録保持者 昇段日 昇段時年齢 昇段理由
四段 藤井聡太 2016年10月1日 14歳2か月 第59回(2016年度前期)三段リーグ1位
五段 加藤一二三 1955年4月1日 15歳3か月 順位戦C級1組へ昇級 (第9期(1955年度)順位戦C級2組西組1位)
六段 藤井聡太 2018年2月17日 15歳6か月 五段昇段後全棋士参加棋戦優勝 (第11回朝日杯将棋オープン戦優勝)
七段 加藤一二三 1957年4月1日 17歳3か月 順位戦B級1組へ昇級 (第11期(1957年度)順位戦B級2組1位)
八段 加藤一二三 1958年4月1日 18歳3か月 順位戦A級へ昇級 (第12期(1958年度)順位戦B級1組2位)
九段 渡辺明 2005年11月30日 21歳7か月 竜王位2期

将棋棋士の藤井聡太氏が現役中学生として初の五段昇段を決める

5人目の中学生将棋棋士として有名となった藤井聡太氏が2月1日付で五段昇段を決めた. 将棋棋士は四段昇段後からプロということになるが, 現役中学生がプロ棋士の五段に昇段したのは史上初である. なお, 最年少記録の塗り替えではない (早生まれの加藤一二三氏が最年少記録: 当時は規定を満たしても年度が替わるまで原則として昇段しなかった).

なお, 藤井聡太五段には最年少六段の記録を狙う機会がまだ残っている.
2018年中に条件を満たす機会が残っている棋戦と昇段条件は次のとおりである.

  • 第11期朝日杯将棋オープン戦 (2018年2月17日) で優勝すると六段以下の棋士に限り段位が1つ昇段 (執筆時点で準決勝進出)
  • 第66期王座戦 (2018年9月頃) タイトル挑戦者になると五段以下の棋士に限り段位が1つ昇段 (執筆時点で二次予選進出)
  • 第44期棋王戦 (2018年9月頃) タイトル挑戦者になると五段以下の棋士に限り段位が1つ昇段 (執筆時点では予選対局待ち)
  • 第31期竜王戦 (2018年12月頃) 今期で4組昇級を果たすと連続昇級により段位が1つ昇段 (執筆時点で昇級まであと3勝)
  • 第68期王将戦 (2018年12月頃) タイトル挑戦者になると五段以下の棋士に限り段位が1つ昇段 (執筆時点では予選対局待ち)

なお, 歴代の最年少昇段記録は次のとおりで合っているはず. (誤りがあればコメントで指摘願います)

将棋の最年少昇段記録
段位 記録保持者 昇段日 昇段時年齢 昇段理由
四段 藤井聡太 2016年10月1日 14歳2か月 第59回(2016年度前期)三段リーグ1位
五段 加藤一二三 1955年4月1日 15歳3か月 順位戦C級1組へ昇級 (第9期(1955年度)順位戦C級2組西組1位)
六段 加藤一二三 1956年4月1日 16歳3か月 順位戦B級2組へ昇級 (第10期(1956年度)順位戦C級1組2位)
七段 加藤一二三 1957年4月1日 17歳3か月 順位戦B級1組へ昇級 (第11期(1957年度)順位戦B級2組1位)
八段 加藤一二三 1958年4月1日 18歳3か月 順位戦A級へ昇級 (第12期(1958年度)順位戦B級1組2位)
九段 渡辺明 2005年11月30日 21歳7か月 竜王位2期

四角形の頂点の座標から四角形の面積を得る

三角形(頂点を A, B, C とし、その対辺の長さをそれぞれ a, b, c とする)の面積を求める方法には、次のものが知られている。

  • (底辺)×(高さ)÷2
  • (1/2)ab sinC
  • ヘロンの公式(Heron's formula): √(s(s-a)(s-b)(s-c)), ただし, s=(a+b+c)/2

では、これを四角形に拡張できないものかと考えていたが、すでにブレートシュナイダーの公式(Bretschneider's formula)が存在することが知られている(ブラーマグプタの公式(Brahmagupta's formula)では四角形が円に内接するという条件が必要であるためプログラムには適さない)。四角形(頂点を順にA, B, C, D とし, AB=p, BC=q, CD=r, DA=s)に対応するブレートシュナイダーの公式は次のとおりである。

√((T-p)(T-q)(T-r)(T-s)-pqrscos2((A+C)/2))), ただし, T=(p+q+r+s)/2

ただし、今回の場合は頂点の座標から p, q, r, s, ∠A, ∠C を導出する必要がある.よって, 与えられた頂点の座標を四角形の頂点の順番に並べ替えなければならない.

いろんな方法を模索している中で、次の記述を発見した。

  1. x座標が小さい順番に並べ、それぞれの点を P1, P2, P3, P4 とする.
    • P1y<P2yのとき
      • P3y>P3yとなるように
        P3, P4を入れ替える.
    • P1y>P2yのとき
      • P3y<P3yとなるように
        P3, P4を入れ替える.

一見してよさそうに見えるが, ∠P3が平角よりも大きくなる場合はうまくいかない. それどころか,
P2P3を入れ替えてもなお四角形となる場合があることに気づいてしまった.
なので, 座標だけを与えられても凹四角形の場合はうまくいかないことが判明した...

よって、頂点の座標から四角形の面積を計算する場合は、次のような設計を考えなければならない.

  • 入力者は頂点の座標を四角形の頂点の順序となるように入力する.
  • 面積を算出する側は与えられた頂点座標から四角形が描けることを確認してから角度と辺の長さを計算しブレートシュナイダーの公式を適用する.

ということで、現在、面積を算出する側は与えられた頂点座標から四角形が描けることを確認する手段を思索中である.
おそらく, 内角の和が 2π になることは四角形であることの必要十分条件であることをいえばいいはずなのだが...

もうちょっと考えてみた

ENDYMION BSP 初クリア

DanceDanceRevolution A の最終ボス曲と目される ENDYMION.

ENCORE EXTRA STAGE に進むためには BASIC 以上の難易度を選択して AA+ 以上の評価 (950000 点以上)を獲得してクリアしなければならないが,
そもそもクリアまでに至っていなかったところである.

私の運動能力では, スコアを狙って遊べる難易度の上限がレベル 10 以下,
何とかクリアできるレベルが 12 以下といったところである.
13 以下はクリアもおぼつかない場合がほとんどであるが, Valkyrie Dimension BASIC (レベル 13) は
SINGLE, DOUBLE ともクリアはできた.

ENDYMION SINGLE の挑戦 5 回目にして初クリア. リザルトは下記キャプチャのとおり.
AA+ 以上の評価にはまだまだ遠い...

ENDYMION BSP リザルト画面
ENDYMION SINGLE BASIC 初クリア時のリザルト画面

羽生善治氏が竜王位を奪取し全永世称号獲得達成

今日はたまたま仕事が休みだったので, 竜王戦のネット中継を鑑賞していた. ちょうど挑戦者の羽生善治棋聖 (他に保持していた王位、王座は今年度中に失冠) が竜王戦七番勝負を三勝一敗で迎えていたところであった. 竜王戦の対局は持ち時間が八時間で二日制の対局であり, 今日が二日目であった.

手元に将棋ソフトを用意してネット中継を聞きつつ盤面を検討しながら鑑賞していた (時代は変わったものだ...) ところ, 昼食休憩前には大勢は決していたようだ.

最後は分かりやすく詰みの場面まで進んだ後, 渡辺明竜王の投了をもって羽生善治棋聖の竜王位奪取が確定し, 通算七期の竜王位獲得により永世竜王の称号が贈られることとなった.

羽生善治氏がプロデビューしたのは昭和60年 (1985年). 以来, ずっと第一線を走り続けてきたその力には畏敬の念を抱くばかりである.

永世称号の獲得条件一覧

第48回衆議院議員総選挙 ...と, 最高裁判所裁判官国民審査

衆議院議員総選挙についてはきちんと投票を行い権利をしっかりと行使した.

最高裁判所裁判官国民審査も当然権利を行使してきたわけであるが... この最高裁裁判官の国民審査は情報を収集するのが非常に面倒くさい.

最高裁判所でどのように審理を進めているのかは正直なところよくわからない. もちろん, きちんと公開されていることは承知しているが,
各事件に対して判断が適切だったか否かについてはその事件の背景についてきちんと知っておかないといけないわけである. 普段, そこまで気にして情報収集できているかと言われると自信がない. それでも, 自分なりに考え, 信任すべきか罷免すべきか意見を出したつもりである.

結果はどうあれ, 自分が投じた票が一国民の意見として尊重されればよいと思っている.

パソコンが壊れた

突然, PC のデスクトップの画面が大きく乱れて再起動がかかってしまい,
何も映らなくなってしまった. しばらく時間をおいて電源を再投入するが, 立ち上げの途中で画面が著しく乱れてしまい手の施しようがなかった.

仕方がない. PC を買い替えることにしよう...

そして1週間後...

boost with Autotools

C++言語では boost ライブラリが有志で作成されており, 一部が C++ 言語の仕様に取り入れられているほどである.

しかしながら, あくまで C++ 言語で使用することを想定しているため, GNU Build System (Autotools) で configure スクリプトを作成するには工夫が必要であった.

以下, 筆者が行った作業を列挙してみる.

  1. Autoconf ArchiveThe macros から ax_boost_base の他, 必要なマクロ (ax_boost_xxx をダウンロードし, 開発パッケージの適当な場所 (以下, ./m4 ディレクトリと仮定) に保存する.
  2. configure.acAX_BOOST_BASE と, 必要に応じたマクロ (例えば, boost::iostreams を使うのならば AX_BOOST_IOSTREAMS を記載する. なお, AX_BOOST_BASE は他の AX_BOOST_xxx よりも前に記述する必要がある.
  3. Makefile.amACLOCAL_AMFLAGS = -I ./m4, AM_CPPFLAGS = @BOOST_CPPFLAGS@, AM_LDFLAGS = @BOOST_LDFLAGS@ 及び program_LDADD = @BOOST_xxx_LIB@ を記載する. (xxx は BOOST ライブラリ名)

これで, aclocal && autoheader && autoconf && automake && ./configure とすれば configure スクリプトが出来上がり, make でコンパイルできるようになる. さらに, make dist-xx で, 上記マクロを含んだアーカイブも作成できる.

Msys2 で扱う Mingw の BOOST パッケージでは, 明示的に configure スクリプトにライブラリの場所を提示しなければならないようだ. つまり, コンパイルをするときに ./configure --with-boost-libdir=/mingw64/lib などといったオプションをつける必要がある. これを忘れると, なぜかコンパイラがライブラリの場所を探せなくて下記のようなエラーが表示されてしまう.

  • checking for boostlib >= 1.20.0... yes
  • checking whether the Boost::IOStreams library is available... yes
  • configure: error: Could not find a version of the library!

固定資産税の納税通知書が到着

家を買ったなら, もれなくついて回るのが固定資産税の納税義務. 今回, 家を購入して初めての年越しを迎えたので, 固定資産税の納税通知書も初めて受け取ることになる. 住宅購入のときに相談していた不動産店が話していたものとそれほど相違ない額面であった. とりあえず納めるものは納めて, 約束どおり, 弟にはこの分を負担してもらおう.