2007-12-01から1ヶ月間の記事一覧
順序付き2分木で表現された集合を対象に、のunion-setとintersection-setを定義しろって問題ですけど、2-61、2-63、2-64を組み合わせるとかなり小さくできる予感。tree->list-2がであるかどうかとかの厳密な解析はしてないですけどふいんき(なぜか変換でき…
ぼくは山口県で生まれて山口県で育ってきたんですけど、山口県というのはすばらしいところです。海があって川があって山があるわけですから、他にお前何望むのアホかみたく、全部がそろっている感じで、山口県民のみなさまなんかはいつ死んでも構わないって…
拙いながらもpartial-treeの動作説明。 partial-treeはリストから平衡木を作成し、その平衡木を第1要素、木に含まれない要素を第2要素にリストとして返すような関数になっている。 (define (partial-tree elts n) (if (= n 0) (cons '() elts) (let ((left-s…
199x年メドレーとか200x年メドレーとかやってみたんですけど、2007に近づくほど歌える曲が少なくなるという貴重な結果が得られました。
今度は集合をbinary treeで構成するお話で、でも2-63はbinary treeを配列に変換する関数についての問題という。。 どれも{1,3,5,7,9,11}という集合をbinary treeで表現したものですが、 (define first (make-tree 7 (make-tree 3 (make-tree 1 '() '()) (mak…
ホントは今日、山口県に帰るはずだったんですけど、帰れなくなった。 何がぼくが帰省するのを阻んだかというと、それはたいへん複雑なお話でそれを様々な角度から分析すると論文が書けてしまいそうです。ところが、難しいことを誰にでも分かるように説明でき…
要素数nに対して、でunionをとる。 (define (union-set set1 set2) (cond ((null? set1) set2) ((null? set2) set1) (else (let ((x1 (car set1)) (x2 (car set2))) (cond ((< x1 x2) (cons x1 (union-set (cdr set1) set2))) ((= x1 x2) (cons x1 (union-se…
雑学でも勉強でもなんでもいいんですけど、ぼくはいっつも、いろいろ知っている人っていいなーとか思っていて、普通にジェラシーを感じています。 たぶんですけどいろいろ知っている人は、ぼくが見ている景色とはまったく違う景色を、同じ世界に感じている。…
順序リストでadjoin。 じつは悩みまくったんですけど。 (define (adjoin-set x set) (cond ((null? set) (list x)) ((< x (car set)) (cons x set)) ((= x (car set)) set) (else (cons (car set) (adjoin-set x (cdr set)))))) (adjoin-set 3 '(1 2 4 5)) ;…
いまさらハマったおwwなんでいまさらハマるのww泣いたww #include <iostream> class Parent { virtual void say() { std::cout << "親だお!" << std::endl; } public: Parent() { say(); } }; class Child : public Parent { virtual void say() { std::cout <<</iostream>…
あんまし変わってないけど、重複を許す集合上の演算。 (define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (define (adjoin-set x set) (cons x set)) (define (union-set set1 set…
ぼくはクソ凹んでいて、エントリとか書く気力もなく、さりとて何かするわけでもなく、怠惰な暮らしを送っていたのでした。 http://d.hatena.ne.jp/kiririmode/20071223/p2 まぁ毎日怠惰と言えば怠惰なんですけど、輪をかけて怠惰です。みんなが怠惰ならあん…
抽象化はとても大事、という例がどんどん出てくるんですけど、2.3.3は集合をどう抽象化するか、という話みたいです。まずは単にリストで表現すればいいんじゃね?というところなんですけど、クソ効率が悪いという旨も書いてある。 とりあえずリスト表現で頑…
世の中クリスマスとかで浮かれまくっていて、なんでこんなに世の中ふわふわしているんだバカが!!とお思いの方とかたくさんいらっしゃると思うんですけど、怒る前によく考えてみてください。ぼくたちは日本人で美しい国とか目指している感じですから、ふわふ…
記号的微分を中置記法に対して行えるように変更しろって言う課題で、変更点は以下な感じ。 (define (make-sum a1 a2) (cond ((=number? a1 0) a2) ((=number? a2 0) a1) ((and (number? a1) (number? a2)) (+ a1 a2)) (else (list a1 '+ a2)))) (define (mak…
いつも不機嫌なぼくは、プリズン・ブレイク vol.7 に一話だけしかお話が入ってなくて、もう一話の代わりに既に見たTWENTY FOUR シーズンVの第一話が入ってやがったことに対して、クリスマスeveという聖夜にも怒っている。
数値的微分じゃなくて、記号的微分(Symbolic Differentiation)やろうぜって章に入りました。 最初はどうやってやるんだっていうか無理じゃねみたく思っていたのですが、簡単なヤツなら結構簡単にできるみたいです。簡単って言うのも、コロンブスの卵だと思…
家というのは落ち着くしテレビはあるしインターネットは自由にできるし衆目の目はないしでスバらしい! 監視社会とか気にする人は、家に引きこもったら良いと思うよ!! ボクという人は家がとても好きで、暇さえあれば家でうだうだしてたいんですけども、年末…
'はquoteのシノニムだそうなので、 ''abracadabra # 'abracadabra は (quote (quote abracadabra)) とおなじ。外側のquoteが、(quote abracadabra)というリストをつくってるてことかな。というわけで、 (car ''abracadabra) ; quote (cdr ''abracadabra) ; (…
トイレットペーパーがなくなって困ってるのでトイレットペーパーがほしい!!!!
同じ要素が同じ順番に並んでるリストはequalだそうで、それを判定する関数作る。 (define (equal? list1 list2) (cond ((and (null? list1) (null? list2)) #t) ((eq? (car list1) (car list2)) (equal? (cdr list1) (cdr list2))) (else #f))) 下の各リスト…
人間究極的には一人っぽいですから、人に認めてもらうというのは快感になる。で、人間究極的にはクソ欲張りですから、快感を手に入れるために積極的に人に認められようとしてガメツくなる。要するに自慢して認めてもらおうとする訳ですね。たぶんですけどこ…
実行してみるだけ。 (list 'a 'b 'c) ;; (a b c) (list (list 'george)) ;; ((george)) (cdr '((x1 x2) (y1 y2))) ;; ((y1 y2)) (cadr '((x1 x2) (y1 y2))) ;; (y1 y2) (pair? (car '(a short list))) ;; #f (memq 'red '((red shoes) (blue socks))) ;; #f …
昨日は東京に怒ってぼくはもうヘトヘトなんですけど、今日もぼくは怒りまくることにしたのでした。 みなさん下流喰いだの格差社会だのと喚いていますが、実のところホントに二極化は起こっておりまして、ぼくは靴下を買うのに汲々としていたりする。 靴下を…
こっちでも、 (define (below painter1 painter2) (let ((split-point (make-vect 0.0 0.5))) (let ((paint-top (transform-painter painter1 split-point (make-vect 1.0 0.5) (make-vect 0.0 1.0))) (paint-bottom (transform-painter painter2 (make-vect…
内定者研修とかでまた東京行ってきたんですけど、東京がすごい遠いのでぼくは相当怒った。 インターネットとか世界はどんどん小さくなってるときに、未だあんなに遠くて、東京は平気な顔をしてやがるんだ。 近所の子供がいじめられてるのにいじめっ子を怒れ…
kiririmodeを逆にする。 (define (transform-painter painter origin corner1 corner2) (lambda (frame) (let ((m (frame-coord-map frame))) (let ((new-origin (m origin))) (painter (make-frame new-origin (sub-vect (m corner1) new-origin) (sub-vect…
Makefile書いててディレクトリ指定するのに LIBS = -L /opt/local/hoge... と書いてたら ld: library not found for -lboost_program_options上記リンクエラーが出て、ldフルボッコ決定!!と怒りに燃えて2時間格闘した後、-Lの後のスペースを取ったら見事コン…
ネットワークのローカルな研究会があったときに、 「待ち行列はランダム性に縛られているのかもしれない!!!!!」 「制御理論も線形でなくなると今のところ限界がある!!!!!!」 という感じの熱い議論が展開されていて、ぼくは血沸き肉踊るみたくクソ…
(a) 正方形 (b) クロス。 (c) ダイヤ (d) 面白くないので好みなヤツ作った。後悔はしていない。