約 387,278 件
https://w.atwiki.jp/hrkenkm/pages/62.html
※12/28〜1/5は冬季休業期間です クラーク会館 3月 21(土)大集会室2 13 00-21 00 27(金)大集会室1 17 00-21 00 28(土)大集会室1 13 00-21 00 クラ館をとるには サークル会館 2月 1(土) 255 13 00~22 00 8(土) 254 13 00~22 00 15(土) 206 13 00~22 00 29(土) 206 13 00〜22 00 他 山岳館 2月 9(日) 9 00〜21 45 16(日) 9 00〜21 45 23(日) 9 00〜21 45 24(月) 9 00〜21 45 28(金) 18 00〜21 45 サ館取りについて 3月26日(月)より新歓期のサ館取りの方式が変更になります。 以下に新手続きの方法を貼っておきます。 ● 新しい申請手続きの手順【実施開始日:3月26日(月)】 (1) 9 00~9 15に 受付 ※毎週月曜日(月曜日が祝日の場合は火曜日) 現行と同様,受付簿に「団体名」と「氏名」を記入し,整理券を 受け取る。 (2) 9:15 から抽選開始 整理券の整理番号順に棒くじを引いていき,棒くじ記載の番号順に 申請手続きをする。 (3) 申請手続における遵守事項等について ① 申請手続きに参加できる人数は,1団体1名とする。 ② 予約できる部屋数は,1団体「1日2部屋まで」とし,使用時間の 上限は設けない。 ③ 全ての抽選が終わり,予約の入っていない部屋・時間帯については, 追加で申請することも可とする。その際の申請は,先に引いた棒くじ 記載の番号順とし,1団体「1日2部屋まで」とする。 (中村)
https://w.atwiki.jp/hasekun/pages/389.html
利用規約 『ブラウザ三国志』サービス利用規約 『ブラウザ三国志』は、株式会社マーベラスAQL(以下「当社」といいます)が、株式会社ベクター(以下「ベクター」といいます)によって運営・管理される「ブラゲIDサービス」を通じてインターネット上で提供するブラウザゲームです。 ■第1条(規約の適用) 1. 『ブラウザ三国志』サービス利用規約(以下「本規約」といいます)は、当社が『ブラウザ三国志』公式サイト(http //sangoku.bg-time.jp/)(以下「本サイト」といいます)で運営・提供する「ブラウザ三国志」のゲームサービス(以下「本サービス」といいます)の利用に関し、利用希望者と当社の間に適用されるものとします。 2. 本サービスの利用希望者は、本サービスの利用に際し、本規約に同意するものとします。 3. 本サービスの利用希望者が未成年者である場合、本サービスの利用に際し、予め親権者等の法定代理人の同意を得るものとします。未成年者が本規約に同意した場合は、法定代理人の同意を得たものとみなします。 ■第2条(利用申込み) 1. 本サービスのお申込みは、ベクターが別途定める「ブラゲIDサービス利用規約」に同意し、ベクター所定の方法にてブラゲIDサービス会員登録を行い、「ブラゲID(以下「会員ID」といいます)」及びブラゲIDサービス会員資格を取得した方(以下「利用可能者」といいます)に限ります。 2. 本サービスは、日本国内に在住し、本規約に同意の上、ベクター所定の申込み手続きを正常に終了した利用可能者の方(以下「会員」といいます)のみ利用することができます。 3. 本サービスは無料サービスと有料サービスがあります。有料サービスについて、一度お支払い頂いたサービス料は一切ご返金できませんので、よくご確認の上、お申込み下さい。 4. 会員は、本サービスの利用料に加え、本サービスの利用にあたり必要なハードウェア、回線等の設備や電気代、電話代、インターネット接続にかかる費用やインターネットカフェの利用料等については、全て会員の責任、負担となります。 5. 当社は、会員が本規約に違反もしくは違反する恐れがあると認められる場合には、事前の通知又は催告なくサービス利用の一時停止、若しくはベクターとの協議の上、会員資格の取り消しができるものとします。 ■第3条(定義) 1. 本規約において、以下各号に掲げる用語は、当該各号に定める通りとします。 (1)「本サービス」とは、当社が運営・提供するオンラインゲーム『ブラウザ三国志』及び『ブラウザ三国志』専用のサービス全般をいいます。 (2)「利用可能者」とは、ベクターが別途定める「ブラゲIDサービス利用規約」に同意し、ベクター所定の方法にてブラゲIDサービス会員登録を行い、会員ID及びブラゲIDサービス会員資格を取得した方をいいます。 (3)「会員」とは、日本国内に在住し、本規約に同意した上でベクターが別途定める本サービス所定の手続きを行い、手続きを正常に完了させることにより本サービスの会員資格を取得した者をいいます。 (4)「会員情報」とは、本サービスの利用希望者がブラゲIDサービス会員資格、及び本サービス会員資格を取得する際に登録すべき情報、又はブラゲIDサービス、及び本サービスに関して会員が登録した情報をいいます。 (5)「プレイヤーデータ」とは、本サービスに関して、会員がゲームサーバーに個別に保有するデータ、本サービスを通じて送受信したデータ、及び本規約第5条で定める「チャージポイント(CP)」をいいます。 ■第4条(プレイヤーデータ) 1. 会員は、当社が提供する各ワールドにおいて、プレイヤーデータをひとつ作成することができるものとします。 2. 会員は、複数の会員IDを用いて同一ゲームサーバー内に自己が作成・管理するプレイヤーデータを複数作成してはならないものとします。又、当社は、同一人物が同一ゲームサーバー内に複数のプレイヤーデータを作成・管理していると判断した場合、通知又は承諾を要することなく当該プレイヤーデータの削除、若しくはベクターとの協議の上、当該プレイヤーデータに紐付く会員の会員資格を取り消すことができるものとします。 3. 何らかの事由により会員が会員資格を喪失した場合、当社は当該会員のプレイヤーデータを削除できるものとします。 4. 会員が一定期間ログインしていない場合、当社は通知又は承諾を要することなく当該会員のプレイヤーデータを削除できるものとします。又、会員はプレイヤーデータの削除を予め承諾しているものとします。 5. 当社は、理由の如何を問わず、プレイヤーデータの全て又は一部について、他のプレイヤーデータへの移し変えに応じないものとします。 6. 会員は、プレイヤーデータの一部又は全てを営利目的で第三者に貸与、販売、転売し、現金並びに電子通貨を含むその他の通貨を得てはならないものとします。 ■第5条(チャージポイント) 1. 「チャージポイント(CP)」とは、本サービスにおいて利用することができる、電子上で管理するポイントシステムのことをいいます。 2. 会員は、本サイトにおいてベクターが定める決済手段・方法によりチャージポイント(CP)の購入手続きを行うことができるものとします。 3. 会員は、チャージポイント(CP)購入手続きにより発生する料金を支払うものとします。当社は当該手続きの完了によって決済が正常に行われた事を確認の上、購入手続き時に利用していたゲームサーバーのプレイヤーデータに支払額に応じたチャージポイント(CP)を付与するものとします。 4. 会員は、前二項以外に当社が定める一定の場合に、チャージポイント(CP)を入手することができます(以下、前二項に定めるチャージポイント(CP)購入手続きとあわせて「チャージポイント(CP)獲得」といいます)。 5. 会員は、インターネットの特性上、チャージポイント(CP)獲得からプレイヤーデータにチャージポイント(CP)の付与が完了するまで、時間差が生じる可能性があることを予め了承するものとします。 6.. 会員IDが保有するチャージポイント(CP)は、次の各号に該当する場合にその一切を失効するものとします。 (1)各チャージポイント(CP)獲得日から起算して180日が経過した場合。 (2)本規約第7条で定める事由により本サービス全体又は一部を終了する場合。なお、その場合は当該有効期間に関わらず失効するものとします。 (3)本規約第4条で定める事由によりプレイヤーデータが削除された場合。 (4)何らかの事由により会員資格を喪失した場合。 7. 会員は、チャージポイント(CP)を第三者に譲渡、貸与、売買等一切してはならないものとします。 8. 当社は、理由の如何を問わず、チャージポイント(CP)購入料金の払い戻し及び第三者の発行する電子通貨等への変換に応じないものとします。 9. 当社は、会員がチャージポイント(CP)を消費して得たゲーム内アイテム及び効果について、チャージポイント(CP)の払い戻しに応じないものとします。 10. 当社は、理由の如何を問わず、会員がゲームサーバーに個別に保有するチャージポイント(CP)について、他のプレイヤーデータへの移し変えに応じないものとします。 11. 当社は、理由の如何を問わず、チャージポイント(CP)を消費して得たゲーム内アイテム及び効果について、他のプレイヤーデータへの移し変えに応じないものとします。 12. 未成年者がチャージポイント(CP)の購入手続きを行った場合、予め親権者等の法定代理人の同意を得ているものとみなします。 13. 会員の行為が前項に違反していると当社が判断した場合、当該購入手続きに使用された会員IDは、本規約及び「ブラゲIDサービス利用規約」に基づき、会員資格を喪失するものとします。 ■第6条(禁止事項) 1. 会員は、本サービスの利用にあたり、以下の行為を行ってはならないものとします。 (1)利用登録、利用申請又は登録情報変更時において虚偽の内容を登録する行為。 (2)会員ID情報を第三者に譲渡又は使用させる行為。 (3)第三者に会員としての地位を譲渡する行為。 (4)本サービスの利用者が複数の会員IDを取得し、同一ゲームサーバー内に複数のプレイヤーデータを作成する行為。 (5)日本国外から本サービスを利用する行為。 (6)他者を差別、誹謗中傷する行為。 (7)他者の名誉、プライバシー又は信用を侵害する行為。 (8)他者に経済的又は精神的な損害を与える行為。 (9)当社、ベクター従業員又は第三者になりすます行為、当社、ベクター又は第三者との提携、協力関係の有無を偽る行為。 (10)猥褻又は暴力的なメッセージ・画像・映像・音声等を送信、掲示、発信する行為。 (11)公序良俗に反する行為。 (12)脅迫的行為。 (13)ストーカー行為や他者に不快感を与える行為。 (14)当社、ベクター、又は第三者の知的財産権(特許権、意匠権、商標権、著作権等)を侵害する行為。 (15)当社によって承認されていない勧誘、営業、広告、宣伝活動に該当する行為。 (16)本サービスを当社の事前の書面による許可なく営利目的で利用する行為。 (17)第三者の個人情報を収集、蓄積する行為。 (18)スパムメール等を開示、掲載、送信、頒布する行為。 (19)当社のサーバーに不正にアクセスする行為。 (20)第三者の会員ID情報を不正に使用して本サービスを利用する行為。 (21)当社、ベクター又は第三者の各種設備を害するウィルスプログラム等を開示、掲載、送信、頒布する行為。 (22)本サービスの不具合を意図的に利用する行為。 (23)本サービスにおいて使用されているソフトウェア及びデータの全部もしくは一部を解析、複製、複写、修正、追加、改変及び二次利用する行為。 (24)当社又はベクターの定める利用条件、操作手順等に従わない行為。 (25)当社の行う本サービスの運営又はベクターの行う「ブラゲIDサービス」の運営を妨害する行為。 (26)その他、マナー違反など当社が不適当と認める行為。 (27)その他、当社が本サイトで禁止を告知した行為、又はベクターが「ブラゲタイム」公式サイトで禁止を告知した行為。 (28)前各号の行為を試みる行為、前各号に類する行為、前各号に該当する恐れのある行為、及びその他当社が不適切と判断した行為。 2. 本規約を違反した会員の行為によって当社、ベクター及び第三者に損害が生じた場合、本サービスの会員資格の喪失如何に関わらず、会員は全ての法的責任を負うものとします。 ■第7条(サービスの変更、制限、一時中止、終了) 1. 当社は、本サービスの運営・提供に関し、次のいずれかに該当すると判断した場合、会員への事前通知又は承諾を要する事なく本サービス全体又は一部を変更、制限、一時中止、若しくは終了する事ができるものとします。 (1)本サービスの運営・提供に必要な設備の故障等の事由により緊急に保守を行う場合。 (2)戦争、暴動、騒乱、労働争議、地震、噴火、洪水、津波、火災、停電その他の非常事態、または不可抗力の事由により、本サービスの運営又は提供が困難と当社が任意に判断した場合。 (3)運用上又は技術上の理由でやむを得ない場合。 2. 前項で定められた事由の他、当社は、当社の任意の判断において、会員の承諾を要する事なく本サービス全体又は一部を終了する事ができるものとします。 3. 当社が本サービスを変更、制限、一時中止、又は終了した場合であっても、当社は会員に対していかなる責任も負わないものとします。 ■第8条(免責) 1. 当社及びベクターは、本サービスを会員に提供するにあたり、会員が被ったいかなる損害について、法令に定める場合を除き、一切の責任を負わないものとします。 2. 当社及びベクターは、会員同士もしくは会員と第三者において生じた紛争や損害につき、一切の責任を負わないものとします。 3. 当社は、会員の行為が本サービスの目的に照らし不適切と判断した場合、当該会員に対する通知又は承諾を要する事なく、当該情報及び当該会員が本サービスにおいて保有するプレイヤーデータを削除できるものとし、当該削除につき何ら補償を行わないものとします。 ■第9条(保証の否認) 1. 会員は、自己の責任において本サービスを利用することに明示的に合意するものとし、本サービスに起因して会員が被った損害について全責任を負うものとし、当社又はベクターは一切の責任を負わないものとします。 2. 当社又はベクターは、以下の内容について一切の保証を行うものではありません。 (1)本サービスの内容が会員の要求に合致する事。 (2)本サービスが中断されない事。 (3)本サービスにおいていかなる瑕疵もない事。 (4)会員が本サービスを通じて取得する情報が正確であり、信頼できるものである事。 (5)本サービスにおいていかなる法的欠陥・瑕疵がない事。 (6)本サービスを通じて送受信した情報が所定の機器に保存される事、送信相手に受信される事、或いは画面上に表示される事。 3. 当社又はベクターは、会員が意図する本サービスの利用目的への適合性、或いは有用性等に関し、いかなる保証もしません。 ■第10条(損害賠償) 1. 会員の行為により当社又はベクターが損害を被った場合、及び会員の行為により他の会員又は第三者からクレームを受け当社又はベクターが損害を被った場合、当社又はベクターは当該会員に対して損害賠償を請求できるものとし、当該会員は直ちに請求金額を当社又はベクターに支払うものとします。 2. 会員と他の会員又は第三者との間の紛争により当社又はベクターが損害を被った場合、会員は当社又はベクターが被った損害を当社又はベクターに賠償しなければならないものとします。 ■第11条(権利の帰属) 1. 本サービスに関する著作権その他一切の権利は、当社又は権利を有する第三者に帰属します。 2. 本サービスにおいて会員が公開した本サービスに関連するアイデア等を、当社は会員の承諾を要する事なく、本サービスの改善の為に自由かつ無償で利用できるものとします。 ■第12条(規約の変更と追加) 1. 当社は、会員の承諾を要する事なく、任意に本規約の全部又は一部を変更、又は本規約に条項を追加する事ができるものとします。 2. 本規約を変更、又は本規約に条項を追加する場合、当社は、本サイト等で会員に対し、本規約の更新を告知するものとします。なお、本規約の更新後に、会員が本サービスを利用する事により、会員は、追加又は変更後の規約に同意したものとみなします。追加又は変更内容を会員が確認しない事により発生したいかなる損害について、当社又はベクターは責任を負いません。 ■第13条(管轄裁判所等) 1. 本サービスに関連して、会員と当社の間で紛争が生じた場合には、当該当事者がともに誠意をもって協議するものとします。 2. 前項により両者が協議をしても解決しない場合、東京地方裁判所を第一審の専属管轄裁判所とするものとします。 3. 会員は、本サービスに関連するいかなる訴訟も、当該訴訟の原因が生じてから1年以内に開始されなければならない事に合意し、当該期間経過後は、そのような訴訟は、永久に提訴できないものとします。 4. 本契約の一部が、消費者保護法令の強行規定部分により効力を有しないとされる場合でも、その他の部分はこれに反しない最大の範囲で効力を有するものとします。 5. 本規約に関する準拠法は、日本法とします。 公示日 2009年6月10日 改訂日 2009年7月15日 改訂日 2010年12月22日 改訂日 2011年9月20日 改訂日 2011年10月3日
https://w.atwiki.jp/selflearn/pages/16.html
「第2章 データによる抽象の構築」で提示されている問題を解いています。 目次 問題2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.33 2.34 2.35 2.36 2.37 2.38 2.39 2.40 2.41 2.42 2.43 問題 2.1 最初に自分で作った手続き。 (define (make-rat n d) (define (rat abs-n abs-d g symbol) (cond ((= d 0) (error "denom MUST NOT zero.")) (else (cons (* symbol (/ abs-n g)) (/ abs-d g))))) (rat (abs n) (abs d) (abs (gcd n d)) (/ (* n d) (* (abs n) (abs d))))) 正負を決定する時の+/-の判別処理と、その結果をsymbolに入れて使っている部分は自分でも面白いと思うけど、いかんせん全体で汚いコードになってしまっている。それに対して、解答の記述は (define (make-rat n d) (let ((g (abs (gcd n d)))) (if ( d 0) (cons (/ (- n) g) (/ (- d) g)) (cons (/ n g) (/ d g))))) やっぱり、式に対してどういうパターンがあるかを見極めた上でコーディングするべきだと思った。 で、ちょっと調べてみた。 gosh (gcd 6 9) 3 gosh (gcd -6 9) 3 gosh (gcd 6 -9) -3 gosh (gcd -6 -9) -3 なるほど、それでgcdの正の数にしておいて、分母が負のときに符号を反転しているんだ。 2.2 考えたけれど、次のような抽象の壁を作成しよう。 抽象度 手続き 高 ユーザー ↑ midpoint-segment, start/end-segment | make-segment, x/y-point ↓ make-point 低 cons,car,cdr この表を元に作成したのが、これ。 (define (make-point x y) (cons x y)) (define (x-point point) (car point)) (define (y-point point) (cdr point)) (define (make-segment start end) (cons start end)) (define (start-segment seg) (car seg)) (define (end-segment seg) (cdr seg)) (define (avg a b) (/ (+ a b) 2)) (define (midpoint-segment seg) (cons (avg (x-point (start-segment seg)) (x-point (end-segment seg))) (avg (y-point (start-segment seg)) (y-point (end-segment seg))))) ここで1点気になった。make-segmentやstart/end-segment手続きは、car/cdr/consといった最下層の手続きとは離れている。にも関わらずcar/cdr/consを使うのは、データ構造を意識させてしまうから良くないのでは?各壁で対を作る手続きを提供した方がいいのでは(面倒だけど)? さらにその理屈から言えば、SICP(2.1 データ抽象入門)の「2.1.2 抽象の壁」にある壁もユーザーがmake-ratを直接使っていたけれど、避けた方がいい・・・けれどそれだと何だかおかしい。 ちょっと待て。抽象の壁と、構造化設計モジュール図(またはUMLのオブジェクト図)の考え方は違うのか? うー、分からなくなってきた・・・。 2.3 まず、いきなり誤読。文中の「長方形(rectangle)」と「四角形(quadrilateral)」は違うのだ。Wikipediaの説明を引用すると、 長方形(ちょうほうけい)、矩形(くけい)は、4つの角がすべて等しい四角形である。4つの角はすべて直角となる。 となっている。必死に四角形なるデータ構造を作ろうとしていた・・・(*1)。 というわけで再チャレンジ。 まず、縦・横を表す2つの線分で長方形を表現するタイプ。 (define (make-rectangle a b) (cons a b)) (define (height-rectangle a) (length-segment (car a))) (define (width-rectangle a) (length-segment (cdr a))) (define (length-segment a) (sqrt (+ (square (- (x-point (start-segment a)) (x-point (end-segment a)))) (square (- (y-point (start-segment a)) (y-point (end-segment a))))))) 次に幅×高さの長さで長方形を表現するタイプ。 (define (make-rectangle height width) (cons height width)) (define (height-rectangle a) (car a)) (define (width-rectangle a) (cdr a)) これらはいずれも同じ長さ・面積を計算する手続きが利用できる。 (define (perimeter r) (+ (* 2 (height-rectangle r)) (* 2 (width-rectangle r)))) (define (area r) (* (height-rectangle r) (width-rectangle r))) こんな感じでいいかな。 2.4 (define (cons x y) (lambda (m) (m x y))) (define (car z) (z (lambda (p q) p))) (define (cdr z) (z (lambda (p q) q))) consを使うと、「引数を1つ取り、その引数に値x,yで評価させる」手続きを返す。一方、car/cdrはconsで生成した手続きに対して、「引数を2つ取り、その内のどちらかを返す」手続きを渡している。 それによって、consで手続きを生成した時に渡した値のどちらかが得られる。 consで手続きを生成した時に、値x,yが閉包されている点がポイントだね。このような値が束縛される概念、Cではどういうふうに表現するべきなんだろう? 2.5 なぜ2^a*3^bを使って非正数の対が表現できるかの証明は省略。 (define (ex-cons a b) (* (expt 2 a) (expt 3 b))) (define (pair z value result) (if (= (remainder z value) 0) (pair (/ z value) value (+ result 1)) result)) (define (ex-car z) (pair z 2 0)) (define (ex-cdr z) (pair z 3 0)) 2.6 む・・・ダメ、全然ダメ。分からない。 (define zero (lambda (f) (lambda (x) x))) (define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x))))) まず脳内解釈をしてみる。 zero 「引数を1つ(f)とり、「引数を1つ(x)取り、その値をそのまま返す手続き」を返す手続き」を返す add-1 「引数を1つ(n←これも手続き)取り、「引数を1つ(f←これも手続き)取って、fでnを評価した結果で返る手続きでxを評価し、その結果をfで評価して返る手続き」を返す手続き」を返す いや、意味が分かりません。とりあえず入力&評価してみたものの、Closureが帰ってくるだけでどう利用するのかが分からない。 しょうがないのでChurch数とは何かを調べた。Blog Not Foundというページがヒットして、いわく ・・・要は、ある数は、ある関数fを何回xに適用するか、という定義にしてしまうのである。・・・ とのこと。こちらのページにも分かりやすい説明が載っている(解答まで)。ふむふむ。最初からそう言ってもらえれば。 で、今zeroは(lambda (x) x)となっていて、xをそのまま返している(=一度も関数fを適用していない)から0となるわけか。 (define inc (lambda (x) (+ x 1))) ((zero inc) 0) → 0 (((add-1 zero) inc) 0) → 1 ここでincを渡しているのは、この関数は関数を適用した回数が結果として得られるから。(lambda (x) (+ x 2))だとoneに渡した時には2が得られる、はず。 となると、まずoneとtwoはシンプルに考えて、 (define one (lambda (f) (lambda (x) (f x)))) (define two (lambda (f) (lambda (x) (f (f x))))) ((one inc) 0) → 1 ((two inc) 0) → 2 よし、次は加算。aはfをa回適用することなので、a+bはfをa回適用した後に、さらにb回適用すればいいのかな。 ここで少し手戻りして、lambdaが2回繰り返されるというのはどういう使い方になるかをメモ。oneを例にとります。 (define one (lambda (f) (lambda (x) (f x)))) は、 zeroに対して関数fを渡す 引数xを取る手続きが返ってくる 返ってきた手続きに対して値xを渡す 関数fを使ってxを1回評価してくれる となる。twoだと(f (f x))なので、xを関数fで2回評価。 おや・・・?すると、数値を表す手続きは、それ自体がfをn回評価してくれる手続きになっているわけか。特に再帰を繰り返さなくてもいいのかも。 そこで以下の式を作ってみた。 (define (add n1 n2) (lambda (f) (n1 (n2 f)))) (((add one two) inc) 0) → 2 (((add two two) inc) 0) → 4 ん? (define three (lambda (f) (lambda (x) (f (f (f x)))))) (((add two three) inc) 0) → 6 (((add three (add two three)) inc) 0) → 18 あらら、かけ算が出来てしまった・・・。 2つの数字手続きと値を評価する順番が違うのかな。 (define (add n1 n2) (lambda (f) ((n2 n1) f))) 今度はn1のn2乗になってしまった。あれれ? (define (add n1 n2) (lambda (f) (lambda (x) ((n1 f) ((n2 f) x))))) やっとできた。長かったー。 2.7 (define (lower-bound x) (car x)) (define (upper-bound x) (cdr x)) 2.8 (define (sub-interval x y) (make-interval (- (lower-bound x) (upper-bound y)) (- (upper-bound x) (lower-bound y)))) 最初はadd-intervalと同様にlower同士、upper同士で引き算をしていたけれど、そうではなかった。 なぜこの式で正しいか、ちょっと勉強しないと。そういうものなのだろうか? 2.9 省略。別にいいでしょ。(←言い訳) 2.10 0を跨がる区間で除算をしたときに、lower/upperの符号が値とは逆になってしまう問題があるのは分かった。この時にエラーを返せばいいので、 (define (new-div-interval x y) (let ((yl (lower-bound y)) (yu (upper-bound y))) (if (and ( yl 0) ( 0 yu)) (error "error" yl yu) (mul-interval x (make-interval (/ 1.0 yu) (/ 1.0 yl)))))) これでいいはず。 2.11 ギブアップ。写経してみる。 (define (new-mul-interval x y) (let ((xl (lower-bound x)) (xu (upper-bound x)) (yl (lower-bound y)) (yu (upper-bound y))) (cond (( xu 0) (cond (( yu 0) (make-interval (* xu yu) (* xl yl))) (( yl 0) (make-interval (* xl yu) (* xl yl))) (else (make-interval (* xl yu) (* xu yl))))) (( xl 0) (cond (( yu 0) (make-interval (* xu yl) (* xl yl))) (( yl 0) (make-interval (min (* xl yu) (* xu yl)) (max (* xl yl) (* xu yu)))) (else (make-interval (* xl yu) (* xu yu))))) (else (cond (( yu 0) (make-interval (* xu yl) (* xl yu))) (( yl 0) (make-interval (* xu yl) (* xu yu))) (else (make-interval (* xl yl) (* xu yu)))))))) 場合分けの嵐になっている。9つの場合分けなので、しょうがないけれど。 でも、まだこの場合分けで良いのかどうか、なぜ2回評価されるかが分からない。今後の課題(溜まっているなあ)にさせてくださいお願いします。 2.12 やっと僕にも解ける問題がやってきた(情けない・・・)。 まず、作ったのが以下の手続き。 (define (make-center-percent c p) (make-interval (- c (* (/ c 100.0) p)) (+ c (* (/ c 100.0) p)))) (define (percent i) (* (/ (width i) (center i)) 100.0)) gosh (percent (make-center-percent 100 15)) 15.0 gosh (percent (make-center-percent 100 7)) 7.0 gosh (percent (make-center-percent 35 7)) 7.000000000000008 うん、大丈夫。と思って解答を見たら、 (define (make-p c p) (let ((w (/ (* c (/ p 100)) 2))) (make-center-width c w))) なんてやっている。letを使っているのは見習いたいけれど、これは違うんじゃないか?2.1.4の冒頭で、 例えば「10パーセントの許容誤差で6.8オーム」と書いてある抵抗を買えば、抵抗値は6.8-0.68=6.12と6.8+0.68=7.48オームの間の抵抗値を持っているということしか確かでない とあるのに、解答の手続きでは[6.46, 7.14]になってしまうから。let内の1/2倍は余分なんだね。 2.13 すみません、分かりません。飛ばします。 2.14 gosh (define a (make-center-percent 10 1)) a gosh (percent (div-interval a a)) 1.9998000199979908 割った結果の相対誤差が倍の2%になっている。 2.15 (define (par1 r1 r2) (div-interval (mul-interval r1 r2) (add-interval r1 r2))) (define (par2 r1 r2) (let ((one (make-interval 1 1))) (div-interval one (add-interval (div-interval one r1) (div-interval one r2))))) gosh (define a (make-center-percent 10 1)) a gosh (percent (par1 a a)) 2.9992002399280135 ← 誤差が3%になっている gosh (percent (par2 a a)) 0.9999999999999963 ← 誤差は1%のまま 設問のとおり、確かにpar1よりpar2の方が精度が良い。もうちょっと調べてみると、 gosh (percent (par1 (par1 a a) a)) 5.660807155635733 gosh (percent (par1 (par1 a a) (par1 a a))) 8.976076075554126 gosh (percent (par2 (par2 a a) a)) 0.9999999999999966 gosh (percent (par2 (par2 a a) (par2 a a))) 0.9999999999999963 gosh (percent (par2 (par2 a a) (par1 a a))) 1.999800019997993 となっている。par1が評価されるほど誤差が大きくなっているということは、誤差を生みやすい区間データを使うほど誤差が大きくなるということ、かも(自信なし)。 だから、データが評価される回数が少ないpar2の方が「よい」プログラムであるということか。 2.16 注意:この問題は非常に難しい とあるので、後回し。 2.17 忙しさにかまけ、以前の問題を解いてから3日も経ってしまった。また隙を見ては続けていかねば。 で、ここからはリストが登場。 (define (last-pair items) (if (null? (cdr items)) items (last-pair (cdr items)))) 2.18 逆からリストを辿ったときに、リストと値という対を作ったり、先頭がヌル、つまり末尾のヌルも含めて逆順にしてしまったり(出来上がったリストの末尾は数字)と予想外に苦労した。再帰的手続きで当初書いていたけれど、断念して反復的手続きに方針変更。それで何とか完成した。 (define (reverse items) (define (rev-itr list1 list2) (if (null? list1) list2 (rev-itr (cdr list1) (cons (car list1) list2)))) (rev-itr items ())) ちなみに解答ではどうしているんだろう?と思って見てみたら、 (define (reverse l) (if (null? l) () (append (reverse (cdr l)) (list (car l))))) というように本書の説明文中で作成したappend手続きを使用していた。なるほどね。あと、ポイントは最終行で単に「(car l)」としないで、「(list (car l))」としているところ。なるほど、こうすれば末尾も対で構成されるよ。 2.19 1.2.2 例:両替の計算で紹介されていた、指定金額を両替するときの全組み合わせを求める計算で、コインの並びをリストで実現する方法について。メインルーチンはすでにテキストに載っていたので、問題はその一部をリストが使用できるように置き換えるだけだった。 (define us-coins (list 50 25 10 5 1)) (define uk-coins (list 100 50 20 10 5 2 1 0.5)) (define jp-coins (list 500 100 50 10 5 1)) (define (cc amount coin-values) (define (no-more? coins) (null? coins)) (define (first-denomination coins) (car coins)) (define (except-first-denomination coins) (cdr coins)) (cond ((= amount 0) 1) ((or ( amount 0) (no-more? coin-values)) 0) (else (+ (cc amount (except-first-denomination coin-values)) (cc (- amount (first-denomination coin-values)) coin-values))))) (cc 100 us-coins) = 292 (cc 100 jp-coins) = 159 (cc 100 uk-coins) = 104561(計算に時間がかかった) で、この問題のもう1つの質問: リストcoins-valuesの順は、ccの答に影響があるか。なぜか。 が分からない。影響があるかどうかは「順番には影響がない」と1.2.2の説明文で書いてあったんだけど、理由が分からない。何だろう?今後の宿題にしておこう。 2.20 まずは自力で解いた方法。反復的手続きを使用している。 (define (same-party first . rest) (define (itr matched? l1 l2) (cond ((null? l1) (reverse l2)) (else (if (matched? (car l1)) (itr matched? (cdr l1) (cons (car l1) l2)) (itr matched? (cdr l1) l2))))) (itr (if (= (remainder first 2) 0) (lambda (x) (= (remainder x 2) 0)) (lambda (x) (= (remainder x 2) 1))) (cons first rest) ())) l1が最後に空リストになったときの結果が逆順になっているため、問題2.18のreverse手続きを使用している点が気になる。 そこで解答を見て、それを参考にもう一度解いた。 (define (same-party2 first . rest) (define (itr matched? l1) (cond ((null? l1) ()) ((matched? (car l1)) (cons (car l1) (itr matched? (cdr l1)))) (else (itr matched? (cdr l1))))) (itr (if (= (remainder first 2) 0) (lambda (x) (= (remainder x 2) 0)) (lambda (x) (= (remainder x 2) 1))) (cons first rest))) こちらは再帰的手続きになっている。リストを扱う上で、反復的手続きではどうしても逆順になってしまうのだろうか? 2.21 mapを使い始める。 (define (sq x) (* x x)) (define (square-list items) (if (null? items) () (cons (sq (car items)) (square-list (cdr items))))) (define (square-list-map items) (map sq items)) map、超便利。 2.22 これは僕が2.20で悩んだのと同じことだ! 最初に作った手続き: (define (sq-list-rep items) (define (iter things answer) (if (null? things) answer (iter (cdr things) (cons (sq (car things)) answer)))) (iter items ())) これは(1^2 . ())→(2^2 . (1^2 . ()))→(3^2 . (2^2 . (1^2 . ())))というように評価されていってしまうから、結果が逆順になってしまう。 「それならば」とconsする順番を変えただけの手続き(これも作ってしまった経験あり): (define (sq-list-rep items) (define (iter things answer) (if (null? things) answer (iter (cdr things) (cons answer (sq (car things)))))) (iter items ())) これは(() . 1^2)→((() . 1^2) . 2^2)→というようにconsしていくため、やはりうまくいかない。 ではどうすれば良いのか、がまだ分からない。解答にも書いてなかったし・・・。 2.23 (define (for-each func items) (cond ((null? items) #t) (else (func (car items)) (for-each func (cdr items))))) ifではなくてcondを使えば複数の式を同じ条件のときに書けるので、それを利用した。ところがSICP Reading's Wikiの解答例を見たら、 弾さん曰く、「(define for-each map) でいいじゃない」とのこと。 確かに...。 という記述があった。試してみると、最後に返す値こそ違うが、確かに同じだ。へぇへぇ(古い)。 (define for-each2 map) 2.24 省略。 ノートには手書きしてあるので、GraphvizかPower Pointを使って後で書こう。 2.25 (define x (list 1 3 (list 5 7) 9)) (define y (list (list 7))) (define z (list 1 (list 2 (list 3 (list 4 (list 5 (list 6 7))))))) (car (cdr (car (cdr (cdr x))))) ; - 7 (car (car y)) ; - 7 (cadr (cadr (cadr (cadr (cadr (cadr z)))))) ; - 7 2.26 (define x (list 1 2 3)) (define y (list 4 5 6)) (append x y) - (1 2 3 4 5 6) (cons x y) - ((1 2 3) 4 5 6) (list x y) - ((1 2 3) (4 5 6)) このルールはしっかり覚えておいた方が良さそうだ。 2.27 まず、自分で作ったdeep-reverse手続きは以下。 (define (deep-reverse items) (cond ((null? items) ()) ((pair? (car items)) (append (deep-reverse (cdr items)) (list (deep-reverse (car items))))) (else (append (deep-reverse (cdr items)) (list (car items)))))) これはこれできちんと動く。pair?のときとelseとで似たような処理になっているのが気にかかるものの、これ以上はシェイプアップできないでしょう!と思って解答を見た。 (define (deep-reverse items) (if (pair? items) (append (deep-reverse (cdr items)) (list (deep-reverse (car items)))) items)) あれ?何だか凄くシンプルになっている・・・。pair?で#tだった場合の処理は同じだけど、#fだった場合はlをそのまま返して、さらにnull?判定が無くなっている。あ、よく見るとpair?の判定対象が(car items)ではなくて、itemsそのものを見ているな。 itemsが対かどうかを調べ、そうでない場合はitemsを直接返しているから、もはや空リストかどうかを調べる必要はないわけか(空リストもpair?で#fを返す)。あー・・・処理を追っていると確かに同じだ。 2.28 また解答を見てしまった。最近はペースも落ちているし、もっと学習への意欲を燃やさなければ。 (define (fringe l) (if (pair? l) (if (pair? (car l)) (append (fringe (car l)) (fringe (cdr l))) (cons (car l) (fringe (cdr l)))) l)) このロジックはファイルを階層的に走査して一覧を得るときとかによく使うテクニックになると思うので、よく見ておこう。 まず、pair?をlそのものと(car l)との2層2回実施している点に注目。ここで先にcar部が対かどうかを評価しようとすると、再帰処理の中で値が渡ったときに「リストじゃないよ」と怒られるのでアウト。だからまずlそのものが対かどうかを見ている。 あと、対だったときにcar部cdr部の双方で再帰させているけれど、そのときの結合方式がappendになっている点も注意。fringeが返すのはリストなので、リストとリストをconsしてもダメだからだ。 2.29 さて、じっくり解いていこう。 まずはa)のモビールの枝を返す手続きと、長さ、構成物を返す手続きを定義。 (define (left-branch mobile) (car mobile)) (define (right-branch mobile) (cadr mobile)) (define (branch-length branch) (car branch)) (define (branch-structure branch) (cadr branch)) これは簡単。 次はb)で、モビールの全重量を返す手続きtotal-weightの定義。a)で作った定義を使わないといけないが、さてどうしたものか。 (define (has-mobile? branch) (pair? (branch-structure branch))) (define (total-weight m) (define (branch-weight b) (if (has-mobile? b) (total-weight (branch-structure b)) (branch-structure b))) (+ (branch-weight (left-branch m)) (branch-weight (right-branch m)))) うん、解けた。内部で手続きをもう1つ作っているのはあまりキレイではない気がするけれど、これでも良いと思う。 ただ、これだとmobileそのものが単なる値だった場合に対処できない。そこで解答を参考に、mそのものをpair?で評価し、対でなければmをそのまま返すよう変更した。 (define (total-weight m) (if (not (pair? m)) m (let ((l-b (left-branch m)) (r-b (right-branch m))) (let ((l-s (branch-structure l-b)) (r-s (branch-structure r-b))) (+ (total-weight l-s) (total-weight r-s)))))) これなら動作が明確になるので、気軽に使えるような手続きになっているかな。やはり、エラー処理を含む特殊処理は大切だ。 で、c)。作ったモビールがバランスが取れているかどうかを返すbalanced手続きを作る。どうやって式を組み立てるかで悩んだ。 つまるところ、 今見ているモビールの、左右の回転力が等しい 左側のバランスが取れている 右側のバランスが取れている という3つの条件がandで揃えば#tを返せばいい。それ以外は#f。あとは再帰をストップさせる条件として、単なる錘がぶら下がっている枝のバランスは常に#tを返すことを追加する。 それが下の手続き: (define (balanced m) (if (not (pair? m)) #t (let ((left-b (left-branch m)) (right-b (right-branch m))) (let ((left-l (branch-length left-b)) (right-l (branch-length right-b)) (left-s (branch-structure left-b)) (right-s (branch-structure right-b))) (and (= (* left-l (total-weight left-s)) (* right-l (total-weight right-s))) (balanced left-s) (balanced right-s)))))) なんて簡単に書いたけど、実際には相当苦労した。 回転力を求める手続きを別に作った方が良いのか、and手続きは一度に2つの式しか評価できないのでは、とか(and/orは幾つでも引数を取れる)。あとは回転力を部分モビールごとに見ようとした時、毎回total-weight手続きを使うと計算回数が多くなってしまうのではという点が特に気になって、考えが進まなかった。 でも、解答を見たら毎回のモビールで使っていたので、まあいいやということで。 d)のモビールのデータ構造をlistではなくconsにした時の、これまで作った手続きへの影響はどれくらいかという質問は、(list→cons程度の)変更には対応できる抽象化を行っているので、right-branchとbranch-structureで使っているcadrをcdrに変更するだけでオーケー。 でも、consではなく別のデータ構造に変える場合は注意が必要。だってpair?という対に対する基本手続きを使ってしまっているから。 2.30 これはSICP(2.2 階層データ構造と閉包性)の「木と写像」にあるサンプルとほとんど変わらないので、そのまま。 (define (square-tree1 tree) (cond ((null? tree) ()) ((not (pair? tree)) (* tree tree)) (else (cons (square-tree1 (car tree)) (square-tree1 (cdr tree)))))) (define (square-tree2 tree) (map (lambda (item) (if (pair? item) (square-tree2 item) (* item item))) tree)) 上が再帰による写像で、下がmapを使った写像。最初mapの方でitemが対だったときに(square-tree2 (car item))としてしまった。 mapの1回の処理で見ているのは木全体ではなくその1つなので、carしたりcdrしたりする必要は無いのだ。 2.31 (define (tree-map f tree) (map (lambda (item) (if (pair? item) (tree-map f item) (f item))) tree)) 簡単、簡単。 2.32 「リストの各要素からなる全ての組み合わせを求めよ」という、とても面白い問題。そう言う問題も解けてしまうんだ。 けれど1つ前で「簡単、簡単♪」何て言っていた割にはすぐに挫折。眠い頭ではどうしても分からなかったのです。 解答を見た。 (define (subsets a) (if (null? a) (list ()) (let ((rest (subsets (cdr a)))) (append rest (map (lambda (x) (cons (car a) x)) rest))))) ダメだ、見ても意味が分からない。 ただ、これをそのまま実行しても次のような変な値が返ってくる。 gosh (subsets (1 2 3)) gosh ((#0=(#1=(()) #2=((3))) #3=((2 . #1#) (2 . #2#))) ((1 . #0#) (1 . #3#))) これはどうしたらいいだろうとググってみたら、このページで(display)を使うと良いと書いてあった。 gosh (display (subsets (1 2 3))) gosh (() (3) (2) (2 3) (1) (1 3) (1 2) (1 2 3))# undef ほんとだ。でも、何でだろうか。 上で紹介したページhttp //sicp.naochan.com/でもSICPを読み進めていて、しかも1つ1つ丁寧に、だいぶん進んでいる。追いつくことは無理だけど、僕も最後まで頑張ろう。 2.33 (define (my_map p sequence) (accumulate (lambda (x y) (cons (p x) y)) () sequence)) (define (my_append seq1 seq2) (accumulate cons seq2 seq1)) (define (my_length sequence) (accumulate (lambda (x y) (+ y 1)) 0 sequence)) 部品の積み重ねが作業効率を向上させる、というのは本当だ(そのぶん細部のアルゴリズムは隠されて分からなくなってしまうけど)。 最後のlengthだけは、最初(lambda (x y) (+ x 1))としていて手こずった。xをインクリメントする方法だと、並びの最初の要素が+1された値が返るだけだったので。 そうしないといけないというのはaccumulateの内部構造を分かってないといけないから、抽象化という視点ではどうなんだろう。 2.34 Hornerの公式をここでのConventional Interfaceで実装してみよう、という問題。 (define (horner-eval x coefficient-sequence) (accumulate (lambda (this-coeff higher-terms) (+ (* this-coeff x) higher-terms)) 0 coefficient-sequence)) 解答を見てしまった・・・。 どうもaccumulate手続きによって渡される2引数(特に2つ目)の意味が分かっていないなあ。accumulate手続きの定義を見ると、2つ目の引数は"(accumulate op initial (cdr sequence))"とあるから、並びの残りの要素に対してaccumulate手続きを評価した結果をかえすわけか。 (2007/7/30)上山さんからTYPOの指摘。lambdaの中の引数の使い方が間違っていて、正しくは (define (horner-eval x coefficient-sequence) (accumulate (lambda (this-coeff higher-terms) (+ (* higher-terms x) this-coeff)) 0 coefficient-sequence)) でした。ありがとうございます。→上山さん 2.35 すでに木構造をイテレートする手続きenumerate-treeを持っているので、簡単だった。 (define (count-leaves t) (accumulate + 0 (map (lambda (x) 1) (enumerate-tree t)))) Just it! 2.36 そうかー、(map car seqs)と(map cdr seqs)を使うのか。確かに「並び」の「並び」から同じ位置にある値を取り出せる。 きっと行列演算に使い回しが効きそうな予感。目からウロコの表現だった。 (define (accumulate-n op init seqs) (if (null? (car seqs)) () (cons (accumulate op init (map car seqs)) (accumulate-n op init (map cdr seqs))))) 2.37 tranpose以外は写経。行列は苦手だったんで・・・。ていうか、相変わらず苦手なのにもがっくり。 (define (matrix-*-vector m v) (map (lambda (x) (dot-product v x)) m)) (define (transpose mat) (accumulate-n cons () mat)) (define (mat-*-mat m n) (let ((cols (transpose n))) (map (lambda (x) (map (lambda (y) (dot-product x y)) cols)) m))) 2.38 (fold-right / 1 (list 1 2 3)) → 3/2 (fold-left / 1 (list 1 2 3)) → 1/6 (fold-right list () (list 1 2 3)) → (1 (2 (3 ()))) (fold-left list () (list 1 2 3)) → (((() 1) 2) 3) (fold-right cons () (list 1 2 3)) → (1 2 3) (fold-left cons () (list 1 2 3)) → (((() . 1) . 2) . 3) これは(op a b)と(op b a)が同じ値を返せば、fold-left/rightに関係なく同じ値を返す。 (2007/7/30)こちらも上山さんからの指摘。上記の交換則だけでなく、結合則も満たしていないといけないとのこと。割り算や引き算は交換則・結合則共に満たしていないから駄目なんですね。 色々とご指摘ありがとうございました。 2.39 はい、また間が空いてしまいました。いかんよ。 (define (reverse-left seq) (fold-left (lambda (x y) (cons y x)) () seq)) (define (reverse-right seq) (fold-right (lambda (x y) (append y (list x))) () seq)) 上記の問題はguileで解いています。なのでリストの作り方がGaucheと違うことに注意。 appendは以前の演習問題でも解いたけれど、これは組込みの手続きなので自由に使ってもよい。とはいえ、ついつい存在を忘れてしまうんだよなあ。 今後かなり使うことになると思うから、今この場で覚えてしまおう。 2.40 (define (unique-pairs n) (flatmap (lambda (i) (map (lambda (j) (list i j)) (enumerate-interval 1 (- i 1)))) (enumerate-interval 1 n))) (define (prime-sum-pairs n) (map make-pair-sum (filter prime-sum? (unique-pairs n)))) unique-pairsの方は71ページの中である対の作り方を(ほぼ)そのまま使えば良くて、あとは既存のprime-sum-pairs手続きに組み合わせるだけ。 簡単なんだけれど、風邪を引いていたため以前の更新(2007/2/28)から間が空いてしまい、何だか手こずった。 2.41 「与えられた整数nに対し、nより小さいか等しい相異なる正の整数i,j,kの順序付けられた3つの組で、和が与えられた整数sになるものを全て見つけよ」という問題。見るからに手応えがありそう。 まず、この手続きは「組を制限づける整数n」と「抽出条件s」の2つの引数を持つことが分かる。そして、 nより小さいか等しい相異なる正の整数i,j,kの順序付けられた3つの組の並びを作る 和がsにならない物を除外する という2つの手続きを作り組み合わせることが必要そうだ。 1の手続きを考える前に、2の方が簡単そうなので先に定義しておく: (define (remove-diff-sum s seq) (filter (lambda (x) (= s (accumulate + 0 x))) seq)) gosh (remove-diff-sum 5 ((1 2) (1 2 3) (2 3))) ((2 3)) さて1をどうするか。ユニークなペアを作る手続きunique-pairsは問題2.40で作ったので、それを応用すればいいかなと作ってみたのが以下の手続き。 (define (unique-triples n) (filter (lambda (x) (not (null? x))) (flatmap (lambda (k) (map (lambda (j) (map (lambda (i) (list i j k)) (enumerate-interval 1 (- j 1)))) (enumerate-interval 1 (- k 1)))) (enumerate-interval 1 n)))) ところがこれを実行したら、 gosh (unique-triples 4) (((1 2 3)) ((1 2 4)) ((1 3 4) (2 3 4))) というように木の中に要素が入ってしまった。ここから更に数え上げるフィルタを付けてあげれば良いのかもしれないけれど、きっともっと良い解法があるんだろうなぁ・・・と思って解答を見てしまった。 そうしたら、unique-pairsで作った並びにもう1つの値をconsしているという、単純な仕組みだった。 (define (unique-triples n) (flatmap (lambda (i) (map (lambda (jk) (cons i jk)) (unique-pairs (- i 1)))) (enumerate-interval 1 n))) ポイントは、iがenumerate-intervalで作られた数値であるのに対して、jkはunique-pairsで作られた並びであること。だからijと記しているし、consを使っているわけだ。 さいごはこれを組み合わせるだけ。 (define (s-sum-triples n s) (remove-diff-sum s (unique-triples n))) gosh (s-sum-triples 10 15) ((6 5 4) (7 5 3) (7 6 2) (8 4 3) (8 5 2) (8 6 1) (9 4 2) (9 5 1) (10 3 2) (10 4 1)) できた! 2.42 アルゴリズムと言えば有名な「エイトクイーンパズル」。この問題、そういえば大学のC言語の授業でやったなあ。1年生のときだったから、考えてみれば12年前か。 そんなに経つのか。懐かしいなあ。 で、そんな懐かしい問題を解けずに解答を見てしまう自分。情けない・・・Cならできるんだけれど、まだSchemeに慣れていないということか。 (define (queen board-size) (define (queen-cols k) (if (= k 0) (list empty-board) (filter (lambda (pos) (safe? k pos)) (flatmap (lambda (rest-of-queens) (map (lambda (new-row) (adjoin-position new-row k rest-of-queens)) (enumerate-interval 1 board-size))) (queen-cols (- k 1)))))) (queen-cols board-size)) (define empty-board ()) (define (adjoin-position new-row k rest-of-queens) (cons new-row rest-of-queens)) (define (safe? k pos) (define (safe1 x n) (or (= n k) (let ((y (list-ref pos n))) (and (not (= x y)) (not (= (- x y) n)) (not (= (- y x) n)) (safe1 x (+ n 1)))))) (safe1 (car pos) 1)) safe?に出てくる手続き(list-ref list id)は、渡されたリストのid番目の項目を返す手続き。初出だけれど、配列みたく使えるようになるので覚えておこう。 自分で作ったmy-list-refも載せておく。 (define (my-list-ref seq n) (if (= n 0) (car seq) (my-list-ref (cdr seq) (- n 1)))) 2.43 省略。2.42のロジックも出来ていないのに解けないよ。
https://w.atwiki.jp/battleoperation-next/pages/169.html
このページはなに? 親ページである検証・データページの 検証手続き詳細 や, 古いデータ 等,検証結果のみを知る上で不必要な内容を退避させたページです. このページはなに? ダメージに関する項目ダウン値の計測方法検証方法 攻撃側機体 防御側機体 検証手続き 結果 マニュアル射撃時のダウン値補正検証方法 攻撃側機体 防御側機体 検証手続き 結果 よろけ値の計測方法検証方法 攻撃側機体 防御側機体 検証手続き 結果 ダメージに関する項目 ダウン値の計測方法 ダウン値が 5 以上になると強制ダウンする ※2015.12.02:wiki民有志(匿名)により検証 検証方法 システムが似ているゲームに合わせて強制ダウンするダウン値は5とし、これを基準に計算する 攻撃側機体 強制ダウンしない武装を2種類所持している機体を使う モジュール・マスタリーは全て外す 防御側機体 演習場のザク 攻撃側機体 条件 機体 OS A ジム 装甲Ⅱ 防御側機体 条件 機体 OS 備考 a ザクⅡ ノーマル? 恐らくLv1相当 検証手続き HPフルの機体 a を用意 A が直立不動の a に対して正面から強制ダウンするまで射撃 強制ダウンに必要だった弾数を記録する 上記を射撃する武装を変えながら繰り返す 記録から与ダウン値を予想し、結果と照合して矛盾が発生しない値を見つける 結果 武装 単発ダウン値 ビーム・スプレーガン 1.2 バルカン 0.25 強制ダウンに必要な射撃回数 ビーム・スプレーガン発射回数(回) バルカン発射回数(回) 与ダウン値 5 0 6.0 4 1 5.05 3 6 5.1 2 11 5.15 1 16 5.2 0 20 5.0 マニュアル射撃時のダウン値補正 マニュアル射撃を行うと加算されるダウン値が 75% に軽減される ※2015.12.02:wiki民有志(匿名)により検証 検証方法 システムが似ているゲームに合わせて強制ダウンするダウン値は5とし、これを基準に計算する 攻撃側機体 強制ダウンしない武装を2種類所持している機体を使う モジュール・マスタリーは全て外す 防御側機体 演習場のザク 攻撃側機体 条件 機体 OS A ジム 装甲Ⅱ 防御側機体 条件 機体 OS 備考 a ザクⅡ ノーマル? 恐らくLv1相当 検証手続き HPフルの機体 a を用意 A が直立不動の a に対して正面から強制ダウンするまでマニュアル射撃 強制ダウンに必要だった弾数を記録する 上記を射撃する武装を変えながら繰り返す 記録から与ダウン値を予想し、結果と照合して矛盾が発生しない値を見つける 結果 武装 単発ダウン値 ビーム・スプレーガン 0.9 バルカン 0.18 強制ダウンに必要な射撃回数 ビーム・スプレーガン発射回数(回) バルカン発射回数(回) 与ダウン値 6 0 5.4 5 3 5.04 4 8 5.04 3 13 5.04 2 18 5.04 1 23 5.04 0 28 5.04 よろけ値の計測方法 よろけ値が 1 以上になるとよろける ※2015.12.02:wiki民有志(匿名)により検証 検証方法 システムが似ているゲームに合わせてよろけるよろけ値は1とし、これを基準に計算する 攻撃側機体 強制ダウンしない武装を2種類所持している機体を使う モジュール・マスタリーは全て外す 防御側機体 演習場のザク 攻撃側機体 条件 機体 OS A ジム 装甲Ⅱ 防御側機体 条件 機体 OS 備考 a ザクⅡ ノーマル? 恐らくLv1相当 検証手続き HPフルの機体 a を用意 A が直立不動の a に対して正面からよろけるまで射撃 よろけに必要だった弾数を記録する 上記を射撃する武装を変えながら繰り返す 記録から与よろけ値を予想し、結果と照合して矛盾が発生しない値を見つける 結果 武装 単発ダウン値 ビーム・スプレーガン 0.35 バルカン 0.15 よろけに必要な射撃回数 ビーム・スプレーガン発射回数(回) バルカン発射回数(回) 与ダウン値 3 0 1.05 2 2 1 1 5 1.1 0 7 1.05
https://w.atwiki.jp/centrade/pages/12.html
Q.セントレード証券での、取引口座の開設方法を教えてください。 A.くりっく株365およびFX取引口座の開設は、Webサイトのお申し込み手続き後、 「個人番号の郵送」手続きが必要になります。 個人のお客様だけでなく、法人のお客様もオンラインで口座開設していただけます。 株式および投資信託用の口座開設には、証券口座の開設が必要になってくるので、 セントレード証券のHPより資料請求のうえ、申し込むと良いでしょう。詳しくはHPをご覧ください。 Q.入金方法を教えてください。 A.銀行振込により、セントレード証券の口座まで入金ください。 お客さまからのご入金が、セントレード証券で確認でき次第、買付可能額に反映してくれます。 なお、振込人名義は、必ずお客さまご本人の名義で振り込む必要があるので、振込時には注意してください。 また、振込手数料はお客さまのご負担となります。 それから、当日中に入金反映が必要な場合もあります。 その際は、営業日の15時までにセントレード証券で着金の確認ができるよう、入金手続きをしておく必要があります。 営業日の15時までに着金確認ができない場合は、入金反映が翌営業日扱いとなる場合がありますので、注意をしておきましょう。 Q.出金方法を教えてください。 A.【くりっく株365】の場合、セントレード証券の取引画面ログイン後の【口座管理】-【振込出金】画面より、 お客様の取引口座から、指定の銀行口座への振込手続きの依頼を行います。 「当日」に出金要請処理されたものは、「翌日」に出金処理されます。 振込先は、セントレード証券に登録している「振込先金融機関口座」となります。 Q.投資情報について教えてください。 A.毎日刻々と変化するマーケット情報を、Webサイトにてリアルタイムで届けています。 こちらは、セントレード証券のWebサイトにて価格情報もチェックできます。 ほかにも、為替相場の展望や注目銘柄に関する情報を、セントレード証券ではお届けしています。 「マーケットレポートWEEKLY」というもので、セントレード証券のホームページよりpdfファイルで確認できます。 毎週発行されているようなので、こちらも是非チェックしてみてください。過去の情報も閲覧することが出来ますよ。 Q.開催されているセミナーはあるのでしょうか? セントレード証券で口座を開設された方に向けて、くりっく株365・FX取引・株式・投資信託について、 初心者の方にも分かりやすく解説するといったセミナーが、定期的に行われているようですよ。 始めたばかりで何もわからないという方も、このセミナーがあれば安心ですよね。 セントレード証券による社内セミナーは、取引の仕組みなど初歩的な部分から、為替リスクヘッジ取引の具体的な運用方法まで、詳しく説明してくれます。 もうひとつ、出張セミナーというものもあり、こちらは自宅まで来てくれて、セントレード証券の専門スタッフが直接説明してくれるというものです。 Q.取引で発生した利益に対する課税はありますか? 教えてください。 取引での利益は、申告分離課税の対象となります。 税率は所得にかかわらず、一律20%となります。 (2013年から2037年まで(25年間)、追加的に課税され、税率は20.315%) なお、「復興特別所得税」というものもあるので、詳しくはセントレード証券に確認してください。 Q.確定申告をするとき、どんな書類が必要になってくるのでしょうか? 確定申告について疑問は多いかもしれませんが、納税に必要となってくる書類は、 くりっく株365・FX取引・株式・投資信託など、それぞれ異なってくるようです。 ですので、一概にこれが必要とはいえないため、詳細は税務署に確認するほうが良いでしょう。 Q.セントレード証券のコールセンターの受付時間は何時から何時ですか? 問い合わせ時間は、月曜日から金曜日まで、24時間フリーダイヤルで受け付けています。 わからないことや不安なことがあれば、24時間受け付けてくれているので、早朝・深夜問わずにいつでも相談できるというのも、とてもありがたいですね。
https://w.atwiki.jp/nojuku7/pages/131.html
1.リベラリズムの諸理論 □ 20世紀後半の変化 脱国家的交流の増大、相互依存の深化、多様な問題領域(issue)の浮上 →統合論、相互依存論、レジーム論 民主国家の増大 →デモクラティック・ピース論 (a) 統合論 □ 脱国家的関係の緊密化 →統合(integration)、戦争のない地域(region)へ □ ミトラニー(D.Mitrany) 近代化 →諸国共通の課題(経済、社会、科学)→専門家間の協力で解決 ある分野での協力が、他の関連分野に波及 =「分枝」(ramification) 政府が「協力による共通利益」を認識 →「機能主義」(functionalism) 例)国連専門機関、欧州石炭鉄鋼共同体(ECSC) □ ハース(E. Haas) 経済・社会領域での統合 →他分野(政治・軍事)に「波及」(spillover) 政治家は「協調の合理性」を認識、超国家的組織に権限委譲 →政治統合へ →「新機能主義」(neofunctionalism) 期待された結果(欧州統合)は得られず 後に統合は進展したが、目的は「競争力ある市場」 (b) 相互依存論 □ 近代化 →日常的に国境を越える交流増大(貿易、通信、移民、観光・・) 政治と経済が不可分に結びつく ある国の行動・政策が、他国の利益に影響 →「相互依存」(interdependence) □ コヘインとナイ(R. Keohane J. Nye) 相互依存は、国家の 「敏感性」(sensibility)(=国境の外で起こることが政策に影響する度合い)を高め、 「脆弱性」(vulnerability)(=関係が断ち切られた場合のダメージ)を高める →相互依存は「非対称的」で、国家間の権力関係に転じ得るため、その「最小化」も必要 (c) レジーム論 □ 相互依存論+制度論 ◆グロティウス的伝統(H. Grotius 1583-1645) 国家は理性を持ち、理性で認識できる自然法が存在 国家間の慣行・条約は、無政府状態でも拘束力を持つ →有効な国際制度は可能 □ ハース(E. Haas)、クラズナー(S. Krasner)、ヤング(O. Young) 国際レジーム(international regimes)とは? 相互依存を問題領域ごとに管理する原則、規範、ルール、政策手続き 相互依存で国家間には「共通利益」→「制度の構築」を通して実現 多様な領域の国際制度(貿易、金融、通信、環境、核管理、軍縮) →「ネオリベラル制度主義」(neoliberal institutionalism) (d) デモクラティック・ピース論 □ ラセット(B. Russett) 「民主-民主→不戦」「民主-非民主→戦争」「非民主-非民主→戦争」 統計的に証明 →民主国家間の平和(democratic peace) なぜ? 規範的理由:紛争の平和的解決という規範を共有 制度的理由:暴走への歯止め(決定手続き、説明責任) 2.まとめ □ リアリズムの対抗理論として20c後半に発展 □ 評価 多様な行為体、多様な問題領域を分析 「共通利益」に着目、「協調」の可能性を追求 □ 批判 自由の負の側面を軽視 アメリカ的価値観の普遍化
https://w.atwiki.jp/nagi_ne/pages/12.html
認知とは 結婚している夫婦の間に生まれた子供を「婚内子」、結婚していない男女の間に生まれた子供を「婚外子」といいます。 認知は、この婚外子として生まれてきた子供と父親が、法律的に親子である事を証明するための戸籍上の手続きです。 婚内子であれば子供の戸籍の親の欄は、自動的に夫婦の名前が入ります。 しかし婚内子の場合、母親の欄は自動的に母親の名前が記されますが、父親の欄はこの認知の届出を行わない限り空欄となります。 つまり、結婚しない男女の間に生まれた子供と父親は、認知をしない限り、血のつながりの上では親子であっても、法律的には親子とは認められないのです。 認知は子供の権利 認知と戸籍 子供の認知を行うと、子供と父親のそれぞれの戸籍にその内容が記載されます。 子供の得る権利と義務 養育費の請求権 財産贈与(婚内子の1/2) 扶養の義務 子供の負う義務 認知をされる事により、父親の扶養義務を負うことになります。しかし老後の扶養義務は努力義務で強制力のあるものではありません。 また、父親の兄弟や、別の母親との間に生まれた子があればその子も平等に義務が発生していますので、認知された子供に特別重い義務が課せられるものではありません。 認知の種類 任意認知 胎児認知 強制認知 認知の手続き 認知の手続きは 認知届の内容 認知の手続きは所定の用紙に次の事柄を記載します。 認知される子の氏名、住所、本籍地 認知する父の氏名、住所、本籍地 認知の種類 (任意認知、裁判認知、遺言認知の別) 子の母親の氏名、本籍地 認知のタイミング (未成年の子、成年の子、死亡した子、胎児) 届出人 札幌市役所のサイトでは認知届の書式をダウンロードする事が出来るようです。 札幌市役所ホームページ 申請書、届出書ダウンロードサービス http //www3.city.sapporo.jp/download/shinsei/index.html 認知届を行う人 認知の手続きは、任意認知の場合は父親が行いますが、母親が行う事も出来るようです。 裁判認知の場合は申立人(母親)か、訴えの提起者(弁護士等)が行います。 認知届の提出先 任意認知の場合は、父の本籍地か住民地 裁判認知の場合は、父親の本籍地か住民地、もしくは子供の本籍地か住民地 認知届の提出期限 任意認知の場合は特になし。 裁判認知の場合は、裁判確定の日から10日以内に提出する必要があります。 必要なもの 正確な情報は認知届を提出する役所で確認して下さい。 任意認知の場合 認知する本人の印鑑 父または子供の戸籍の全部事項証明 胎児認知の場合は母親の承諾書 裁判認知の場合 訴えを起こした人の印鑑 父または子供の戸籍の全部事項証明 審判又は判決の謄本と確定証明書 DNA鑑定って? 出生前鑑定 出生後鑑定 認知とは 認知は子供の権利認知と戸籍 子供の得る権利と義務 子供の負う義務 認知の種類任意認知 胎児認知 強制認知 認知の手続き認知届の内容 認知届を行う人 認知届の提出先 認知届の提出期限 必要なもの DNA鑑定って?出生前鑑定 出生後鑑定
https://w.atwiki.jp/hellowork/pages/9.html
ハローワークへ 行く前に各種保険の手続きが必要になります。 転職先が決まっていない場合 ※ 国民年金に加入する。 退職日の翌日から14日以内に年金手帳をもって、市区町村の役所に行き、 手続きをする。 ( 免除制度はこちら ) ※ 国民健康保険に加入する。 退職日の翌日から14日以内に市区町村の役所に行き、会社から発行される健康保険資格喪失証明書、退職証明書、離職票のいずれか使用し、届出を行う。 上記のいずれも手元に届いていない場合でも、役所の担当者が退職した会社の担当者に電話での確認も可能なので、なるべく早く手続きをしましょう。 ※ 雇用保険:失業給付金の申請 ハローワークで手続きをする。 必要な書類 1.雇用保険被保険者離職票 2.雇用(失業)保険被保険者証 3.印かん 4.本人確認、住居所および年齢の確認ができる写真付きの官公署発行の書類 ☆ 運転免許証、住民基本台帳カード(写真付き) ☆が無い場合は、 ①旅券(パスポート) ②住民票記載事項証明書(住民票の写し、印鑑証明書) ③国民健康保険被保険者証(健康保険被保険者証) のうち、いずれか2種類(①②③から各1種類で合計2種類) 5.写真2枚(正面上半身のもので3ヶ月以内に撮影されたもの) 6.本人名義の普通預金(貯金)通帳 ☆ 郵便局、インターネットバンク、外資系金融機関以外のもの ※ 派遣会社に登録する(任意) 医師の為の転職 株式会社メディ・パワーはこちら 女性の転職はこちら ■お仕事情報満載■自分にあった仕事がきっと見つかる! 転職先が決まっている場合 入社後すぐに転職先の会社の総務部の指示に従い、 ※雇用保険被保険者証と、※年金手帳、※源泉徴収表を提出する。 ハローワークに行く必要はありません。
https://w.atwiki.jp/kword/pages/63.html
バディウの主体理論 「客体なき究極の主体」(『主体の後に誰が来るのか?』所収)抜粋 0.問題 「その向こうに何があるのか」と問うよりも、近代的な思考はまだその継続を要求しているという仮定のもとに、次のように問いを定式化する: デカルトからフッサールに至る主体の概念は、ニーチェとハイデガ−の間で、そして詩人たち(ヘルダリン、ホプキンス、マラルメ、ランボー、トラークル、ペソア、マンデリシュターム、ツェラン)を通して消尽し、破産してしまったが、それを継承するのはいかなる主体概念か。 :客体なき主体を考えることができるか。 客体の形式はもはや真なるものの企てを支えることができない。 主体の空間を脱客体化することは可能か 主体の彼方にあるものは主体である。 ■主体は真理の審級の有限な断片にすぎない。 ■主体とは、真理の局地的すなわち有限な地位である。 主体とは局地的に開示される。 主体は、言表の起点ではない。 真理はつねに主体に先立つ。 「真理はつねに主体に先立つ。真理が主体以前に存在するということではない。真理は常に不明瞭な未来に宙吊りになっているからだ。」 前未来と真理 ■主体は真理によって織り成される。 ■主体は真理によって、有限の断片として存在するものである ■主体とはひとつの真理が凝結させるもの、無限の存在を持った真理が通過していく有限な点である。(この通過はいかなる内的契機も排除する。) 主体の古典的機能(真理あるいはその限界が確立される透明な点)と、この機能を支持する存在(ガリレイ以降、真理が無限であることに耐えなければならなかった有限なるもの)とを混同してはならない。 1.公理的予備考察 真理は知識を資格づけるものではなく、叡智への直観でもない。 真理とは知のなかにあいた穴である。(ラカンのパラダイム)→主体は、穴の縁の効果、ないしその境界を画定する断片である。 新しい真理の理論を四つの命題に要約する。 A.真理はつねに出来事の後にある。 残された名が、状況を存在に縫合する空虚から引き出され、流通をはじめる時、真理の過程は開始される。 B.真理の過程は、出来事に対する忠実さである。 特殊な操作子(忠実さ)が、状況の項目と、出来事の残余(痕跡)である名との関係を評価する。 C.残された名への結合が確認された状況の項目は、状況の無限部分を形成する。 それは未来に宙吊りにされ、現前化されない。状況の無限部分は、様々な有限の評価の結果によって到来するからだ。 D.状況の無限部分が、状況のなかの既知の集合やあるいは状況のなかに成立したとされる集合と、知が規定するものと一致することを避けるだろう場合、したがってまた状況の無限部分が知にとって識別不可能で絶対的に任意なもの、ジェネリックなもの(「似たものの集合」:総称的、種的)である場合、出来事の後で手続きが真理を産み出したといわれる。 真理とはジェネリックなものであるだろう出来事後的な忠実さの手続きである。 知にとって識別不可能なものとしての真理は、状況の存在そのもののメタファーであり、存在が回帰するところの純粋な多様性・無名の多様性である。 2.主体概念の否定的な境界画定 以上の定義より、以下の否定的な帰結が導かれる。 A.主体は実体ではない。 「実体」とはいわば状況のなかで一なるものとみなされる多様性である。 ジェネリックな手続きが帰着する内在的な識別不可能性は、主体が実体であることを斥ける。 B.主体は空虚な点ではない。 存在の固有名は空虚であり、非人間的で非主体的である。(存在論の概念) 真理は多様性として実現され、点として実現されるのではない。 C.主体は経験の意味の組織化ではない。 主体は超越論的機能ではない。 「経験」とはいわば現前化そのものである。 ジェネリックな手続きは、残された名によって形成される出来事に関わるのであり、現前化と一致することはない。 ■同様に、意味と真理とを区別すべきである。 ジェネリックな手続きは、状況の出来事後的な真理を実現するが、真理というこの識別不可能な多様性にはいかなる意味も与えない。 D.主体は現前化の不変定数ではない。 ジェネリックな手続きが状況の対角線である限りで、主体は稀少なものである。 状況のジェネリックな手続きが特異なものである以上、各主体は厳密に特異なものである。 E.主体は結果ではなく起源でもない。 主体は手続きの局所的な地位であり、状況の過剰な配置関係である。 3.主体化---介入と忠実なる結合の操作子 出来事の名があり、忠実なる結合の操作子があり、これらが手続きを規制し、真理を創設する。 ex.キリストという出来事。教会という忠実なる結合の操作子。(パスカル「教会とは真理の歴史」 →忠実なる結合の操作子がそもそも出来事の不忠実でありただそれを利用しているだけではないか? →操作子は出来事を決定する介入的な命名の結果として出現する。 この操作子の出現が主体化である。 主体化は二の形式をとる。
https://w.atwiki.jp/kolia/pages/2168.html
特別降格ルール原案(改定版) 当サイトのリスト系ページにおいて降格を基本的に禁止している「SSS+」および「SSS++ 」の評価(以下「永久認定」という)を例外的に降格する際の手続きは次の通りです。 目次 ■1.即時差し戻し ■2.悪質な捏造等に係る簡易降格 ■3.(狭義の)特別降格▲3-1.運用細則 ■4.手続きの窓口 ■5.アーカイブ(狭義の特別降格に限る) ■6.改定等履歴 ■7.掲示板 ■1.即時差し戻し 本サイトまたは別に定める場所における合意や予告を行うことなく行われた(予告に対する反対意見を無視して強行された場合を含む)永久認定は120時間以内 であれば差し戻すことができ、これが不可能な場合は差し戻しを要請することができます。この場合、評価は従前のものに差し戻すこととします。 ■2.悪質な捏造等に係る簡易降格 永久認定の理由に明白かつ悪質な捏造・事実誤認がある場合もしくは当該ページのルールに対する明白な違反がある場合(ただしこの場合ローカルルールの遡及適用はしない)、掲示板において反証(反証なき否認は反証とは認められません)を検証可能な形で示して48時間以内に異議がない場合(永久認定を行った本人は異議申し立ての資格を有しません)降格することができます。この場合、評価は原則として従前のものに差し戻すこととします。 ただし、「■1.即時差し戻し」を適用可能な場合はそちらを優先的に適用するものとします。 ■3.(狭義の)特別降格 著しく不当な永久認定については、下記の手続きを踏むことにより降格できる場合があります。この場合、特別降格後の評価は原則としてSS+とするものとします。まず掲示板において提案し合意形成を図ること(提案から2週間後の同一曜日・同一時刻をもってなお異議がない場合を含む) 上記の合意またはみなし合意後投票に付し有効投票数の4分の3以上 (「SSS++」から「SSS+」への降格にあっては10分の7以上 )かつ別に定める数以上の賛成票を得ること上記の「別に定める数」は「(n票×0.75)+1」(SSS++→SSS+の場合は「(n票×0.7)+1」・何れも最後に残った端数票は切り捨て)とし「n票」は原則として80票とする(場合によっては割増を行う) 当初の投票期間をもって投票が成立せずみなし可決も不可能な場合は最長1年まで投票を延長できるが、この場合いずれかの条件に達した時点で投票を打ち切るものとする(サドンデス方式) 特定の条件を満たした者に対し半自動的に行われる永久認定(最高裁判所裁判官リストにおける「非常識判決」など)については、永久認定されている個人・団体ではなくその根拠規定を本制度の対象とします。 以下の理由・場合による降格提案はできません。永久認定されている当事者(個人・組織とも)自身が提案する場合(該当する者は投票の資格も有しません) 個人感情(好き嫌いなど)もしくは二重基準による場合 その他永久認定の趣旨に著しく反し、または特別降格の適用が著しく不適当と認められる場合 この手続きの適用を求める場合であっても、上二項のより簡易な手続きを適用できる場合はそちらを優先的に適用するものとします。 ▲3-1.運用細則 上記の手続きによる投票の期間は少なくとも2週間確保するものとします。 特別降格の決定後に当事者自身による投票が発覚した場合であって組織的投票が行われたか当事者票を差し引くと結果が変化する場合は投票をやり直すものとし、提案そのものが当事者によるものと判明した場合特別降格は取り消されるものとします。 欠格事由にある一般規定に該当する代表的な事例は次の通りです。過去に特別降格を否決されたことがあるものに関して、否決された提案と同一の理由による場合(後段該当) 永久認定の理由とされた事例が消滅したことを理由とする場合(前段該当) 永久認定以降に発生した愛国的ないし公益に適う事例を理由とする場合(前段該当) ■4.手続きの窓口 「■1.即時差し戻し」の手続きによる降格要請は当該ページに付属する掲示板または工作員発生情報掲示板で行うものとします。 「■2.悪質な捏造等に係る簡易降格」「■3.(狭義の)特別降格」の手続きに必要な提案は次の場所において可能です。 場所 現役国会議員・民間人閣僚 地方政治家 元国会議員 マスコミ関係者(キャスター含む) 大学関係者 その他の人物 企業 宗教団体 政党 その他の団体 該当ページの付属掲示板 - ○ ○ ○ ○ ○ ○ ○ ○ ○ 外部掲示板 の当該ページ用スレッド ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 各議員に売国?愛国?認定投票。付属掲示板 ○ - ○ - - - - - - - 編集相談掲示板 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 本ページの付属掲示板(本運用開始後) ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ■5.アーカイブ(狭義の特別降格に限る) 時期 名称 分類 結果 ■6.改定等履歴 2016.**.** 公布 2016.**.**+1 施行 ■7.掲示板 本運用開始までコメントアウト