Ryzen 2700Xで自作PCを組んだ

Ryzen7 2700Xで自作PCを組みました.
以前は2600Kが乗ったBTOのパソコンのパーツを取り換えながら7年間使っていましたが,先日起動しなくなったので仕方なく組みました.
動いていたらまだ2600Kおじさんのままだったと思います(掃除して組みなおしたら起動してしまったのでサブPCとして2600Kは使い続けそう…).

旧PC

パーツ 型番
CPU Intel Core i7 2600K (定格)
GPU 玄人志向 GF-GTX1060-6GB/OC/DF
OS Microsoft Windows 10 Pro
M/B ECS P67H2-A4
メモリ 謎メーカー DDR3 14GB(3x2GB+1x8GB)
SSD CFD CSSD-S6T256NHG5Q
HDD1 Western Digital Green 2TB
HDD2 TOSHIBA 3TB
ケース
電源 V750 Semi-Modular RS750-AMAAG1-JP
CPUクーラー
Sound Card Creative Sound Blaster Z
USB-DAC FOSTEX HP-A4
TV Board Earth Soft PT3

新PC

買ったお店と値段も書いておきます.価格.com最安値のところでそろえていきました. トータルで新規に買ったパーツが15万円,流用したものを含めると20万くらいでした.

f:id:shamal_ref:20180820122540j:plain
パーツ達

CPU: AMD Ryzen7 2700X

Amazon 32,350円
Ryzen第2世代の上位モデルです.オーバークロックはしてませんしする予定もありません.
8コアあるのでマラソンのテストケース回すのが捗りそうです.

GPU: 玄人志向 GF-GTX1060-6GB/OC/DF(流用)

Amazon 28,418円
予算が無いので使い回しです.PUBGを中間画質でやるのであれば十分な性能があります.GPUを買い替えるとしたら次世代が出たらですね.

OS: Microsoft Windows 10 Pro

Amazon 23,919円
HomeでもよかったですがHyper-Vとか使いたくなった時のことを考えてProにしました. これだけは任意の店の最安値ではなくある程度有名な店の最安値のものを買いました.

M/B: AsRock X470 MASTER SLI

パソコン工房 17,254円
なるべく安くて拡張性がありそうなものを選びました.ASUSのPrime X470-PROと迷いましたが値段が安かったのでこちらにしました.
マザボやらファンやらを光らせるのが流行っているみたいですが,正直無駄な機能は省いてほしいと思ってます.

メモリ: G.Skill SNIPER X F4-3400C16D-16GSXW

ark 29,990円
Ryzenはメモリ周りがシビアらしいので"Compatible with Ryzen"を謳っているこちらのメモリにしました. メモリ側のQVLには"X470 MASTER SLI"は載っていませんがマザボ側のQVLにはこちらのメモリが載っていました. QVLによると3466MHzでも動作させられるみたいです.
4Gamerの記事によると,Ryzenの評価キットに同封されているみたいです.

実際にXMPで3400MHzに設定してレイテンシもいじらず安定動作しています.はじめ,マザボの1,2番目のスロットにつけていたためシングルチャネル動作になっていた上に2933MHzまでしか安定動作しませんでしたが,マザボの説明書を見直して1,3番目のスロットに付け直したところ,デュアルチャネルで3400MHzで動作するようになりました.当たり前ですがやはり取説をしっかり読むのは大切なことだと気付かされました.

チップはRyzenと相性の良いSamsungのB-dieが使われているようでした.
f:id:shamal_ref:20180820104445p:plain

1つ注意があって,ほかのSNIPER Xシリーズは基本的にRyzen対応は謳っていません.このF4-3400C16D-16GSXWだけのはずです.
SNIPER Xで3600MHz対応のF4-3600C19D-16GSXWBが2万円くらいですが,これは3400MHzなのに3万円近くします.ちなみにF4-3600C19D-16GSXWBはこちらの記事によると,Hynixのチップが使われているようです.

