kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

(オッサンにとっての?)真理

食べ過ぎると体力を消費します背筋が苦しくなったり翌日疲れが出たり なんてことを思うようになったのは年を食ってからですかね学生の頃は焼肉食べに行けば当然食べ放題目の前に肉がある限り食べるっていう感じでしたいつの間にか食べ放題にするより量は少な…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (9)

「10.8.4 変数・記号・論理式」の続き ものは試しでprimeをこんな風にしてみました (define (prime n x) (let ((p (P n))) (if (CanDivide x p) p 0))) 素因数分解には必ず2から歯抜け無しで素数が出てくるという前提動かしてみると > (profile (paren (<> 7…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (8)

「10.8.4 変数・記号・論理式」 ここらへんから証明っぽくなってきます 定義11 xは"第n型"の"変数"である (define (IsVarBase p) (and (> p crp) (IsPrime p))) (define (IsVarType x n) (and (>= n 1) (∃ p ≦ x (and (IsVarBase p) (= x (expt p n)))))) こ…

2種類のキレイ好き

世界には2種類のキレイ好きがいるようですね ひとつめのキレイ好きは、そのまんまですがキレイだとうれしくて掃除するのも楽しいというタイプキレイ好きと言って思い浮かべるのはこっちでしょうか もうひとつのキレイ好きは、キレイなのが好きというより汚…

ハーディ『ある数学者の弁明』私家版翻訳、ですってよ

ハーディっていう数学者がいまして、自分には数学自体の功績よりもラマヌジャンを見つけて育てたっていう方が印象的な人なんですがなんかユニークな人でもあったみたいでこの人の書いた「ある数学者の弁明」って本が面白そうだな―読んでみたいなーと思ってい…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (7)

「10.8.3 列」の続きの続き このへんのMinの入れ子で時間がかかってるというのはありそうな話ですIsPrime以下は一応書き換え済みなのでこの範囲で高速化してみますか primeを書き直し素数が歯抜け無しで出てくるとは限らない、という前提はキープ ; 元のソー…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (6)

「10.8.3 列」の続き > (time (** 12 4)) ; [2 1]という列と[2]という列の連結 cpu time: 35571 real time: 35565 gc time: 1153 300 > (time (** 12 12)) ; [2 1]という列と[2 1]という列の連結 お返事がありません 書き直し ; 元のソース ;(define (M8 x y…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (5)

「10.8.3 列」 定義6 n番目の要素 (define (CanDivideByPower x n k) (CanDivide x (expt (prime n x) k))) (define (elm x n) (Min k ≦ x (and (CanDivideByPower x n k) (not (CanDivideByPower x n (+ k 1)))))) (P n)ではなく(prime n x)を使っているの…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (4)

「10.8.2 整数論」の続き (単位はミリ秒) > (time (P 8)) cpu time: 12989 real time: 12992 gc time: 1441 19 これだとテストもままならなくなりそうなのでもうちょっと速くなるようにしてみますか とりあえず簡単なところから ; もとの定義 ;(define (Ca…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (3)

「10.8.2 整数論」 このへんは単なる数の計算 定義1 割り切れる?関数名はできるだけ数学ガールに合わせていきます (define (CanDevide x d) (∃ n ≦ x (= x (* d n)))) 割り切れないときにx以下のnすべてについて試してしまってもったいないですがとりあえず…

「目で見る数学」

まんが数学史とかあったらいいんですけどね 娘が歴女になってしまいます - kb84tkhrのブログ とまでは行きませんがブックオフで「目で見る数学」って本を見つけました 目で見る数学―美しい数・形の世界 作者: ジョニーボール,Johnny Ball,山崎直美 出版社/メ…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (2)

「10.8.1 装備を整える」の続き 同様に∃x≦M[...]とmin x≦M[...]を定義します (define (∃≦ max f) (let loop ((x 1)) (cond ((> x max) #f) ((f x) #t) (else (loop (+ x 1)))))) (define-syntax (∃ stx) (syntax-parse stx #:literals (≦) [(_ v:id ≦ max:ex…

ゲーデルの不完全性定理の証明のアレをRacketで書いてみる (1)

数学ガールのゲーデル巻を読んでると、「定義1」から「定義46」までなんだかプログラムを読んでるみたいですよね?ですよね? 数学ガール/ゲーデルの不完全性定理 (数学ガールシリーズ 3) 作者: 結城浩 出版社/メーカー: SBクリエイティブ 発売日: 2009/10/2…

RacketのMacroを調べてみる (11)

ではSyntax: Meta-Programming Helpersを見ていきます 1 Parsing and Specifying Syntax ここではsyntax-parseとdefine-syntax-classを説明していく syntax-parseはsyntax patternにしたがって自動的にエラーメッセージを生成する 1.1 Introduction syntax-p…

スマホからbr

パラグラフにしないただの改行ってどうやって入れればいいのかなって 思ってたんですよね brタグってやつですね どうもこのスタイルじゃないと書けなくて PCから入れるときはShift+Enterでできるんですけど スマホからだと入らないみたいです もともと入れら…

RacketのMacroを調べてみる (10)

普通の関数でエラーに対応するには、エラーをチェックするコードを入れる以外に契約を用いたり、Typed (型付き) Racketを使うという手段があります マクロではこれまでfenderを入れたり、エラーチェックしてraise-syntax-errorを呼んだりしてましたが契約や…

アートコミック まんが西洋美術史 1〜3

この間ちらっと書いた「まんが西洋美術史」って本なんですけど思った以上によかったです娘もしっかり読んでます 3冊1000円以下で買えたことを考えると超お買い得定価で買ってても後悔はなかったと思います 思った以上に解説がかなりしっかりました 分量も多…

闇は近い?

今日はヨメがママ友といっしょだったんですけどねママ友のダンナの職場は休みが月4日しかないらしいんですよで「有給とかどうなってんの?」って聞いたら「有給?なにそれ?」って普通に聞き返されたらしくてびっくり営業時間が11時間くらいあるんだけど全員…

RacketのMacroを調べてみる (9)

今回はanaphoric ifの話から > (aif (big-long-calculation) (foo it) #f) って書くと、(big-long-calculation)が#fのときは当然#fを返しますがそうでないときは(big-long-calculation)の結果をitが覚えててくれる、というもの普通はletでいったん変数に入れ…

RacketのMacroを調べてみる (4)

なんと下書きだけしてアップしてなかった分が! ---- 再掲 > (define-syntax (our-if-v2 stx) (define xs (syntax->list stx)) (datum->syntax stx `(cond [,(cadr xs) ,(caddr xs)] [else ,(cadddr xs)]))) めでたい?dの数とか数えたくないですね?パター…

こんな日は

飲み会で遅くなると色々達成が難しいけどとにかく達成しておく って今日はもう終わっちゃってるけど!

本屋さんの端末

最近は多くの本屋さんに在庫が検索できる端末が設置されてますね便利になりました でもですね検索するような本ってあんまり在庫はなかったりするんですよねああ残念、と思ってあきらめて他の本屋に行ったり通販で買ったり まあその分の売上が上がらなかった…

RacketのMacroを調べてみる (8)

次の例ですちょっとエラー処理に凝ったりしてます 何をするかは説明するより見たほうが速いかな > (define js (hasheq 'a (hasheq 'b (hasheq 'c "value")))) > (hash.refs js.a.b.c) "value" hasheqというのはいわゆるハッシュテーブルを作る関数で、ここで…

子供の習慣づけにも使えるかなあ

今のところ途切れることなく順調に続いている小さな習慣ですがこれは子供にいい習慣を身につけさせるのにも応用できるでしょうか 脳内シミュレーションしてみました 「ねえ、毎日机に座ってノートを開くだけは必ずやるってことにしない?」「うんわかった!…

RacketのMacroを調べてみる (7)

ここまでの集大成としてstructもどきを作りますこんな風に使えるものです > (our-struct person (name age)) > (define p (person "john" 24)) > p '#(person "john" 24) > (person-name p) "john" > (person-age p) 24 では定義です (define-syntax (our-st…

娘が歴女になってしまいます

ウチの娘は自分に似て読書好きなのでどんな本を読ませようか考えるのが趣味みたいになってます で、この娘なんですが読書好きなだけではなくて性格全般が私に似てる感じ感じっていうか、どこまで同じなのと驚くほどですダンナひとりで十分イラッとするのにひ…

RacketのMacroを調べてみる (6)

ここらから少し応用編適当に端折っていきます ちゃんとしくみを理解してないと、の方針は続いていて、エラーを出したりそれを調べたりしながら順を追って関数名を作る話をしてくれます syntaxの内側でないとpattern variableは参照できない template内はpatt…

水出し茶

最近、事務所では緑茶を水出しして飲んでます冷水だと出ないかな、と思ってましたがやってみると色は薄くてもけっこう出てる感じ個人的には好みの味 使ってるお茶は300グラム1000円の茎茶お茶屋さんで売ってるお茶の中ではかなり安い部類だと思いますけどけ…

RacketのMacroを調べてみる (5)

再掲実はもうほとんどsyntax-caseになってます (define-syntax (our-if-using-match stx) (match (syntax->list stx) [(list name condition true-expr false-expr) (datum->syntax stx `(cond [,condition ,true-expr] [else ,false-expr]))])) syntax-case…

おっと時間が

微妙に帰りが遅くなった上に子供の相手してたらもう時間が しかし 目標:1日1行ブログを書く 達成!