ToDo:
Codeforces & Microsoft の量子プロコンで触った。
http://codeforces.com/contest/1002/
最後の問題解けなかったのは、サイズ N の配列を返さないといけないところに、 N+1 個返してたからぽかった。残念すぎる。
問題セットはwarmupも含めてすごく良い感じだったと思う。解けないほど難しい問題はなくて、基本的かつ教育的な、僕にとっては「そういえばそんな話があった気もするなあ……」くらいの問題が並んでいる感じ。そういう全部解かれる前提の問題設計だったのか、そもそも量子情報で「あまりよく知られていなくて、量子性を利用していて面白く、十分に難しく、古典でのシミュレーションで実行できる」みたいな条件がそろう問題ってあまりないのか、まあどっちかというと後者なんじゃないかなと思うけど、それにしても基礎的な問題が多かった印象
ただ D1 と E1 の方が量子の面白さを伝える感じなのに対して、 D2 と E2 はひっかけ問題チックなので、イマイチかなあ…と思った。 E2 が時間かけたのにも関わらず解けなかった問題なので、言い訳くさいけど。
Q# は、言語としてもシミュレータを含めた環境としても、なかなかよくできているなあと思った。古典情報と量子情報の往復の部分とかは、そのまんま自力で書く感じ。量子→古典の移動は、観測を伴ってしまうので、まぁ明示的に書かせるのが良いのではないかと思う。あまりトランスペアレントにしたくないかなと。
一方で古典→量子の移動、要するに Qubit の初期化の部分は、これはなんか適当な状態を自由に作る手段があっても良いのかなあ……と思った。アルゴリズム考えてる時とか、「仮にこういう状態が作れるとしたら、こういうアルゴリズムは作れるだろうか?」と考えてから、「実際その状態、作れるの?」と考えたいこともあるんじゃないかなあ、と。シミュレータならいきなりそういう状態で初期化してくれれば良いし、実機では適当に精度指定すると存在するオペレーションでやってみてくれて、合成できない(オペレーション数が多すぎる場合も含めて)場合はエラーにする、とかで良い気がする。
PrepareArbitraryState というライブラリ関数もあるのだけど、 W state 作る問題で使ってみたら遅すぎるようだった。
(00:50)
https://drive.google.com/file/d/1QlDRAyAN926YoBuBb9auo4WZdhCyh7fC/view
面白い…
(14:16)
名古屋の宿の近くに、死ね金返せ系の落書きがたくさんある旅館があって怖かった
https://www.instagram.com/explore/tags/%E6%97%85%E9%A4%A8%E5%A4%A7%E6%9D%BE/
こういうの実在するんだな……バキの家みたいって思ったら、2chとかでも同じこと言ってて笑った
(14:20)
仕事にも使う予定なので、 Debian は微妙かなあと Ubuntu にすることにして、 16.04 はちょっと微妙問題があったので、 Ubuntu 18.04 でいってみることに
何度もする作業をメモ
最初にすべきこと
scp "i@xxx:.*" . sudo apt-get install ssh screen zsh chsh sudo apt-get install git subversion g++ make gauche ruby python3 python3-pip lv scp -r i@xxx:bin . scp -r i@xxx:lib . zsh git clone git@github.com:shinh/test.git svn co $SVN wrk cd ~/wrk/fake_isatty sh build.sh
sevilwm
apt -i libxrandr-dev cd ~/wrk/sevilwm rsync -avr "i@xxx:wrk/sevilwm/dev" . make sudo cp sevilwm /usr/local/bin
w3m
apt -i libgc-dev libimlib2-dev libncurses-dev scp -r i@xxx:.w3m . cd ~/wrk git clone git@github.com:shinh/w3m.git cd w3m ./configure && m sudo make install
apt-file
apt -i apt-file sudo apt-file update
適当に色々。 sevilwm に切り替える準備
apt -i ghc ocaml rlwrap emacs wicd gkrellm xscreensaver feh apt -i mlterm scp -r i@xxx:.mlterm . sudo vi /usr/share/xsessions/custom.desktop [Desktop Entry] Name=Custom Exec=/etc/X11/Xsession
CUDA
apt -i mesa-utils # follow nvidia's instruction for CUDA... sudo apt-get install -o Dpkg::Options::="--force-overwrite" cuda-9-0 sudo dpkg -i libcudnn*.deb
MLフレームワーク
pip3 install cupy # gcc-7 でコンパイル通らんので編集 # sudo vi /usr/local/cuda/targets/x86_64-linux/include/crt/host_config.h pip3 install cupy pip3 install chainer pip3 install tensorflow
UIM SKK
apt -i uim-skk ddskk uim-pref-gtk3
忘れがちな開発ツールまわりの
apt -i autoconf automake libtool texinfo flex bison glibc-doc libc6-dev:i386 libgcc-7-dev:i386 libstdc++-7-dev:i386 lib32gcc-7-dev valgrind
(20:38)
前 | 2018年 7月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。