Presentation is loading. Please wait.

Presentation is loading. Please wait.

知的インタフェース 例示によるプログラミング 予測インタフェース 制約インタフェース.

Similar presentations


Presentation on theme: "知的インタフェース 例示によるプログラミング 予測インタフェース 制約インタフェース."— Presentation transcript:

1 知的インタフェース 例示によるプログラミング 予測インタフェース 制約インタフェース

2 例示によるプログラミング 類似操作が繰り返しあらわれる作業において、 ユーザが1,2回の操作の例をやってみせることでその繰り返しを
機械に覚えさせ、肩代わりさせる支援方法。 CUI emacsのkeyboard macro GUI Metamouse (Maulsby, Witten, & Kittlitz, ’98)繰り返し検出、turtle、特徴点 Chimera (Kurlander, ’93) 編集可能なGUIマクロ Mondorian (Lieberman, ’93) 操作からアイコン列生成 [文献] A. Cypher (ed.) “Watch What I do: Programming by Demonstration”, MIT Press, 1993

3 Metamouse(1/2)

4 Metamouse(2/2)

5 Chimera

6 Mondorian

7 依存関係にもとづくPBD 単純な作業では操作列の記録/再生で自動化 依存関係にもとづくPBD 途中でほかの作業が入る場合には不向き
作業の論理的な依存関係を記録し、必要な部分だけを再生 cf. make

8 依存関係にもとづくPBDの例 Geometer’s SketchPad (’93 Jackiw)  dmake (’94 中山,宮本)

9 Geometer’s SketchPad (1/2)

10 Geometer’s SketchPad (2/2)

11 予測インタフェース RK-Pointer/Reactive Keyboard (Witten, 92)
repeat & predict (増井,中山, 94) genhist (汎化履歴)(宮本 ’95) 依存関係にもとづく予測 pdraw (宮本, 原田’96) genhistのGUIへの応用

12 RK-pointer

13 Repeat & predict

14 汎化履歴の仕組み

15 制約 解が満たすべき条件のこと。 条件を満たす解の算出⇒制約解消系 インタラクションの立場から 制約GUI PBD 制約論理プログラム

16 制約の定義 変数が満たさなければいけない条件のこと。 正確には、 RをA上のn項関係としたとき、 変数x1,..., xnに関する条件
(x1,..., xn)∈ R を制約(constraint) という。 通常Rに対応する述語rを用いて r(x1,..., xn)

17 制約の種類 記号的制約 数値的制約 注意:制約系の種類はあとで 論理的制約 代数制約 x2+y3=5 等式制約
論理的制約   (x|y∧x|z)∧∀w.((w|y∧w|z)⊃ x < w) 代数制約 x2+y3=5 数値的制約 等式制約 不等式制約 x2+y3<5 注意:制約系の種類はあとで

18 制約GUI SketchPad(Sutherland,1963)が起源 レイアウト CAD 木のバランス グラフレイアウト
ばねモデル、神経ネットワークモデル CAD 作図システム 単方向制約

19

20 制約系の分類 単調 非単調 問題解決一般: データフロー型(各制約が関数の入出力) 制約階層
算術領域: 数値解法、線型計画法 離散(有限)領域:探索アルゴリズム データフロー型(各制約が関数の入出力) 単方向 多方向 非単調 制約階層 (細部,コンピュータソフトウエア17-6(2000)による)

21 単方向制約 関数の入出力関係による制約 解法:有向グラフのトポロジカルソート w←y w y v←w×z v x←y+z x z

22 多方向制約 既知状態伝播法 自由度伝播法 x=y w y v=w×z v x=y+z x z

23 非単調制約系 満たしたほうが望ましい制約 望ましさの程度の階層(制約階層)(Borning,1987)
ある制約を追加すると別の制約を諦めざるを得なくなる⇒解の膨張

24 PBDとの関係 編集作業(例示)←制約の追加 プログラム(マクロ)実行←制約再充足 典型的には作図などの単方向制約による関数プログラミング
制約プログラミングへの一般化

25 制約プログラミング 制約論理プログラミング fact(N,X) :- M is N-1, fact(M,Y), X is Y*N
より宣言型のプログラミングへ 制約の集合としてのプログラム fact(N,X) :- M is N-1, fact(M,Y), X is Y*N fact(1,1). ?-fact(3,X) >> X=6 ?-fact(N,24) >>ERROR

26 論理プログラミングの仕組み ?-p(t) p(X) :- q(X,Y), r(Y) q(X,t) :- … 融合法(Resolution)
単一化 (Unification) X←t ? -q(t,Y), r(Y) 単一化から等号制約解消 (Semantic Unification)へ

27 制約論理プログラミング 制約論理プログラミング =(等号)制約解消系+融合法 Prolog I, II, III (Colmerauerら)
CLP(X) (Jaffarら) CLP(R) CU-Prolog (橋田)

28 What’s Next 幾何自動証明の制約プログラミング言語化 GUI/PBD (Prologのアナロジー, BacktrackするCAD)
  …


Download ppt "知的インタフェース 例示によるプログラミング 予測インタフェース 制約インタフェース."

Similar presentations


Ads by Google