Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kazuyuki CHINDA
PDF, PPTX
2,205 views
時間をかけて解く FizzBuzz
2011-11-09, 社内LT大会@aiming-inc 2012-03-28, Shinjuku.rb #03 LT
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PDF
MEZAMASHARE(めざまシェア)
by
Shinnosuke HORIGUCHI
PDF
20180807 NefryUserMeetup#1
by
Ayachika Kitazaki
PDF
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
by
Genta Iha
PPTX
オセロゲームでコードゴルフ
by
洸人 高橋
PPTX
クラウドハニーポットを運用しよう!
by
Mizutani Masayoshi
PDF
Your code sucks, let's fix it - DPC UnCon
by
Rafael Dohms
PDF
セキュリティ・キャンプのススメ
by
Hiromu Yakura
PDF
The FizzBuzz Programing Contest
by
Junichi Ito
MEZAMASHARE(めざまシェア)
by
Shinnosuke HORIGUCHI
20180807 NefryUserMeetup#1
by
Ayachika Kitazaki
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
by
Genta Iha
オセロゲームでコードゴルフ
by
洸人 高橋
クラウドハニーポットを運用しよう!
by
Mizutani Masayoshi
Your code sucks, let's fix it - DPC UnCon
by
Rafael Dohms
セキュリティ・キャンプのススメ
by
Hiromu Yakura
The FizzBuzz Programing Contest
by
Junichi Ito
Viewers also liked
PDF
Javaで最強のfizz buzz
by
yy yank
PDF
良質なコードを高速に書くコツ
by
Shunji Konishi
PDF
オブジェクト指向やめましょう
by
なおき きしだ
PDF
CTFはとんでもないものを 盗んでいきました。私の時間です…
by
Hiromu Yakura
PDF
型についてあれこれ
by
Yuta Shimakawa
PDF
デキるプログラマだけが知っているコードレビュー7つの秘訣
by
Masahiro Nishimi
PDF
オブジェクト指向できていますか?
by
Moriharu Ohzu
PDF
ソースコードの品質向上のための効果的で効率的なコードレビュー
by
Moriharu Ohzu
Javaで最強のfizz buzz
by
yy yank
良質なコードを高速に書くコツ
by
Shunji Konishi
オブジェクト指向やめましょう
by
なおき きしだ
CTFはとんでもないものを 盗んでいきました。私の時間です…
by
Hiromu Yakura
型についてあれこれ
by
Yuta Shimakawa
デキるプログラマだけが知っているコードレビュー7つの秘訣
by
Masahiro Nishimi
オブジェクト指向できていますか?
by
Moriharu Ohzu
ソースコードの品質向上のための効果的で効率的なコードレビュー
by
Moriharu Ohzu
Similar to 時間をかけて解く FizzBuzz
PDF
20120519 inverse fizzbuzz を解いてみよう
by
HiroSuga
PPT
Fizz buzz publish
by
M I
PPTX
Fizzbuzz solid
by
鈴木 セシル
ODP
Ruby紹介2
by
Gohryuh
PDF
wakuwaku Scala ~Scala入門勉強会~ 資料
by
Mizuki Yamanaka
PDF
集合知プログラミング5章前半
by
Atsushi Hayakawa
PDF
プログラミングスキルの獲得について考えてみた
by
Satoshi Shimizu
ODP
Lt会01_uetch
by
Tomoaki Ueda
PDF
PHPコードではなく PHPコードの「書き方」を知る
by
Masashi Shinbara
PDF
コード品質を保つために心がけたいこと
by
Kentarou Takeda
PDF
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
by
nkazuki
PDF
プログラミング・パラダイム
by
Yusuke Matsushita
PPTX
Genetic programming
by
Yosuke Fujii
PDF
[FE]配列へのデータ格納について.pdf
by
c w
PDF
任意粒度機能モデルに基づくコードクローン検出手法の大規模プログラムの適用に向けた改善
by
Kamiya Toshihiro
PPTX
Programming school 06
by
Masato Nakajima
PDF
Reading Self-descriptive FizzBuzz
by
Hiroyuki Morita
PDF
新しくプログラミング言語・・・Rubyでやってみた
by
Tomoaki Ueda
PDF
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
by
NISHIHARA Shota
PPT
Algorithm 速いアルゴリズムを書くための基礎
by
Kenji Otsuka
20120519 inverse fizzbuzz を解いてみよう
by
HiroSuga
Fizz buzz publish
by
M I
Fizzbuzz solid
by
鈴木 セシル
Ruby紹介2
by
Gohryuh
wakuwaku Scala ~Scala入門勉強会~ 資料
by
Mizuki Yamanaka
集合知プログラミング5章前半
by
Atsushi Hayakawa
プログラミングスキルの獲得について考えてみた
by
Satoshi Shimizu
Lt会01_uetch
by
Tomoaki Ueda
PHPコードではなく PHPコードの「書き方」を知る
by
Masashi Shinbara
コード品質を保つために心がけたいこと
by
Kentarou Takeda
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
by
nkazuki
プログラミング・パラダイム
by
Yusuke Matsushita
Genetic programming
by
Yosuke Fujii
[FE]配列へのデータ格納について.pdf
by
c w
任意粒度機能モデルに基づくコードクローン検出手法の大規模プログラムの適用に向けた改善
by
Kamiya Toshihiro
Programming school 06
by
Masato Nakajima
Reading Self-descriptive FizzBuzz
by
Hiroyuki Morita
新しくプログラミング言語・・・Rubyでやってみた
by
Tomoaki Ueda
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
by
NISHIHARA Shota
Algorithm 速いアルゴリズムを書くための基礎
by
Kenji Otsuka
More from Kazuyuki CHINDA
PDF
Introduction fasttext
by
Kazuyuki CHINDA
PDF
仮想電子工作のすすめ
by
Kazuyuki CHINDA
PDF
Query selecterの話
by
Kazuyuki CHINDA
PDF
ウェブエンジニアのための色の話
by
Kazuyuki CHINDA
PDF
Shinjuku.html5.lunch #11
by
Kazuyuki CHINDA
PDF
typo の傾向と対策
by
Kazuyuki CHINDA
PDF
エンジニアのためのUX入門
by
Kazuyuki CHINDA
Introduction fasttext
by
Kazuyuki CHINDA
仮想電子工作のすすめ
by
Kazuyuki CHINDA
Query selecterの話
by
Kazuyuki CHINDA
ウェブエンジニアのための色の話
by
Kazuyuki CHINDA
Shinjuku.html5.lunch #11
by
Kazuyuki CHINDA
typo の傾向と対策
by
Kazuyuki CHINDA
エンジニアのためのUX入門
by
Kazuyuki CHINDA
時間をかけて解く FizzBuzz
1.
時間をかけて解くFizzBuzz
kchinda@aiming-inc.com
2.
FizzBuzz 遊び方 プレイヤーは円状に座る。 最初のプレイヤーは「1」と数字を発言する。
次のプレイヤーは直前のプレイヤーの次の数字を発言していく。 ただし、 3で割り切れる場合は 「Fizz」 5で割り切れる場合は 「Buzz」 両者で割り切れる場合は 「Fizz Buzz」 を数の代わりに発言しなければならない。 発言を間違えた者や、ためらった者は脱落となる。 http://ja.wikipedia.org/wiki/Fizz_Buzz
3.
FizzBuzz 1, 2,
Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz,13,14, FizzBuzz, 16, 17, Fizz, 19, Buzz...
4.
FizzBuzz 色々な FizzBuzz
を書いてみる
5.
FizzBuzz コード例 if
文 def if_function n if n % 15 == 0 'FizzBuzz' elsif n % 3 == 0 'Fizz' elsif n % 5 == 0 'Buzz' else n end end
6.
FizzBuzz コード例 case
文 def case_function n case n % 15 when 0 'FizzBuzz' when 3, 6, 9, 12 'Fizz' when 5, 10 'Buzz' else n end end
7.
FizzBuzz コード例 3項演算子
def ternary_function n n % 15 == 0 ? ‘FizzBuzz’ : n % 3 == 0 ? ’Fizz’ : n % 5 == 0 ? ‘Buzz’ : n end
8.
FizzBuzz コード例 map
def map_function (1..100).map{|n|(s=(n%3<1 ? 'Fizz' : '') + (n%5<1 ?'Buzz':''))=~/^$/ ? n:s} end
9.
FizzBuzz コード例 ヒアドキュメント
def here_document n ret="#{["Fizz"][n%3]}#{["Buzz"][n%5]}" ret.empty? ? n : ret end
10.
FizzBuzz コード例 http://golf.shinh.org/p.rb?FizzBuzz
ruby での最短は 50 byte
11.
FizzBuzz 色々な FizzBuzz
を書いてみる 短すぎるコードは難解過ぎる テクニックを知らないと無理 短いコードを追求する必要はない
12.
シンプルな FizzBuzz !? def
silly_function n case n when 1; 1 when 2; 2 when 3; 'Fizz' when 4; 4 when 5; 'Buzz' when 6; 'Fizz' when 7; 7 when 8; 8 when 9; 'Fizz' when 10; 'Buzz' # ... end end
13.
シンプルな FizzBuzz !? def
silly_function puts ‘1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FuzzBuzz 16 17 Fizz ...’ end
14.
ちょっとは考えよう.
15.
誰が?
16.
コンピュータが.
17.
ここから本題.
18.
進化的アルゴリズム 計算機に考えてもらおう ニューラルネットワーク 遺伝的アルゴリズム
強化学習 etc.
19.
GA(遺伝的アルゴリズム) 生物の遺伝のメカニズムを学習に応用 遺伝子
染色体 交 突然変異 選択・淘汰
20.
GA(遺伝的アルゴリズム) アルゴリズムの流れ
http://www.jepoc.or.jp/tecinfo/tec00048.htm
21.
GA(遺伝的アルゴリズム) GA で文章を生成してみる
‘I am a Genius.’
22.
GA(遺伝的アルゴリズム)
demo
23.
GA(遺伝的アルゴリズム) FizzBuzz 問題は解ける?
24.
GA(遺伝的アルゴリズム) 生成された文字列が,その言語によって 解析可能 かつ,実行可能
かつ,正しい結果を出力する ハードルが高い!!!
25.
GP(遺伝的プログラミング) GA でのDNA配列を木構造で表現
プログラムとして解釈可能 T. Segaran, 集合知プログラミング, p.274
26.
GP(遺伝的プログラミング) 生成された文字列が,その言語に よって
解析可能 clear! かつ,実行可能 clear! かつ,正しい結果を出力する
27.
GP(遺伝的プログラミング) パラメータ・条件
各世代の個体数: 100 突然変異確率: 0.1 選択戦略: エリート戦略 最大世代数: 100,000 世代 使用できるオペレータ: +, -, *, %, if, > 使用できるオペランド: 1..10 の整数, ‘Fizz’, ‘Buzz’ 教師信号(適応度の算出): 1<n<50 までの結果
28.
GP(遺伝的プログラミング) 結果 if
( 5 - 4 ) > n % ( 9 + ( 7 - 1 ) ) 'Fizz' + 'Buzz' else if (9 % 8) > n % 5 'Fizz' * 1 else if (7 - 6) > n % (10 % 7) 'Buzz' else n end end 収束時の世代数: 19,473 世代目 end (3回のうち,2回は収束せず)
29.
GP(遺伝的プログラミング) ちなみに
30.
GP(遺伝的プログラミング) コード量
5 classes 203 lines
31.
GP(遺伝的プログラミング) かかった時間 コーディング
GA: 1 時間弱 GPへの改良: 1.5 時間 実行時間 一回につき,5 時間 とか 2 時間 とか
32.
結論
FizzBuzz 問題くらい 自分の頭で考えよう
Download