e-typing ~技能をはかろう!~

e-typing

友人が教えてくれたタイピングの技能テスト。

なかなか暇つぶしに楽しいかも♪



Posted in | 0 コメント

研究の一息なじこまんの曲

【作業用BGM】夜にまったり聞くCHEMISTRY Vol.1【更新版】


「Dance with me:  ため息ばかりで~幸せ逃がさないように~♪」



最近,卒論のことでため息ばっかり.

せっかくの幸せにげていきそう.


まったりしたい.

Posted in | 0 コメント

必修★片桐さん ~整合性管理機構~

【整合性管理機構】:TMS
仮説に基づく問題解決において,効率的に仮説の整合性を管理するための機構


ルール    (ノード1) if ?x is a student then ?x wants to study
アサーション (ノード2) taro is a student
推論エンジン (ノード3) taro wants to study

TMSを利用せず,以上のような推論を行った後,推論エンジンはノード123を,TMSに渡す.
つまり,1と2から3が推論できるということを正当化としてTMSに渡す.

■ TMSの役割
・推論結果の説明
「<(1,2),3,演算推論>」

■ TMSのノード
・前提ノード :常に成り立つノード
・矛盾ノード :常に成り立たないノード
・仮説ノード :成り立つか成り立たないかのどちらかを選択しなければならないノード

TMSは複数のノードと正当化からなる依存ネットワークを生成し,
ノード間の整合性を管理する.

★ATMS★
TMSの中で,一般的なのがATMS.
各ノードのらべるからnogoodな環境を取り除くことによってノードの整合性を維持する.
ATMSにおいて,各ノードのラベル矛盾が起こらないように計算し更新するアルゴリズムは,
ラベル更新アルゴリズムと呼ばれる.


Posted in | 1 コメント

必修★片桐さん ~ルールベース~

★ルールベースシステム
   if 条件 then アクション



【前向き推論】
 与えられたアサーションに対してルールの「条件」の部分に対してマッチングを行い、アクションを実行していく。
(例)「AはBである」という事実と、「BならばC」という規則から、「AはCである」という結論を導く推論方式
   事実から結果を求める作業を繰り返して、最終的な結論を導き出す方法

【後ろ向き推論】
 与えられた仮説が現在のアサーション集合において成り立つかどうかをルールを用いて検証していく。
「A=Cを証明するためには,B=C,が示されればよい」と「目標A=C」の「副目標B=C」を導く推論



Posted in | 0 コメント

必修★片桐さん ~フレーム~

【フレーム】
・セマンティックネットの概念を拡張した知識表現
・フレーム名と複数のスロットより構成 (ノード名とリンクに相当)

・フレーム -インスタンスフレーム :特定な具体的な物事を表現
                      個々の個体・事項 (インスタンス) に関する情報
       -クラスフレーム     :物事を一般化し抽象化した概念を表現
                      類似の個体・事項の集まり (クラス) に関する情報
      (例)人;クラスフレーム マツムラ:インスタンスインスタンスフレーム

・is-a: インスタンスがあるクラスのインスタンスであることを示す
・ako: あるクラスが別のクラスの概念を継承していることを示す」

・スロット
値:    数値、文字列、他のフレームへのリンク、あるいはそれらの集合。
制約:   そのスロットの値として許されるものがどのようなものであるかを記述。
埋め込み手続き
   スロットの対象が
      要求されたとき (when-requested procedure)
      値を書き込んだ後 (when-written procedure)
      値を読み出すとき (when-read procedure)
   などに自動的に呼び出される手続き。デーモン手続きと言われる。

「新谷という名前の教官と福田という名前の学生がいて,それぞれが計算機のOSとしてMacOS及びWindowsを好んでいる」

Posted in | 0 コメント

必修★片桐さん ~セマンティックネット~

【セマンティックネットとは】
・ノードとリンクからなる有向グラフ
・ノード: 物、事柄、概念
・リンク: ノードの関係と関係の名称

【概念間の関係】
・is-a関係:  概念関係の上下、または包含関係 
         属性の継承が行われる

・has-a関係: 概念間の部分全体関係
         

Example実行結果
*** Links ***
baseball =is-a=> sports
Ito =is-a=> NIT-student
Ito =speciality=> AI
Ferrari =is-a=> car
car =has-a=> engine
( Ferrari =has-a=> engine ) //()で囲まれているのは,継承により作成されたリンクである
Ito =hobby=> baseball
Ito =own=> Ferrari
NIT-student =is-a=> student
( Ito =is-a=> student )
student =donot=> study
( NIT-student =donot=> study )
( Ito =donot=> study )
*** Nodes ***
baseball
sports
Ito
NIT-student
AI
Ferrari
car
engine
student
study
*** Query ***
?y =own=> Ferrari
?y =is-a=> student
?y =hobby=> baseball
[{?y=Ito}]




★新しいリンクを生成する場合、is-aリンクかどうかをチェック
 ↓
 is-aリンクの場合、継承を行う

質問:フェラーリを所有していてかつ学生であり、かつ野球を趣味とするのは誰か?

⇒質問を分解:各質問についてマッチングを行う
質問1:野球を趣味としているのは誰か?
質問2:フェラーリを所有しているのは誰か?
質問3:学生であるのは誰か?

Posted in | 0 コメント

必修★片桐さん ~パターン照合~

■Matching 
・パターンがアサーションに一致するかどうかをテスト
・実行には2つ引数を用意

実行結果
hanako
hanako
true

【?x is a girl she is a girlで実行】
?x
is
{?x=is}
true


【アサーション: Hanako is a girl】
・TrueであるアサーションをFactと呼ぶ

【パターン: ?x is a girl】

・Hanako is a girl と ?x is a girl のパターンマッチング
 ⇒"?x" を "Hanako"に具体化(変数束縛)し、true

【プログラム】
class Matching
 arg.lengthの長さが一緒かどうか
 一緒なら、Matcherクラスのmatchingへ

class Matcher

public boolean matching(String string1,String string2)
 同じなら成功
 各トークンに分ける
  数が異なったら失敗(countToken)
  定数通しでトークンがマッチングに失敗したら失敗(tokenMatchingで行う)
  最後までOKなら成功

boolean tokenMatching




■Unify
・パターンとパターンが一致するかどうかをテスト
・変数同士の比較をユニフィケーションという


実行結果
【?x ?y ?y byeを実行】
?x
?y
{?x=?y}
true

【?x aiu eo aiuを実行】
?x
aiu
{?x=eo}
true





以下のプログラムはUnifierである
定数同士
44: // 定数同士
45: int length = st1.countTokens();
46: buffer1 = new String[length];
47: buffer2 = new String[length];
48: for(int i = 0 ; i < style="display: none;" id="FLASH_MESSAGE">

構造は、マッチングとほぼ変わらないが、上記のプログラムで全てのトークンをいったん配列に格納している。
これは、ある変数に束縛されたとき、同じ変数名のトークンをあらかじめ具現化しておくためである。


Posted in | 0 コメント