nigoblogスマートフォン用の表示で見るnigoblog技術系会社のCEOブログ~私的編~この広告は、90日以上更新していないブログに表示しています。~ペアノの公理~数学ガールって本が好きなんですけど、現在5作出ていて第三弾目の「ゲーデルの不完全性定理」っていう本を読み直しました。見るこれの2章にペアノの公理の話があるんですが、今回その章を読んだ感想と、プログラミングにその考えを応用してみるとどうなのかって話を考察したので書いていきたいと思います。ペアノの公理とはTDDとテストケースについてペアノの公理とテストケースの関係まとめこのような流れで書いていきます。ペアノの公理とは先に示した数学ガールを読んでいただくのが一番手っ取り早いのですが、Webだと普通にwikipediaがいいですかね。「自然数を定義する公理」っていう表現が一番正しいかと。2を証明するための公理です。自然数としております。2を証明するという言い方はやや語弊がありますが、ペアノの公理を使うと自然数全体の演算が説明つきます。続きがあるということがいえる。続きになるものは0にはならない。0が一番先頭の自然数であると示す。Aの後続数A'とBの後続数B'は一致しない。異なる自然数の後続数が同じ数ではあってはいけない。ある自然数とその自然数の後続数はそのペアでしか存在しないことを示している。公理5では数学的帰納法の話。n(自然数)になっても正しい結果が出る事を示している。1の方がわかりやすいと思うが。)ポイントは0の後続数をいきなり1と言わない事。0以外の自然数はまだわかっていないこととしている。いうわけでざっくりペアノの公理についての説明でした。TDDとテストケースについていきなりプログラミングの話になりますが、開発手法の一つにTDDという方法があります。なんども書いているのでもう一度解説することはありませんが。nigoblogこのとき重要なのはテストケースです。厳しすぎても意味がないし、浅すぎてもテストに合格したとは言えません。いうわけでここでペアノの公理とテストケースの関係について考えることで最適なテストケースの洗い出しを考えてみましょう!ペアノの公理とテストケースの関係ここでfizzbuzzをTDDで開発することを考えます。nigoblogテストケースを考える前にfizzbuzzをもう一度掘り下げてみます。...というような数列を作ります。この定義では明示しておりませんが、入力は全て自然数を前提とします。これをもう少し数学チックに考えてみます。(n>0)というわけで入力は自然数であることも明示しました。15nはそれぞれの係数をスタートとし、その倍数の自然数の集合と見なし、ペアノの公理が満たされているとします。ここでペアノの公理を利用したテストケースは以下のようになります。入力の型がint以外ならば例外まずはこれで自然数以外をカットすることができました。入力は自然数限定ということを表しています。数学的帰納法により、1の時1を返すこれが成り立つということは全ての後続数でも成り立ちます。30でfizzbuzzが返るこれでペアノの定理5より、全てのケースがテスト出来ている状態と言えます。まとめ今回、初めての試みとして数学とプログラミングについての関係を書いてみました。考察がやや甘いところもあるとは思いますが概ね考えたことはかけたかなと思います。内容の方は、このように数学的帰納法や集合を意識するとテストケースに漏れがなく無駄のないテストケースが書けるのかなと感じております。集合について読み直すきっかけはデータベースの設計部分だったので、それに関しても考察できたら書いていこうと思います。いうわけで数学とプログラミングについての考察でした。見る是非読んでみてください。情報工学を体系的に学ぶために高専のカリキュラムをまとめる。高専って何をやっているか、いまいちわからないという方のため...2013-02-02R入門~データサイエンティストに必要な行列計算の知識~今回もRについて書いていきます。今回はRで色々な統計量の取得方法について書いていきます。山南敬介にみる”組織力”について~歴史から学ぶシリーズ~2017年は「WEBブランディング広告」元年になる。plusGoogleはてなブログをはじめよう!nigohirokiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。