SlideShare a Scribd company logo
1 of 56
Download to read offline
テトリミノの
偏り補正から見る
テトリスの歴史
2019/12/10 レトロゲーム勉強会#04
eagle0wl
自己
紹介
自己紹介
• 情報セキュリティ会社勤務
• ゲームに関する仕事をしています?
• ゲームに関する本を書いています
• 今年度末までに脱稿させます
• 前回勉強会(2019/4)
前前回勉強会(2018/8)の予定では
「発売済み」のはずだったが…
• レトロゲーム勉強会LT皆勤
• #01 『主にマジコンの話を振り返る』
• #02 『レトロブライトを試してみた』
• #03 『和製レトロゲームの珍翻訳・良翻訳』
おことわり
おことわり
• 「テトリス」「テトリミノ」の名称
• それに付随するロゴ
• テトリスホールディングが所有する登録商標です
• 商業製品では®マークがついています
おことわり
• 雑な翻訳
• 著作権表記やロゴに「TETRIS®」と付くのはわかる
• ゲーム中で4列消しを行った時の「TETRIS」表示でも
®を自己主張するタイトルがある
『テトリス アルティメット』
(テトリス生誕30周年にリリースされた、クソゲーオブザイヤー2015ノミネートタイトル)
英語版は®表記なし
テト
リス
テトリス
• 2019年はテトリス生誕35周年 (1984-)
• 初版はElectronica 60 (PDPクローン機) 向け
• 文字しか表示できない
• 開発当時を考慮しても貧弱なスペック(東側なので…)
画像:https://tetris.wiki/Tetris_(Electronika_60)
テトリス
• プラットフォーム合算での累計販売本数
• 1億7000万本~4億本
• 今年マインクラフト (1億7600万本) に抜かれたらしい?
• (テトリス側の計算方法に諸説あるため話半分)
• もともとは西側諸国の生産性を落とすためにソ連
が作ったサイバー兵器教育用ソフト
• 人々に効率よく単純労働をさせる仕組みの研究から
生まれたらしい
ポケモンの石原恒和氏がゲーミフィケーションについて語ったセッションをレポート
https://www.4gamer.net/games/316/G031663/20191003028/
日本におけるテトリス
• 1988年 アーケード版『テトリス』セガ(通称セガテトリス)
• 日本におけるテトリスブームの原点
• アーケード版リリース後にライセンス違反が発覚、アーケード版は
事後承諾で販売を継続できたが、メガドライブ版は幻になる
• メガドラミニで初の完全移植
• 異論:セガエイジス2500シリーズ『テトリスコレクション』に収録されている
「メガドラ版」は?
『メガドライブミニ』びっくり話 https://www.youtube.com/watch?v=OWrju-vgZMw
日本におけるテトリス
• 1988年 ファミコン版『テトリス』BPS
• 国内版は181万本(日本で二番目に遊ばれたテトリス)
• ファミコン版は発売後にライセンス違反が発覚(事後承諾)
• NES版(1989年)は許諾後に任天堂が制作(ファミコン版とは別物)
• NES版を使った公認の世界大会(CTWC)が2010年から毎年開催中
NES版 http://tasvideos.org/Game/nes-tetris.htmlファミコン版 https://refuge.tokyo/famicom/fc/00430.html
日本におけるテトリス
• 1989年 ゲームボーイ版『テトリス』任天堂
• 国内版は424万本
(日本で一番遊ばれたテトリス)
• 1996年ごろ
• キーチェーン型の
パチモノが多数流通
(現在もクレーンゲームの景品や
怪しげな中華製品で見かける)
• 2006年 NDS『テトリスDS』任天堂
• 国内版は133万本
(日本で三番目に遊ばれたテトリス)
現在のテトリスに見られる要素
• テトリミノの形に対する色の統一(IOSZJLT)
• NEXT表示
• ホールド
• 20G
• I.R.S.、T.L.S.(先行入力、TGMシリーズのみ?)
• T.L.S.(ゴーストブロック)
• インフィニティ
• T-Spin
• Back to Back
• スーパーローテーション(テトリミノの回転規則)
• パーフェクトクリア(全消しボーナス)
• REN(英語圏ではCOMBO)
• テトリミノの偏り補正 ←これ
• etc…
テトリミノの偏り補正
• 降ってくるテトリミノの抽選は一見ランダム
• タイトルごとに異なる実装があった
テトリミノの偏り補正
• テトリミノ抽選の論点は2つ
• 乱数生成器自体の品質・実装
• 偏り補正のアルゴリズム
乱数生成器自体の品質・実装
• これはテトリス固有の問題ではない
• 普通のコンピュータは真の乱数を実現できない
• コンピュータは有限の内部情報しか持たない
• 制約の厳しい古いコンピュータの内部情報はとても小さい
• 数式によって決定的に算出される擬似乱数が使われる
• 疑似乱数なので再現が可能
• 再現可能であることは短所のように見えるが、
ゲーム用途ではデバッグやリプレイで重要となる
乱数生成器自体の品質・実装
• 乱数列をあらかじめ決める実装
• アーケード版セガテトリスには電源パターンがある
• 前提
• 起動時にNVRAM(不揮発性)に書き込まれている乱数の種を取得
• ゲーム開始時に1000手先までのツモが決定する
• 条件
• バックアップバッテリーが切れた基板で、電源投入直後の場合
• NVRAMはゼロクリアされているため乱数の種も毎回固定になる
• 初期値 2A6D365A で上書き
(セガの他のゲームに見られる?マジックナンバー)
• 事象
• ゲーム開始後のツモ順が固定になる
• ツモ順を暗記すれば全消し狙いで効率よくカンストできる
参考:Sega Randomizer - TetrisWiki
https://tetris.wiki/Sega_Randomizer
乱数生成器自体の品質・実装
• 乱数列をその都度決める実装
• NES版テトリスは乱数調整ができる(ツールアシスト限定)
• 前提
• ゲーム中に行われるコントローラ入力も抽選に加味されている
フレーム単位で乱数の内部状態を更新(≒撹拌)し続けている
• 条件
• コントローラ入力をいろいろ変えるとツモも変わる
• メモリ監視orステートセーブ/ロードによるトライ&エラーで
ツモを調整する
• 事象
• プレイ中に任意のツモを
引くことが出来る
【TASさんの休日】テトリス乱数調整TAP
https://www.nicovideo.jp/watch/sm9279738
乱数生成器自体の品質・実装
• アルゴリズムの選定/実装が悪いとツモが偏る
• 線形合同法は下位ビットに規則性がある
• 特徴:偶数と奇数が交互に出る
乱数生成器自体の品質・実装
• アルゴリズムの選定/実装が悪いとツモが偏る
• 乱数生成器が適切でも実装が悪いと偏る
• 例)rand() % 7; // 0-6までの整数が抽選(テトリミノは7種類)
• 乱数生成器から取得した値と7の剰余をツモにする方法
• rand() が返す値の範囲は基本7の倍数ではないので余りが出る
• rand()が8bit値(0-255)を返す場合
• 0, 1, 2, 3 に割り当てられたミノの出現率は 37/256
4, 5, 6 の出現率は 36/256 になってしまう
• rand()が16bit値(0-65535)を返す場合
• 0, 1 に割り当てられたミノの出現率は 9363/65536
• 2, 3, 4, 5, 6 の出現率は 9362/65536 になる
• (乱数の範囲が広いと分母が大きくなるため偏りは小さくなる)
• セガテトリス(rand()は32bit値を返すのに6bit値(0-63)に処理されている)
• 0 に割り当てられたミノ( )の出現率は 10/64
• 1, 2, 3, 4, 5, 6 の出現率は 9/64 参考:Sega Randomizer - TetrisWiki
https://tetris.wiki/Sega_Randomizer
テトリミノの偏り補正
• テトリミノ抽選の論点は2つ
• 乱数生成器自体の品質・実装
• 偏り補正のアルゴリズム
偏り補正のアルゴリズム
• 最初期のテトリス(1988年ぐらいまで)
• 偏り補正なし(全部確認したわけではないので、多分)
• しかしテトリスに限ったことではないが、
この時代の乱数生成器の品質はどれも難あり
• 運が悪いと理不尽なツモに悩まされる
• を待っているのにいつまでたっても が降ってこない
• 扱いに困るテトリミノ( )ばかり降ってくる
• 同じテトリミノが3回連続、4回連続で降ってくる
• どうでもいい時に が4回連続でツモる
• 同じテトリミノが3連続で降る確率は1/49、4連続なら1/343
• 150ライン消すためには375 (=150*10/4) テトリミノが必要なので、
確率としては現実的な数字
• 1ゲーム内でも複数回遭遇することはママある
• その理不尽さもまた面白いと思うのだが…
偏り補正のアルゴリズム
• NES版テトリス(1989年)
• 同じテトリミノが連続して出にくくなる偏り補正あり
• (1) テトリミノの抽選を行う
• (2) 前回と違うテトリミノであれば決定
• (3) 前回と同じテトリミノであれば1回だけ再抽選
• 同じテトリミノが連続して出る確率は1/7→1/49に緩和
• この特性を理解した上で取れる戦略
• NEXTのNEXTを予想して投機的に積める
• NEXTのNEXTに は恐らく来ない
• 問題点
• ツモが均等になるわけではない
• 「 がいつまで経っても来ない」
という問題は残ったまま
参考:The history of Tetris randomizers
https://simon.lc/the-history-of-tetris-randomizers
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 同じテトリミノが連続して出にくくなる偏り補正あり
• しかし、その補正処理に不自然な偏りがある
資料公開にあたっての追記:
以下の記事・掲示板を参考にしています。
Tetris (Game Boy) - Hard Drop
https://harddrop.com/wiki/Tetris_(Game_Boy)
Randomizer Theory | Tetris Theory
https://tetrisconcept.net/threads/randomizer-theory.512/page-9#post-51035
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 同じテトリミノが連続して出にくくなる偏り補正あり
• しかし、その補正処理に不自然な偏りがある
現在のミノ
NEXTのミノ
000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 同じテトリミノ3連続が出にくくなる偏り補正あり
• (1) ミノの抽選を行う
• (2) 現在のミノとNEXTのミノと抽選したミノのORを取る
• (3) 現在のミノの値と (2) で算出した値を比較する
• (3-1) 違っていたら、(1) の抽選結果を使う
• (3-2) 同じだったら、テトリミノを再抽選する 000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• OR演算子で3連続かどうかを調べている
• OR演算子(同じ桁に1が一つでもあれば、その桁は1にする)
• ↓OR演算子の計算例
000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
010 001 011
OR) 100 OR) 101 OR) 000
------- ------- -------
110 101 011
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 例1)同じミノを3連続でツモった場合
現在のミノ= 、NEXTのミノ= で、抽選結果= の場合
• 001 OR 001 OR 001 = 001
• 現在のミノの値と演算結果が同じなので
1回だけ再抽選(再抽選結果に対する補正はなし)
• ⇒3連続で同じツモが出にくくなる
補正は正しく行われる
000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 例2) を2連続でツモった場合
現在のミノ= 、NEXTのミノ= で、抽選結果= の場合
• 100 OR 001 OR 001 = 101
• 現在のミノの値と演算結果が違う場合は補正なし
抽選結果は (001) で決定
• が2連続しているが、
この処理はあくまで
3連続チェックのためなので
スルーされる
はずなのだが…
000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 例3) を2連続でツモった場合
現在のミノ= 、NEXTのミノ= 、抽選結果= の場合
• 100 OR 000 OR 000 = 100
• 現在のミノの値と演算結果が同じ場合
再抽選する(再抽選結果に対する補正はなし)
• ⇒NEXTのミノと抽選結果が共に (000) であれば、
ORビット演算の性質上、
現在のミノの種類が何であろうと
再抽選になる
(再抽選でも が出たら
ようやく2連続のツモになる)
000 (L)
001 (J)
010 (I)
011 (O)
100 (Z)
101 (S)
110 (T)
偏り補正のアルゴリズム
• ゲームボーイ版テトリス(1989年)
• 結果
• 同じミノが3連続で出にくくなる補正がある(本来の意図)
• しかし2連続に対して別の補正がかかってしまっている
• その補正の発生率がテトリミノごとに違っている
• ビットフラグの数が少ない値で
表現されるミノほど、
再抽選されやすく2連続で出にくい
• 同じ2連続でも
(000) 2連は出にくい
( →表参照)
• ビットフラグの数が多い値で
表現されるミノほど、
再抽選されにくく2連続で出やすい
• 一番ムカつく (011) 2連は出やすい
000 (L) (10.7 %)
001 (J) (13.7 %)
010 (I) (13.7 %)
011 (O) (16.1 %)
100 (Z) (13.7 %)
101 (S) (16.1 %)
110 (T) (16.1 %)
この補正によるミノ別ツモ確率
(補正なしなら1/7≒14.3%)
偏り補正のアルゴリズム
• テトリス ザ・グランドマスター(1998年)
• 直近のテトリミノが出にくくなる偏り補正あり
• (1) テトリミノの抽選を行う
• (2) 直近4ミノと違うテトリミノであれば決定
• (3) 直近4ミノで既出であれば複数回(4回?)再抽選
• 一手目のツモも補正されている
• 扱いが困るミノ( )は一手目に出てこない
• 回転しても形が変わらないから面白くない
• 平らな地形に置くと屋根ができて横入れ必須になる
• 他、様々な補正(3作目はとても複雑)
• TGMシリーズの偏り補正は非常に野心的
• TGM3は「同じミノばかり降ってくる」「いつまで経っても
が降ってこない」事象はほぼ回避されている
参考:TGM randomizer – Hard Drop https://harddrop.com/wiki/TGM_randomizer
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
7種類のテトリミノを
バッグに入れる
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグの中から
ランダムに1個ずつ取り出して
ツモにする
偏り補正のアルゴリズム
• 現在のテトリスの標準(2001年~現在)
• 7-bag
バッグが空になったら
再装填
以下繰り返し
偏り補正のアルゴリズム
• 現在のテトリス(2001年~現在)
• 7-bag
最初の7ツモは
1種類ずつ出てくる
(順序はバラバラ)
スクショ:『テトリス99』
偏り補正のアルゴリズム
• 現在のテトリス(2001年~現在)
• 7-bag
スクショ:『テトリス99』
次の7ツモも
1種類ずつ出てくる
(順序はバラバラ)
7-bagの特徴
• 7-bagの長所
• 「同じミノばかり降ってくる」(洪水)
「いつまで経っても棒が降ってこない」(干ばつ)
がほぼ解決されている
• 7ミノごとに継ぎ目があるため予測が立てやすい
• ランダムではあるが、かなり規則正しい
• 「開幕テンプレ積み」が多数考案された
• 7ツモで必ず1種類ずつ出ることに着目した定石
• ツモ順に左右されにくい積み込みができる
• この予測可能性に着目して延々同じ積み方をすることもできる
• 対戦テトリスで上級プレイヤーになりたければ、
テンプレを覚えまくる必要がある(一人プレイであれば必須ではない)
7-bagの特徴
• 7-bagの課題
• バッグとバッグの継ぎ目は一切管理されていない
• このようなツモがあるとする
1巡目 2巡目
7-bagの特徴
• 7-bagの課題
• バッグとバッグの継ぎ目は一切管理されていない
• このようなツモがあるとする
1巡目 2巡目
の間隔が最も遠いケース
HOLDの駆使で緩和可能
7-bagの特徴
• 7-bagの課題
• バッグとバッグの継ぎ目は一切管理されていない
• このようなツモがあるとする
1巡目 2巡目
同じテトリミノが2回連続で出現するケース
これはバッグとバッグの継ぎ目でしか発生しない
同じ理由で3回連続で出現するケースは存在しない
7-bagの特徴
• 7-bagの課題
• バッグとバッグの継ぎ目は一切管理されていない
• このようなツモがあるとする
1巡目 2巡目
いわゆるSnake sequences
状況次第では非常に嫌らしい と の組み合わせ4連続
やはりバッグとバッグの継ぎ目でしか発生しない
7-bagの特徴
• 7-bagに対する疑問
• 2001年以降の正規品テトリスは、ほぼ全てが7-bag
• 7-bagを使わない場合は特殊ルール扱い(?)
• TGM3(2005年)は独自のテトリミノ補正を実装
• テトリスアルティメット(2015年)には14-bagがある
• 18年近く7-bagのままである
• 7-bagが最も最適な補正方法なのか?
• ツモの理不尽さも含めてテトリスではないのか?
• 競技性重視なら運の要素は小さくしたほうがいいのでは?
• いびつな形をしたサイコロを振って面白いのか?
• 新たな創意工夫が生まれる可能性を潰しているのでは?
• などなど…
• 対戦テトリスの戦略は、ほぼ7-bag前提
• 今更ルールを変えるのも難しくなっている
テトリスAI
テトリスAI
• Zetris
• https://mat1jaczyyy.com/zetris
• Cold Clear
• https://github.com/MinusKelvin/cold-clear
• いずれもルールベース、対戦型テトリスに対応したAI
• プレイ動画はYouTubeに多数あり
• ぷよぷよテトリスのbotとして動作している
• すでに人類超えだが、
それに勝つプレイヤーもいるため今なお進化中
• テトリミノのツモは 7-bag 前提で思考ルーチンが組まれている模様
おすすめ
テトリス
おすすめテトリス(これから遊ぶ人向け)
• 2019年 Switch『テトリス99』任天堂(アリカ開発)
• ニンテンドースイッチオンライン加入者なら無料で遊べる
• 99人対戦、バトルロイヤル型(実力差は運や立ち回りである程度カバーできる)
• マッチングも高速、手軽に対戦できる
• 個人的にはゲームオブザイヤー2019候補
• 2005年 AC『テトリス ザ・グランドマスター3』アリカ
• アーケード版テトリス、都内なら稼動店舗はそこそこある
• 段位認定のあるMASTERモードのリプレイ性は非常に高い
• Grand Master(最高段位)を目指すと人間卒業レベル
• スタッフロールが本編
アーケードゲーム『TGM3』の認定モードに挑戦のムービー
https://www.youtube.com/watch?v=zHI4Ycx5b5g
• さらなる上級者向けのSHIRASEモードでは、
1秒間にテトリミノが4つ降ってくる
おすすめテトリス(これから遊ぶ人向け)
• 2014年 多機種『ぷよぷよテトリス』セガ
• 基本は1対1対戦(実力差がはっきり出る)
• T-Spinやテンプレ積みといった戦略の習得は必須
• テトリス対ぷよぷよの場合、戦略を変えないと一方的にやられる
• 多機種展開だがマッチングサーバーは機種ごとに別れている
• レーティング制度はうまく機能しているとは思えない
• アクティブユーザー数が多いのはニンテンドースイッチ版らしい?
• 2018年 PS4/PC『テトリス・エフェクト』エンハンス
• VR/4K対応の没入感型テトリス
• Rez、ルミネス、Child of Edenと同じクリエイターの作品
• 基本一人用のゲーム、オンラインのランキングはある
• 雰囲気重視ならVR、プレイ性重視ならモニタ推奨
• テトリス上級者の評価はかなり分かれる
Any Questions?

More Related Content

What's hot

組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
Genya Murakami
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
 
第21回アルゴリズム勉強会
第21回アルゴリズム勉強会第21回アルゴリズム勉強会
第21回アルゴリズム勉強会
Yuuki Ono
 

What's hot (20)

DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
CRC-32
CRC-32CRC-32
CRC-32
 
すごいConstたのしく使おう!
すごいConstたのしく使おう!すごいConstたのしく使おう!
すごいConstたのしく使おう!
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 
静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
クソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみたクソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみた
 
実践!Django + GraphQL 実装
実践!Django + GraphQL 実装実践!Django + GraphQL 実装
実践!Django + GraphQL 実装
 
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
 
シェルスクリプトを極める
シェルスクリプトを極めるシェルスクリプトを極める
シェルスクリプトを極める
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
VerilatorとSystemC
VerilatorとSystemCVerilatorとSystemC
VerilatorとSystemC
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 
第21回アルゴリズム勉強会
第21回アルゴリズム勉強会第21回アルゴリズム勉強会
第21回アルゴリズム勉強会
 
unique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるときunique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるとき
 

テトリミノの偏り補正から見るテトリスの歴史