SSD: Intel 545s SSDSC2KW512G8X1

パソコン工房 12,398円
安心のIntelSSDです.NVMeの超速いSSDと迷いましたが発熱,体感速度なにより価格を考えてこちらにしました.
最近,格安SSDが粗悪なチップを使っているのではないかという話題が上がっていますが,Cドライブに使うSSDは多少高くても品質が保証されているものを使うべきだと思います.ゲームなど消えても入れ直せるデータは格安SSDでもいいかもしれませんが.

HDD: Western Digital Blue 4TB WD40EZRZ-RT2

NTT-X Store 9,361円
今まで使っていた2台のHDDは使うのをやめて,これ1台にしました.静かで速くて良いです.

ケース: Fractal Design Define R6

TSUKUMO 16,178円
見た目がシンプルでファンも3つ(前面1,背面2)付いてくるのでこれにしました. そこそこ静かですが,期待していたほどではありませんでした.

電源: Cooler Master V750 Semi-Modular RS750-AMAAG1-JP

TSUKUMO 10,750円
以前から使っていて特に問題はないのでまたこれを買いました.本当はCorsairのフルモジュラが良かったのですが高いので止めました….

CPUクーラー: サイズ 虎徹 Mark Ⅱ

パソコン工房 3,457円
安くて価格.comでも評判が良かったのでこれにしました.
グリスはThermal GrizzryのKryonautを使いました. 室温26度でアイドル時に10分間放置したときの平均が33.3度(HWiNFO64のTdie)です.高いのか低いのかよくわかりません…. PUBGをやっているときは平均50度前後です. 温度に関してはまたデータを取ったら記事にしようかと思います.

Sound Card: Creative Sound Blaster Z(流用)

Amazon 10,599円
マイクと光入力しか使っていません.出力はHP-A4にやらせてます.

USB-DAC: FOSTEX HP-A4(流用)

ヨドバシカメラ 27000円くらい
価格.comで評判が良かった + 実際に前世代のHP-A3を使わせてもらって良かったのでこれにしました.
ヘッドホンはAKG K712 PROを使ってます.

TV Board: Earth Soft PT3(流用)

ドスパラ 9500円くらい
一応刺さってますが,録画はテレビでするようになったのであまり使っていません.

TopCoder Open 2018 MarathonMatch Poland Lightning Round メモ

問題

 H \times Wの盤面が与えられる.それぞれのマスは領域に分かれている(領域には飛地もある).また,どのマスも5色以下の色で塗られている. このとき,領域に以下の制約を満たすように領域に色を塗る.

制約

  • 領域同士が辺で接している場合,それらの領域は違う色であること.
  • ただしなるべく少ない色を使うこと.
  • また,できるだけ元の色を保持できること.

1日目

問題を確認したつもりになる.色数を減らせばいい問題だと認識したが,まったく解法が思いつかない.
その日はほかに用事があったのでコードは全く書いていない.

2日目

とりあえずランダムに色を塗るプログラムを書く.
ただこれはめちゃくちゃ性能が悪くて,1時間回しても10色とかそこらへんの解しか出ない. 投げてみると100位付近….

3日目

「graph coloring local search」とか「graph coloring simulated annealing」とかで検索してみる.
お手軽そうな焼きなまし法のPDFを見つけたので実装.内容を簡単に下にまとめておく.正直これで本当に制約を満たす解が見つけるのか疑問だったが,動かしてみると普通に見つかって感動した. https://arxiv.org/abs/1712.00709

PDF に載ってる焼きなましの概要

  • 初めに使う色数を決めておく.( 大体どの問題も6,7色で落ち着いたので余裕をみて8色から試していった)
  • 頂点にランダムに色を割り振る(この時点ではColoringの制約に違反している).
  • 近傍解: 適当な頂点の色の変更で作る
  • 目的関数: 両端の頂点の色が同じ辺の数 (最小化)
  • 目的関数が0になればColoringできたことになる.

