2019-10-01から1ヶ月間の記事一覧
10章は処理系を書く話っぽいので ここからひさしぶりに写経モードで そういえば、ここで書く処理系はminiKanrenと呼ばれるものらしい ファイル名つけようと思った時にふと名前が気になった 変数を定義
(defrel (enumerate+o r n) (fresh (i j k) (bumpo n i) (bumpo n j) (+o i j k) (gen&test+o i j k) (== `(,i ,j ,k) r))) bumpo、gen&test+oはenumerate+oのヘルパー関数だったみたい (run* s (enumerate+o s '(1 1)))とやると0から3までの数をふたつと そ…
(defrel (onceo g) (condu (g #s) (#s #u))) これはただgを実行だけだけど成功するのは1回だけね、ってことだな (#s #u)は書かないといけないんだろうか
(run* q (conda ((alwayso) #s) (#s #u)))はno value condaはquestionが成功なら次の行以降は実行しないんだけど これだと(alwayso)が成功し続けてその行の実行が終わらないので そこでconduの登場 こっちはcondaよりもさらに早く打ち切る questionが1回成功…
異糧妾御績紡 あんまり完成度は上がらなかったあっちもこっちもバランスがおかしい何をどうしていいかよくわからなくなってる感がある
9. Thin Ice もう章題を解釈するのはあきらめている この終盤で新しい構文登場
戻って本体 (logo n b q r) これはcondeなので1行ずつ見ていく 再帰はしてないな
(base-three-or-moreo n b q r) 名前からしてb(baseだろう)が3以上の時のn = b^q + rの関係に違いない baseが2のときはexp2o base-three-or-moreoにはcondeは出てこないので 全部いっぺんに見ないといけない いっぱい式があるけどどれが大事な式なのか
ここからが未体験ゾーン (logo n b q r)でn = b^q + rの関係 見るからに複雑そう 単にq(やr)を求めるだけでなくnやbを求めるのにも使えたり 無限に値を探し続けたりしないようにしたりするだけでここまで書かなきゃ いけないものなのか
歴史的なイベントには何の関係もなくお出かけしてきましたムスメにどっか行こうとせがまれて探したのがここウチからは少し離れてますが
÷o (
あるということに気づいてなくてお酒いただいてしましましたが まあCまで解ければレートも下がらないだろうということで参加してみたら意外にすんなりDまで解けて茶コーダーにパフォーマンスも初の1200超え
今日は書道教室の展覧会でした 進歩しているのかはよくわからない確実なのは文字数が増えていることくらい 文字数が増えてくると、満足できるかというより失敗が少ないことを基準にしたくなってきますこっちの方がマシかな、みたいな最後は先生に選んでもら…
この章の途中で中断が入ったわけだが かなり手ごわかった記憶 こんどは理解度が上がってるだろうか
Under the Hoodはちょっとだけ見た ちょっとだけではなんのことやら 7. A Bit Too Much ビット操作から始めて足し算引き算を作るまで
ざっと読み直す、といってもただ読むだけっていうのがすこし難しくなってきた 6. The Fun Never Ends 無限に続きそうなrelationのお話 conj系は上から順に試して失敗したらいったんそこでおしまい disj系は全部試すんだけどちょっと不思議なことに無限ループ…
千字文は異糧妾御績紡コメントするのも気が進まないほどここもあそこも、って感じこれから完成度を上げていきます
読み直してみると気づくこともある 特にこれ The Law of conde Every successful conde line contributes one or more values. わかってはいたつもりなんだけど、ここ一番大事なとこなんじゃね?という思い(いまさら 上から読んでいって真のとこ評価したら…
戻ってきましたReasoned Schemer この前の記事はなんと2018-07-17 ちょっと読んでみてそういえば割り算がやたらと難しかったことを思い出す もう一度ざーっとはじめから読むことにする 新出単語くらい書いてくか
解説読んでみてもまだもやっとしているので先にサンプルコードを移植してみる
変数がいっぱいあるから追っかけにくいんだな といっても単純にmapとかreduceになる形でもなさそう サイクルに分けるところと計算するところを分けたらどうかな ちょっとずつCPUとメモリがもったいないけど
荷物を重さの順にソートするんだけど、要素の交換のときに重さに応じた コストがかかり、トータルのコストが最小になるようにソートするというもの ALDS1_6_D: Minimum Cost Sort - kb84tkhrのブログ あきらめて解説を読む
二分木をpreorderで巡回した結果とinorderので巡回した結果を入力として受け取り、 その二分木をpostorderで巡回したときの結果を出力せよ ALDS1_7_D: Reconstruction of the Tree - kb84tkhrのブログ これ考えてみる ということはもっと狙いを絞ってつくら…
いつのまにか本のお手本は最後まで行ってたので先頭から書いていく 今回は『大唐三蔵聖教』っていうと次は『序』からかちょっとキリがよくないなまあいいや
ざーっと記事を見直してみたやり残しはこの三つ 荷物を重さの順にソートするんだけど、要素の交換のときに重さに応じた コストがかかり、トータルのコストが最小になるようにソートするというもの ALDS1_6_D: Minimum Cost Sort - kb84tkhrのブログ 二分木を…
こういうこと知ってからもう一度量子プログラミングの記事を読むと もう少しイメージ持ててわかった気になれるような気がする(気がする 『絵で見てわかる量子コンピュータの仕組み』読んだ - kb84tkhrのブログ というわけで『n月刊ラムダノート Vol.1, No.2…
月間ラムダノート Vol.1 No.2の量子プログラミングの記事を見てから量子コンピュータってやつがちょっと気になってたので読んでみた
A*にとりかかるまえにちょっと試す 履歴をsetに覚えさせるあたりが重かった? 幅優先探索+マンハッタン距離の差分計算バージョンから 履歴を覚えてチェックするところを省いてみた 12番(15手)で比べてみると チェックあり: 01.59s、チェックなし: TLE(16秒…
反復深化とくらべて幅優先が遅いってことはない気がするんだけど IDA*のサンプルコードを参考にして直してみた