以下の3つのうち1つを選択せよ.
以下をレポートにまとめて,提出せよ.
Windows 上で Squeak,Scheme,Prolog を実行することができる.ダウンロードのためのリンクを以下に紹介する.
必携パソコンにダウンロードがうまくできない人は,徳久まで相談に来て下さい.
ダイヤモンドダストは,降る雪の結晶が光を反射することで,キラキラした情景になることをいう.Squeak の既存の図形オブジェクトを駆使し,キラキラと雪の落ちる状況を再現しよう.
StarMorph をはじめ類似の図形の中から,適当と思われるものを選択する.
そのオブジェクトの表示位置を時間経過にともない変化させる.
キラキラした様子を作るために,オブジェクトの表示半径をランダムで変えてみる.
複数オブジェクトの管理,並列処理,オブジェクトの継承などを上手に使おう.
以上は必須である〔25点〕.オプション課題として,その他のアイデアにより,楽しい情景を描くプログラムを作ろう(バックに流れ星を表示させたり,オーロラを表示させたり,…)〔5点〕.
Listオブジェクトを scheme 上に作成しよう.List オブジェクトは少なくとも次のメッセージが受理できること.
以上は必須である〔25点〕.オプション課題として,sort において,〈比較関数〉を指定することで,数字以外を要素とするリストでも比較のできるようにする〔5点〕.
英文は,名詞と動詞の並び順に規則があるが,さらに,名詞の形と動詞の形の間にも規則がある.たとえば,「i,buy,it」は文法通りだが「he,buy,it」は文法誤りで,「buy」を「buys」にしなければならない.主語と動詞の形の一致を agreement という.
agreement は,前回の規則において,第2引数を工夫するか,新に第3引数に情報を持たせることによって,チェックできる.
noun([book|R]-R,n(book),[sg3]). % sg3 は「3人称,単数」の意味 noun([books|R]-R,n(book),[pl]). % pl は「複数」の意味 noun([he|R]-R,n(he),[sg3]). noun([i|R]-R,n(i),[sg1]). verb([buy|R]-R,v(buy),[base,pr]). % base は「原形」,pr は「現在形」の意味 verb([buys|R]-R,v(buy),[sg3,pr]). verb([bought|R]-R,v(buy),[ps,pf]). % ps は「過去形」,pf は「過去分詞形」の意味 verb([buying|R]-R,v(buy),[ing]). % ing は「現在分詞形」の意味 agreement_sbj_verb(P1,P2) :- member(sg3,P1), % 主語が「3人称,単数」であり, member(pr,P2), % 述語が「現在形」であるとき, !, % member(sg3,P2). % 述語は「3人称,単数」である. % カットオペレータがあるので, % ! を通過後は,member(3sg,P2) が % 不成立になると,この規則は不成立となる. agreement_sbj_verb(_,_). % 上記の規則でカットオペレータを通過していないとき, % ここがマッチする. (質問) *その1 ?- E1 = [he,buys,books], noun(E1-E2,N1,P1), verb(E2-X,V1,P2), agreement_sbj_verb(P1,P2). *その2 ?- E1 = [he,buy,books], noun(E1-E2,N1,P1), verb(E2-X,V1,P2), agreement_sbj_verb(P1,P2). *その3 ?- E1 = [i,buy,books], noun(E1-E2,N1,P1), verb(E2-X,V1,P2), agreement_sbj_verb(P1,P2). |
ヒント:上述の質問は,実際には,以下の例のようにして,規則の中に埋め込む.
s(E1-X,s(NP,VP),P2) :- np(E1-E2,NP,P1), % 主語の名詞句 vp(E2-X,VP,P2), % 述語の動詞句 agreement_sbj_verb(P1,P2). % 主語の品詞 P1 と述語の品詞 P2 の一致チェック vp(E1-X,vp(V,NP),P1) :- % 動詞句の品詞は, verb(E1-E2,V,P1), % 動詞の品詞 P1 とする np(E2-X,NP,_). % 目的語の名詞句の品詞は無視する np(E1-X,np(DET,N),P2) :- % 名詞句の品詞は, det(E1-E2,DET,_), % 冠詞部分は無視し, noun(E2-X,N,P2). % 名詞部分の品詞 P2 とする. |
少なくとも以下の○の文に対して Yes となり,×の文に対して No となるように規則を作成しよう〔25点〕.
さらに,オプション課題として,疑問文,否定文,命令文,副詞(sometimesなど),比較級,最上級など幾つかの英文法について解析できるように規則を作成しよう.〔5点〕.