まず愚直に実装して投げてみると90位くらいだった.そのあとパラメータを見直して,6色で塗れる数が多くなると75位くらいにはなった.
この時点ではまだ,oldColorsとの差は考えていなかった.
彩色が終わったグラフに頂点の色を変える山登り(もちろんColoringの制約が壊れないように)で塗り替え数を少なくなるようにしたらまた順位が上がって70位付近.
そのあと塗り替え部分も焼きなましにしたり,高速化したりでprevが56位だった.

最終的な解法とExample

8色で塗れるか焼きなましを試す.塗れたら7,6色と試していく. もし焼きなましが時間内で終わりそうになかったら,残り時間は塗り替え数を少なくするための焼きなましに使う. ちなみにシード1から400では73%が6色で,他23%は7色で塗ることができた.
Example scores:
0) 700351.0
1) 730551.0
2) 608070.0
3) 721516.0
4) 602872.0
5) 604814.0
6) 612986.0
7) 611629.0
8) 604774.0
9) 606147.0

コンテスト終了後

Twitter見てて自分がスコアリングを全く理解していないことに気づいた.
rawスコアは100000*色数 + 塗り替えた色数で計算されて,自分はこれが最終スコアかと思っていた.
が,実際にはほかの人の解のうち最も色数 C_{min}が少ないものと塗り直し数 P_{min}が少ないものと自分の解で計算される \frac{C_{min}}{C_{your}} \times \frac{P_{min}}{P_{your}}がスコアとして使われる.
問題はしっかり読もう.ちなみに色数の焼きなましを5秒で打ち切って,残り5秒を塗り替え数を減らすようにした場合は下みたいな感じになりました. 6)は色が7色に増えてしまっていますが,塗り直し数が減ってるのでこっちのほうがいい解です. 時間を増やしても劇的に変化していないので,自分の実装した焼きなましだとあまり塗り直しは減らせてないみたいでした.
Example Scores:
0) 700351
1) 727464
2) 608070
3) 720114
4) 602663
5) 604814
6) 710964
7) 611585
8) 604747
9) 606147

TopCoder Marathon Match 100 - SameColorPairs メモ

問題

 H \times W (10 \leq H, W \leq 100)の盤面のそれぞれのセルに C (1 \leq C \leq 6)色のうちの一色のタイルが置かれている. 同じ色のタイルを2枚選んでその2枚のタイルの作る矩形の中に違う色のタイルがないときに2枚のタイルを除去できる. なるべく多くのタイルを除去せよ.
上位3名に賞金,50位以上だとTシャツがもらえる.

結果

prev: 32位
システス: 33位
無事にTシャツをゲットしました!!

思考過程と方針

選択肢が多すぎる & 盤面の評価どうする? → ビームサーチは難しそう.それなら焼きなましか → 操作の順番が重要なので簡単に近傍が作れなさそう.最適解はたくさんありそうなのでランダムでもある程度行けるのでは??という感じでランダムで行くことにしました.
適当にタイルを選んで消せるか試し,消せるタイルがなくなるまで試していく感じです.まず単純にこれを実装して投げるとまあまあいい感じでした.そこから定数倍高速化したりしました.
最後にもうこれ以上高速化できなさそうだったので,苦肉の策として数回に一回,そこまでのベストな解の後ろを少し戻して最後のほうだけランダムに探索するようにしました.これのおかげで0.3%くらいローカルで改善しました.
ちなみに上位の方たちは盤面を分割して焼きなまししていたみたいです.まだどういう感じだったのか完全に理解しきれていないので,コードが見られるようになったら見てみたいと思います.
5月にはTCOもあるので楽しみですね.

第2回 RCO日本橋ハーフマラソン 予選

第2回 RCO日本橋ハーフマラソン 予選に参加しました. 結果は168位とよくありませんでした. 問題はコンテストページに譲って解法だけ書きます.

A - ゲーム実況者Xの挑戦

コマンドをランダムに生成,そのコマンドで全部のステージを操作して最終的に一番コインを稼げたステージ上位8個を選ぶ.

B - ゲーム実況者Xのデフラグ

スワップ回数が4000回までなので,0から3999までのセクタをきれいに並べる.

どちらも簡単な解法をとりあえず出して,そのあとに考えようとしました.が,簡単な解法をバグらせて結局そこから先には進めませんでした.短時間で正確に実装できる力が欲しいです.

Raspberry Pi 2(Arch Linux)をREGZA(43J10X)のLAN-HDDに設定する

Samba on Arch Linux on Raspberry Pi 2をREGZA 43J10XのLAN-HDDに登録する方法を説明します.
もともと自分は録画はPT3でやっていて,一人暮らしを始めるときにREGZAを買いましたが結局PT3で録画をしています.
録画した動画の再生方法ですが,

  1. PCで録画,PCとREGZAHDMIでつないでPCで再生
  2. PCで録画,USBメモリに動画をコピー,REGZAで再生
  3. NAS上に録画,NAS上の動画をREGZAで再生

の3つがあります.ただ,1は見るだけなのにPCを操作しないといけない(リモコンだけで視聴できるほうが良い),2はコピーが面倒ということで3が一番楽です. あと1だとせっかくのREGZAのフレーム補間がうまくかからないので画質の面でも劣ります.

今自分にはNASを買えるだけの余裕がないので,家に転がっていたRaspberry PiにSambaを入れて簡易NASを構築しました.
Raspberry PiにはArch Linuxが導入済みということで話を進めます.以下の方法ではREGZAから認証無しに,ゲストとして接続できるようにします.

1. Sambaの導入

pacman -S samba

2. Sambaの設定

2-1. Raspiberry Pi起動時に自動で起動

$ systemctl enable smbd nmbd

2-2. 設定ファイルの編集

以下の必要なところを変更し /etc/samba/smb.conf に保存する.

[global] #全体の設定
dos charset = CP932
server string = Raspberry Pi
syslog = yes
log file = /var/log/samba/log.%m
max log size = 1000
unix extensions = no
dns proxy = no

map to guest = Bad User
guest account = user_name #ゲストとしてアクセスしてきたユーザにどのユーザーを割り振るか.自分がいつも使ってるユーザ
ntlm auth = yes #NTLMv1はデフォルトで無効にされてしまっている.NTLMv2にREGZAが対応していないのでv1を有効にする.


[NAS]
comment = Raspi-NAS
path = /var/lib/samba/shared #共有するフォルダ
read only = no
guest ok = yes
browseable = yes
writable = yes

2-3. Sambaユーザーの追加

Samba用にユーザーを追加します.(もしかしたらいらないかも)
パスワードはLinuxのパスワードと一致しなくても構いませんが,ユーザー名は一致させないといけません.

$ pdbedit -a -u user_name

2-4. Sambaの起動

$ systemctl start smbd nmbd

REGZA側で 設定→接続機器設定→LANハードディスクの登録 から登録を行えば完了です. f:id:shamal_ref:20180125015716j:plain

秋ABの反省 & 2018年の目標

秋ABの反省

単位修得

数理アルゴリズムとシミュレーションとオートマトン形式言語はテストの結果が微妙すぎて取れているか微妙でしたが取れてました.
A評価は体育と計算モデル論だけでした.大学院の推薦は春ABの時点であきらめていましたが,今回の結果でもらえないことが確定しました.

普段の生活

ネトゲばっかりやっていました.マラソンマッチがあるときはそっちもやりましたが,ネトゲ中心の生活でした.なんのために大学に来たんだ.

2018年の目標

  • 院試に合格する
  • AtCoderでレート1800以上(青中盤)になる
  • TopCoderマラソンでレート1800(黄色中盤)になる
  • 規則的な生活
  • 適度な運動
  • 英語の勉強

いろいろ高い目標を上げましたが,できる限り達成したいと思います.
あと時間があれば以下も.