A '
︐a︑ ︐ ︐ ︑ ︐ . ︑ ︐
e︑
* ホ 本
*
(
︿ { {
' E A
‑ ‑ A ‑
E E e ‑
‑ A
+
‑
‑ A ' ( { ( {
n n i i m m
( (
x a m {
皐曹︑
h n g i
‑‑m e︿
u w
e v o o r g口{
1. 0)) 1 .0) ) 1. 0)) 1. 0)) .牢result̲ut2.欠 陥 指 示 長 さ
T / 4以 下 で あ る (/ t 3)) (b̲push nil '泳result̲ut2車 欠 陥 指 示 長 さ
T / 3以 下 で あ る (/ l 2)) (b̲push nil '.result̲ul2・ 欠 陥 指 示 長 さ
T / 2以 下 で あ る
'寧result̲ut24 < 欠 陥 指 示 長 さ
T以 下 で あ る
(b̲push nil ・歌result̲ut2*欠 陥 指 示 長 さ T を 組 え る 0)
) ︑
. ︐
︑ .
︐
︐e l g n a n a
‑ ︑ . . AU
a r
) {
﹀ )
︑︐︑ .
︐ ︑ ︐
) n
﹀ } o a 9 9 . .
︐L・ ・ ・
qL
︐t
nu
nu
)
tA
AM
tA
'A
r 'h H ︐
JJ
r
︐a︑
. .
︑ ︐ ︐ ︑ ︐
e︑
} P } }
qι
ep
op
o
‑A u‑
‑ . A
唱E A
L H F
t︿
nr nr e
* a
Au
r︑
g b d z z
‑
‑ + ( ( (
*
* ホ { { (
‑‑
A・B.︐
A
+‑ +︑
︐
︐ . ︑ ︐ . ︑ ︐
a︑ ・ ・ 且
n ・lm ︐z︑x
) a ) m
EE A ︐︑ (rootWeighl
(defun f̲length̲l (t 1)
(cond (((= ! (/ t 4)) (b̲push nil
(b̲push n 11
t)
( (( =
(((=
(((=
( t 0) )
) )
﹀ } } )
e e
‑
‑
︐b
︐ 白
n n a a n n a a i i AU Au a a r r
︑F
︑ ︐
︐e︑ ︑
J︐ ︐ ︑ ︑
EJ
︑ ︐ ︑ ︐
︐
﹀
﹀
﹀ } n ) n ) }
﹀
a o a o o o
A y t
‑
‑
.︐ ︑
.. .
︐ ︑守
ur
︑ ヮ
‑q d9
‑
︑ . ︐ ︑
.J﹂
u'
且A U
' A' A
S ‑‑
h / h / / /
.• ︐
a︑
•. ︐
s︑ ︐ ︐ ︑ ︐
e︑
n r ︑
︐ n r ︑ ︐ ︑
︐ ︑ ︐ e o e o o o A u
・AU‑‑‑
2 4 2 4
‑ ‑
r︑
︐
a︑
p p
* a
$ a { g
︿g
z z z z
‑
‑
+ + ( ( ( (
*
*
*
*
︐e︑
︐
e︑ ︐ ︐ ︑
︐ . ︑ ' E A 1 A
噌i'i
+
‑
‑ + ( { ( f n n i i m m
r︑r︑x a m
︐ ︐
i n ︑
t m
h H' t
g i e w
'b a
﹄H︐z︑
1.0))))
1.0))
1. 0)) 1. 0))
1.0) ) 1.0))))
る る る る あ あ あ あ る で で で で え 下 下 下 下 越 以以以以を
にUハu
nu
nu
nU
12366
欠 陥 指 示 畏 さ 欠 陥 指 示 長 さ 欠 陥 指 示 長 さ 欠 陥 指 示 長 さ 欠 陥 指 示 長 さ '*result ul2*
'4<resull ul2.
'.resull ul2*
'*resull̲ul2*
・*result ut2*
(defun i̲length60 (1)
(cond (((= 1 16)(b̲push nil
(((= 1 20)(b̲push nl1 ( (( = 1ミ0)(b̲push nl1
(((= 1 60)(b̲push nll (t (b̲push nil (deiun rl0 (z)
︑ ︐
︐ ︑ . ︐︑
︐ ︐
P︼l
g B nH
a n H
a ‑ ‑ a
A U
a r
{ ) )
︑ ︐ ︐ ︑ ・
J
n } )
a o o
av
L・ ・
・
︐ ︑
q un J
) d 1 1
﹄H︐f︐fa
︐
︑
︐
a︑ ︐ . ︑
n v ︑ ︐ ︑ ︐ e o o A U
・‑
d噌
a ‑ z
︐ ︑ n r
* a ( g z z
‑ +
︐a︑
︐
E︑
$
* { ( ' B a
‑
‑ E A +
‑ }
︐ ︑
r︑
n v 0) 1))
(baseWeighl (mln (max
;小数点以 下 1の 位 を 四 姶 五 入
(/ (round (. Z 10)) 10.0)) (lel ((lenglh (ls ccho̲r frcqucncy vcroslty bCllm̲1 anglc)))
(fpu t 'ホwhylog̲es市 (cad,‑(cadadr (gct fJaw̲fl 'framc))) '欠陥 寸 法 length)
(pul '.b̲boardホ '*result̲e*
(Iisl (Iist Clisl ' 欠 陥 寸 法 ・ は length))))))
ハU
五ω 入札 姶 )
四引を叩
位zzの*
︐ ︑
qLr︑
n v‑
︑JU
G‑n I L u
rn
bo
n点
什
U
仕
21
・
ZE AUJHU ︑e( JF︐
;ーーーーー[method for flaw̲estimatlon ]‑ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
(defun lv̲rool (echo̲r frequency veroslty beam̲l angle flaw fl) (Iet ((length【tv echo r frequency verosity beam L angle)わ
(fput 'ホwhylog̲es* (cadr (cadadr (get flaw̲fl ・irllmc))) '欠陥寸 法 Lenglh)
(put '*b̲boardホ ・*result̲e*
(Lisl (Iist (Iisl '欠 陥寸 法 ・ は length)))))) (defun radlan (angle)
: l宣 か ら ラ ジ ア ン へ の 変 換 (/ (* angle (pi)) 180))
;超昔話宣探 傷 試 験デ ー タ よ り 欠 陥 の 寸 法 を 計 算 す る (defun ln̲root (echo̲r frcquency verosity beam̲1 angle flaw̲fl) (lel (()englh (tn echo̲r frequency verosity bcam̲1 ansle)))
(cond ((null lenglh)
(fpul・*whylog̲cs市 (cadr (cadndr (gcl flaw fl ・framc))) '欠 陥寸 法 限 界寸 法以上であ る ) ー
(put キb̲board*・ホrcsult̲c*
・(( (欠 陥寸法 は 限 界寸 法以上 であ る )) ) ) )
(l (fpul '*whylog̲cs. (cadr (cadadr (gel flaw̲fl ・frame))) '欠 陥寸 法 length)
(defun eslimation ()
(lel ((flaw̲f (fgcl・*whylog̲cf*・rulcname 'value))
(echo (search val ue E 高 さ (H線 基 喧 ) 川 nput̲ul2*)) (frequency (search value周 披 数 ホinpul̲ut2川 〉
(beam̲l (search val ue B路 在 判 npul̲ul2*)) Cilaw̲l (search̲value指 示 長 さ *lnput̲ut2*)) (angle (search value屈 折 角 川 nput̲ut2本))
(melal (search̲value材 料 *input̲wll) (veloclty (cond ((equal metal S S銅 )3230)
((cqual melal S M鋼 )3230)
(l 3230))))
(Iet ((echo̲r (expt 1.122 echo))) (do ((flaw fl flaw f (cdr flaw fl))
(rule̲lisl (fget 'flgure̲rules・rules 'value))) ((null flaw fl))
(let ((flaw (esllmallon̲auxl (car flaw̲fl) rule list))) (cond ((equal ilaw円 形 平 面 欠 陥 )
(td̲root echo̲r frcqucncy velocity beam̲l angle (car flaw̲fl)))
((cqual flaw帯 状 平 面 欠 陥 〉
(tl̲rool echo̲r frequcncy velocily beam̲l angle (car flaw̲fl)))
{(equal flaw横 穴 欠 陥 〉
(th̲root echo̲r frequency vcloclly beam 1 flaw̲1 angle (car flaw̲fl)))
( (eq u a 1 f 1 a w 主主状欠陥)
(ts̲root echo̲r frequency velocity beam̲l angle (car flaw̲fl)))
((equal ilaw縦 穴 欠 陥 )
(tv̲rool echo̲r frequency velocity beam̲1 angle (car flaw̲fl)))
((equal flaw直線 溝 欠 陥 )
(tn̲root echo̲r frequency velocity beam̲1 angle (car flaw̲fl)))) )))))
(put 'ホb board* ・ホresult e*
(1lsl <Jlst (list '欠 陥す法 ・は 1eng th) ) ) ) ) ) ) )
; 欠 陥 寸 法 の 百 十 算
(defun td (e f v I angle)
; 円 形 平 面 欠 陥 の 欠 陥 寸 法 の 計 算
;限 界寸法 以上の と き は ni 1を 返 す (let ((rgf (/ 1 2))
(rgs (r̲g̲s f v 1 angle)) (rif 1)
(rls (r̲1 angle)))
(cond ((( e (e̲ratio rgf rgs rlf ris))
(sqrl (/ (* e rgs 4 rls (wave̲1 f v) J)
(傘 rif(pi))))) (t nll))))
(defun tl (e f v I angle)
; 帯 状 平 面 欠 陥 の 欠 陥 寸 法 の 計 算
; 限 界 寸 法 以上の と き は ni 1を 返 す {let ((rgf (/ 1 2))
(rgs (r̲g̲5 f v 1 angle)) (r i f 1)
(rls (r̲I angJe)))
(cond ((( e (e̲ratio rgI rgs rif ris))
(Iet ((a (/ (* 2 1 (wave̲l f v)) 100)))
(let ((b (round (* (sqrl a) 1000 e rgs rls)))) (* 1.0 (/ b 100)))))
(delun eslimalion auxl (rule name rule llst) (cond ((null rule I ist>
(prtsen・{プ ロ グ ラ ム に パ グ の 可 能 性 有 り )) ) ((cqual rulc̲name (cadar ruJe̲llst))
(caddar (cadadr (cddar rule lisl))))
(l (eslimatlon̲auxl rule̲name (cdr rule lisl)))))
(t nil))))
(deiun td̲root (echo̲r frequency veloclly beam̲l angle flaw̲fl) (let ((lenglh Cld echo̲r frequency velocity beam̲l angle)))
(cond {(null lenglh)
(fput '*whylog̲es* (cadr (cadadr【get flaw̲fl 'frame))) ' 欠 陥 寸 法 限 界 す 法 以 上 で あ る }
Cpul '*b̲board* '*resull̲e*
・(( ( 欠 陥 寸 法 は 限 界 寸 法 以 上 で あ る )) ) ) )
(l (fpul・*whylog̲es* (cadr (cadadr (get flaw̲fl ・frame))) ' 欠 陥 寸 法 length)
(put 'ホb̲board* ・*result̲e>l<
(lisl <list (llst・ 欠 陥 す 法 'は length))))))))
(defun th (e f v J tl angle)
; 償 穴 欠 陥 の 欠 陥 寸 法 の 計 算
; 限 界 寸 法 以 上 の と き も 欠 陥寸法 を 返 す (let ((tcr (tcr̲cp̲hh f v 1))
(rgs (r̲g̲s f v 1 angle)) (rif 1)
(rls (r̲l angle))) (cond ((( II tcr)
(/ (* e e rgs rgs 16 J 1 ris (wave̲l f v)) (* rlf (pi) tl tl)))
(t (/ (* e e rgs rgs rls ris 8 1) (* rif rif))) )))
(defun tl rool (echo̲r frequency veroslty beam̲l angle flaw̲fl) (lel ((Ienglh (ll echo̲r frequency veroslty beam̲l angle)))
(cond ((null lenglh)
(fpu l・*whylog̲es* (cadr {cadadr (get flaw̲fl 'frame))) ' 欠 陥 寸 法 限 界 寸 法 以 上 で あ る )
(put ・ホb̲board命 '*result̲e*
・(( ( 欠 陥 す 法 は 限 界 す 法 以 上 で あ る )) ) ) )
(t (fput '*whylog̲e5ホ (cadr (cadadr (get flaw̲fl 'frame)))
・ 欠 陥 す 法 length) (put ・*b̲board*"車result̲e*
【Ilst<list <llsl ' 欠 陥 寸 法 ・ は length))))))))
(defun ts (e f v 1 angle)
; 球 状 欠 陥 の 欠 陥 寸 法 の 計 算
; 限 界 寸 法 は 存 在 し な い の で 限 界 寸 法 以 上 も 以 下 も 閉 じ で あ る (lel {Crgs (r̲g̲5 f v 1 angle))
(rlf 1)
(ris (r̲1 angle)))
{ホ1.0 (/ (round (ホ 100 (/ (* e rgs rls 4 1) r 1 f)) )
100))))
(defun ts̲root (echo̲r frequency verosity beam̲l angle flaw fl)
(defun tv (e f v 1 angle)
; 縦 穴 欠 陥 の 欠 陥 す 法 の 計 算
; 隈 界 寸 法 以 上 の と き も 欠 陥 す 法 を 返 す (let ((tcr Ctcr̲vh f v 1 angle)))
(Iet ((rgf (r̲g̲cr̲vh tcr ( v 1 angle)) (rgs (r̲g̲s f v 1 angle))
(rif (r̲i angle)) {rls (r̲1 angle)))
(cond ((( e (e̲ratio rgf rgs rif rI5))
(expl (/ (* e e rgs rgs rls ris 4 1 1 (wave̲l f v)) (* rlf rii (pl) (51n (radian angle)))) (/13)))
(t (/ (ホ e e rgs rgs ris rl8 8 1 (sln (radian angle))) (* rif rlf)))))))
(defun th̲root (echo̲r Ircquency vero8ity beam̲l flaw̲l angle flaw̲fl) (let ((lenglh (lh echo̲r frequency veroslty beam̲l flaw̲l angle)))
({pu t ' 測量whylog̲es命 (cadr (cadadr (get flaw̲fl
・
Irame 】) )・ 矢 陥 寸 法 length) (put ・*b̲board* '*resull̲c*
()Ist Clisl Cllst ・ 欠 陥 寸 法 ' は lcngth))))))
15 (cos (radian <* 10 (round (/ angle 10)))))))) (tcr̲vh f v beam̲1 angle)))
( (く 4tcr) ; 僚 蟻 欠 陥 寸 法 が 限 界 寸 法 以 下 の 翁 合 (r̲g̲vh 4 f v beam̲l angle))
( l ; 標 惣 欠 陥 寸 法 が 限 界 寸 法 以 上 の 喝 合 Cr̲g̲cr̲vh 4 f v bcam̲1 angle))))))
(lel ((beam̲1 (/
<Iet ((tcr (cond defun ln (e f v 1 angle)
直 線 罪 事 欠 陥 の 欠 陥 寸 法 の 計 算 限 界 寸 法 以 上 の 場 合 は ni 1を 返 す
(lel ((rgf (/ 1 2))
(rgs (r̲g̲s f v I angle)) (rif (r̲i angle))
; 欠 陥 エ コ ー 高さ と 槙 惣 エ コ ー 高 さ の 比 の 計 算
︑.Js i
r ‑ ‑
p‑ A
i r a
s
pu
r
zi g﹀vs
︑ ー
(
︺
︺
f s
G・I
・
‑
‑‑ Er a‑ va
且'
a L
f s
‑ rgg
rr
戸︑
*
*
n ( (
u ' ' A
︐ ︐ ︐
e (
d ︐e︑
) ︑
. ︐
︑.J
n J U
) v
' ' A
I 一
︑ ︐
e } V } a ) W ) r t ︑
﹀ l a b
l g
︑
J ns︐ f a i ( r n t a
干&
re a
s‑
‑n yA U
rsa ︐
. ︑
rs︐k gB r・1
r a n
a ‑ f s
gs︿
r g re ム ︑
︐
0・1
︑ ︐
} i e r
﹀
︑ ︐ ︐ .
︐ ︑ ︑ ︐
︐ ) a
*
* l e r {
︿iI一nge/
n ( { t
a (
e i 一︿
r'
t
︐e︑ ︐
a︑s・d・
‑ n
ro
( C
︐s︑
の 掲合
; 屈 折 角 が 約70 0
の 渇 合
; 屈 折 角 が 約45 0
) ) )
﹀ ) } )
﹀ ) ) EU Fb EU EU RU EU Fb FU
にω
RU
••••••••••
円u
nu
nu
nu
nu
nu
nu
nu
nu
nu
} ) } ) ) ) ) ) } ) )
︑ ︐
︐
RU
Qu
nv
'A
ヲ﹄司ua噌
EU
RU
門r
) 6 6 7 7 7 4 4 4 4 4
e laaaaaaaaaa g﹀
n1111111111}
aaaaaaaaaaa)
} u u u u u u u u u u }
edqqqqqqqqqq1 1neeeeeeeeee g u
︿ ( ( { ( ( { ( {
︿
t
n O ( (
︿ (
︿ {
︿ { (
︿ ( ar
︿
︿
dn
i a o
一︿Cr
﹁ ︑ f︑ naL u e ' ' A
・B・ ‑
e {
d (
; 界 面 反 射 能 率 の 計 算
; 形 状 反 射 $ の 計 算
算
E︐E
・
2 "の由 中 川
飽 川
U射v
v反f f状l一
︐ 二ノ } e
t
羽 川 ) V
(の
UU川
叩 陥 {
︿
ι
欠t l
一d n u
‑ ‑ ︑
d句
ra
﹃
HUz
*
* nr A
︐ ︑
r︑
u '' ¥
ノ
' ' A
明4罰F︐
︐ ︐
‑ M円 (
算 日 計 )
のv
世帯
f
飽l一
υ
射 刊
v反
刊
f
状 } (
t形
t l (の
t 2
P
自 ホ
* q "
'目 rrtr・︑
ι
欠 /
r一
面( n平川
H UU R
‑ ‑n u .
g1415
h山
帯 (
︑ a
︐ ︐ ︑ ︐ 合 川 渇 り
のef
算下
1
) 針 以 け に
日の法.引制
l
織 す
('wv
臨界け
lf
射 隈 l l t反が
t 6
(状さ
t l 陥形き件付
ι
の 大 / rd隔 の {
n欠
陥 川 何 穴 欠 刊
仇一償(( るす算tvt
喝a n
を長
︑川 波川
SA
凱 ッ
nv
︿よ∞i一数1
同一
夜 fa司dホ W H F (
nレ ﹂
v
u z ‑
' ' a .
︑ ︐
k︐
︐ ︐
h
音 ( 算
合 計 場
のの
率 上 ) 館 以
l
射 法
v反寸f
状 界
付形隈
h
のが
h‑合さ
U場
占
CL
r ‑ の大
陥の
n欠
陥 仇穴欠 仇 償 (
;ーーー[melhod for display̲e ]一ーー一一ーー一一ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー一一ーーー
(sqrl (/ t (* 8 1)))) defun r ̲g̲sh (t 1)
聖 書 状 欠 陥 の 形 状 反 射 率 の 計 算
( 欠 陥 の 大 き さ が 限 界 寸 法 以 下 の 掲 合 ) 欠 陥 の 寸 法 お よ び 欠 陥 の 等 級 を 表 示 す る
(defun dlsplay̲e () (clear‑screen) (sel‑cursor) (display̲e2) )
; 欠 陥 種 類 , (/ t (* 4 1)))
ム ︻
H喝の上
算 以 計法)のす
l率界
日射限 h反がs‑状さげ形きι
の大
r一
陥の
n欠
陥
白 何状欠
球 (
を 押 し て 下 さ いD 't)
[ y ]
を 押 し て 下 さ いo .t)
Cdefun display̲e2 ()
; 推 論 結 果 お よ び デ ー タ を 表 示 す る
(let ((dala1 (get '*b̲board*・*input̲wl*)) (dala2 (gel・*b̲boardホ '*inpul̲w2*)) (dala3 (get ・*bboard+ '+lnput̲ul2ホ))
(dala4 (get・*b̲boardホ '+inpul̲utl+)) (data5 (get ・+b̲board* '*Inpul̲ul+)) (dala̲J 1st (fgel̲v̲d curframc 'dala̲name)) (result̲1 (get '*b̲boardキ '+resull ul*)) (result̲2 (get ・ot:b̲board* ・ot:result ec*)) (result lisl (fget̲v̲d curframe 'resull namc))) (lerpri 1)
(prtsen ・ { 溶 接 条 件 デ ー タ を 表 示 し ま す )) (terpri 1)
(dlsplay̲e̲aux (append dalal dala2) data llsl) (lerpri 1)
(y‑or‑n‑p‑2 " 次 に 超 音 被 探 傷 試 験 デ ー タ を 表 示 し ま す . (clear‑screen)
(set‑cursor)
(prtsen ' ( 超 音 被 探 笛 試 験 デ ー タ を 表 示 し ま す )) (lerpri 1)
(display̲e̲aux (append dala3 dala4) data̲llsl) (lerpri 1)
(prtsen '(欠陥位置))
(dlsplay̲e̲aux (append dala6) dala Ilst) (lerpri 1)
(y‑or‑n‑p‑2 " 次 に 推 論 結 果 ( *) を 表 示 し ま す . (clear‑screen)
(sel‑cursor)
(prlsen ・ { 推 論 結 果 )) (lerpri 1)
(prtsen ・ ( 欠 陥 種 顛 ))
(dispJay̲result̲ut result̲l result̲llsl) (terpri 1)
(prtsen・ ( 欠 陥 等 級 ))
(dlsplay̲result̲e result̲2 result̲llst) )) (/ t (ホ 4 1)))
defun r̲g̲vh (t f v 1 angJe) 縦 穴 欠 陥 の 形 状 反 射 率 の 計 算
( 欠 陥 の 大 き さ が 限 界 寸 法 以 下 の 窃 合 )
(sqrt (/ (掌 l l t (pl) (sin (radlan angle
<* 4 1 1 (wave̲1 f v))))) dcfun r̲g̲cr̲vh (l f v 1 angle) 縦 穴 欠 陥 の 形 状 反 射 能 $ の 計 算
( 欠 陥 の 大 き さ が 限 界 寸 法 以 上 の 渇 合 ) ( 1 e l (( a (* (/ t 8 1) 100))
(b (/ 1 (sin (radian angle))))) (/ (sqrl (ホ a b)) 10)))
defun r̲g̲lg (t f v I angle) 直 線 潟 欠 陥 の 形 状 反 射 事 の 計 算
(ホ (sqrl(/ (キ 2 t t) (* 1 (wave 1 f v))) (sin (radlan angle))))
; 限 界 寸 法 の 計 算
算
ふl
‑ a
の法す川界v
限f
) の
i一l
v 陥刊
︑
'ah J W ( 市 川 ハ ) h横l川
‑ n 2 )
ph
団
* P
C M N円 ︐ .
︑ ︐ ︑
r一
欠/
同 面
︿ n平N
u‑
‑q
eAW偶
H H a
u
仇 円 (
[ y ] defun lcr̲sp (f v 1)
惨 状 平 面 欠 陥 の 限 界 寸 法 の 針 算
<sqrt (/ (* 1 (wave 1 f v)) 2 )))
︑ ︐
︐ ︑ . ︐
︑
J︑ ︐
n ︐
y
︐a︑
e ‑ T 内 £
︐e︑
v 算f︑
J 4 1 )
p u ‑ ‑
. 昼 ︑
JU
の 仁 川
nh
zv
e
ト a ‑ 一a1
' W E
‑‑︑﹃︿n
v界
l a
ヨ電
nfEh$a
︐ ︐ ︑
︑ ︐ ︐ . ︑ ・
・
a
K V A u
h
司k
/ a
vb
円
( r
r 一欠
t { C41 r n
a ‑ ‑ u n﹃ 刊
M Ea ‑
‑
n zss m﹁ ( (
U湾
fH// ︑
仇 一 際 {
(defun dlsplay̲e̲aux (dala data̲llst)
; d a t aリ ス ト に 基 づ い て デ ー タ を 表 示 す る (cond ((null dala) t)
((member (caadar data) data̲lisl 'equal)
【prlsen (append ・( ) (cadar data))) (dlsplay̲e̲aux (cdr dala) dala list)) ct Cdlsplay̲e̲aux (cdr data) data list))))
︑.J
OO
︑.JV
' ' A
U算
I M
U
計 仁 川
︑ n H
︐ ︐
H V
由﹄
aA V‑ al bA wg
1
・
︿
nv寸
l a f界ホm'tzR494・
開問H﹂ug﹀
/ a
'且訓
U ' 1 r Z R f
︑
r ‑‑ B
四 円 ・
・ ・
C‑
Lr
n
tA
yq
i
REFeDea n
ヨ 骨
︿ (
u' R
ez a‑
‑明 ︐ ︐ ︐
h直
{
r︑ . ︐
; 標 惣 欠 陥 の 形 状 反 射 能 皐 の 計 算
(defun display̲result̲ul (result result name) (defun r̲g̲s (f v 1 angle)
, .欠 陥 種 類 の 推 論 結 果 を 表示す る
(cond ((nu11 resull) (prtsen '( 欠 陥 種 頼 の 推 論 結 果 が あ り ま せ ん )) ) (t (do ((resull2 resull (cdr result2)))
((nul1 result2))
(cond ((member (caadar resull2) result̲name・equa 1 ) (prlsen (1lsl ・中 (cadar resu!l2) , の 確 信 度 は
(cond ((nu!l<cddar resull2)) 1.0) ( l (c ad d a r r e s u! t 2 )) )
・ で あ る ))
(cond ((equal (caadar resull2) ・欠陥)
(let ((aaa (display̲result̲e̲auxl (cadar resull2)
(fgel 'ul̲ruJes 'rules 'value)))) (Iel ((bbb (car (build Cacets 'ホwhylog̲esゅ aaa))))
(cond ((nul1 bbb)) (t (prlscn (llst
(car bbb)
'は
(cadr bbb)
・m m ) ) )))))) ))))))
facls rule̲lisl posslbil llles frame)))) (defun usedRuleLislAux (sum facts rule̲llsl posslbll111es frame)
(clear‑screen) (se1‑cursor)
(cond ((nul1 fac1s)) (t (terprl)
(prlsen ' ( 結 論 を 湧 い た ルール を 示 し ま す ))
(setq posslbil1ties (uscdRuleLlslAuxl (car facts) rule̲11sl nil frame)) (how sum (cdar facls) posslbi1illes)
(lerprl 1)
(cond ((y‑or‑n‑p
" m
輸 過 裂 の 説 明 を 続 け ま す か ")(usedRuleLlslAux sum (cdr facts) rule̲llsl nll framc))
<t nll)))))
(defun display̲result̲e (resu1t result̲name)
; 欠 陥 の 等 級 を 表 示 す る
一 (cond ((nul1 result) (prlsen ・ ( 欠 陥 の 等 級 の 推 論 結 果 が あ り ま せ ん )) ) (1 (do ({result2 result (cdr resull2)))
({nul1 resul12))
(cond ((member (caadar resul l2) resul t name 'equal) (prtsen (llst '* (cadar resu1t2) ・ の 確 信 度 は
(cond {(nu11(cddar resull2)) 1.0) (t (caddar resull2)) )
・である)) ))))))
) ) CU E ‑
a'
L
t l . ー
hu
‑‑
Ru
e d
o
nr
﹀
) )
n︑f
i } a e ) h m e c a u e r
‑
‑ f a u v r s
・
‑ e
・1
5
} } t e e t
‑
‑ ) m s l u }
a・1・1
︑
J r
︑J r ' a h u
︑
︐ .
︑
Ff‑
i s s e s e } E S ' i s
‑
‑ s
・2
ρ iv川unv
・ も
a t
i﹀
r p i e
‑
‑
t﹀
I C } i i } r ) i a ) i l v e a t b
﹀
f S } b l b ) d s i s e s
‑
‑ L U 4 a s a
‑
‑
︑J S
&
L r
・l
at s
‑ E ) e e l s s e a t e s s ' I ) i (
一e﹀
O C a i c o s b u t t e i s p a e
‑ a p o a H S i s
‑ t
﹀
e f
︿
i f P I
‑l i t u
‑
‑ } i ) b
﹀
百円
'lazerEAe‑‑‑sr‑t・
1rs tう一b
c i m
‑
‑ t a e s a t s u e t a r b a l e d g s a e i r l s f d i } r i c e f G e e
‑ J
︐
u s
‑c s s f b a { { P
︿a一︿
r 0
・d ( s e
‑
‑ t f f E f p l o i S 3 ー こ
r i t p t } s r x r ' ' a } u c i s
‑o
d u d r A d t b a s
‑ t p C A C J 6 a s ( f t i e ( s t ( t ' y e
‑
‑ e b C ) e s c・t
︐ ︑
3且
ヲ旬
' A C aa S9
‑t A
・1うι
a r
‑ x x a s f t x t L x f J
︐
) e u u f s e u l e u ( ) 3 } t l A A ( o r C A l l A t E S c u t t p a a t i u t 1 s f e a r s B 2 a f s b R s x i
‑ d i f
‑
‑ x } C
‑l i d
‑
‑ u l { t r L L u s ( r L s e L
A了
i r a e e A t a e s s e t e l a e
‑
‑ t e t c l o u i s
‑ n i C ( u u s c e ( u p ( u i u e b { R R i a g R R L r s i h d d L f ( h d q d e t E l s e e e s e t e
‑
‑ r s a u s s i l l u s e s u l p o u p u u u l l p u s u R U
︿
p q ( ( ( R u u ( ( ( ( d n e d n n e ( ( t e ( ( t
S ( (
︿S
︿
︿ (
u u d d n n n n u o u o
g A C e
‑
c
e ( e (
J U J U
︐e︑
︐ .
︑
(defun dlsplay̲resul l̲e̲auxl (resu1 t ru1e̲llsl) (cond ((nul1 rule̲llsl))
((and (equal result (caadar (cdddar rule̲llst)))
(member (cadar rule̲list) (cdar (bulld̲facets ・傘whylog̲ul* 'rulc̲name)) 'equa1)) (cadar rule̲llsl))
<t (display̲result̲e̲auxl resu11 (cdr rule̲list))))) (defun sum calcu1ation (resull)
(do ((result2 result Ccdr result2)) (sumO))
((nul1 rcsul12) sum)
(selq sum (+ sum (caddar result2))) ))
(defun uscdRuleLis1Aux3 (rule namc rule̲1 ist posslbll1tles frame) (cond {(nul I rule̲name) posslbil11les)
(1 (setq posslbilitles
(usedRu1eLislAux4 (car rule name) rule̲lisl possibililies frame)) (usedRuleLislAux3 (cdr rule̲name) rule̲llst posslbi1lties framc))))
す
つ ま か し す 了 で 終 要 を 必 ム が テ 明 ス 脱 シ て で し 上 関 以 柏 町
ti 刺
U ) r
H
︑ ︐
J a曹 ︑ y s
n MK h
u
‑
}‑ n‑t ‑we w i } ' 1 r o r︑︐︐
o h w ) e‑︐trtL 一yg
白 ︑ ︐
r︑OLs'I
︐ ︑
︐t
mr
nv
Au
nHr・
n H
Huph
n v
g ι t p
﹄
e ( (
JU ︐s︑
(defun usedRuleLislAux4 (rul@̲name rule̲lisl possibllities frnme) (cond ((null rule Ilsl)
(prlsen ' ( プ ロ グ ラ ム に パ グ の 可 能 性 あ り )) possibililles)
((equa1 rule name (cadar rule Ilst)) (push (car rule̲list) posslbili1ies)
(usedRu1eLislAux2 (bui Id̲facels rule̲name 'ruleChain) possibllltlcs)) (t (usedRuleLis1Aux4 rule̲name (cdr rule lisl) possibililles frame)))) :ーーーーーーーー[mclhod for msg e ]ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー一一一一一一一一ー一一一ー一一一ーー一ー
;ーー一ー一ーー[how ]ーー一一一一ーーーーーーーーーーーーーーー一ーーー一一ーーーーーーーーーーーーーーーーーー一一一一ーーーーーーーーー一ーー
; 推 論 過 程 に 関 す る 脱 明 の 表 示
;ーーーーーーーー[ how̲why ]ーーー一ー一一ーーーー一一一一一一一ーーーーー一一一ーーーーー一ーーーー‑‑ーーーーーーーーーー一一一ーーーーーーー
(defun how (sum fact possibililies) (cond ((null possibilities)
(prtsen ' ( プ ロ グ ラ ム に パ グ の 可 能 性 あ り )) ) (1 (how̲aux2 sum facl)
(how̲aux3 possibillties)))) (defun how̲why ()
(let ((framel (car (fgct 本・whylog̲ut*・frame 'value))) (factsl (gel ・中 b̲board* '*resul t̲u t*)) (frame2 (car (fget ・*whylog̲ec+・frame 'value))) (f ac ls2 (ge t '*b̲board中・ *result̲ec牟)) )
(cond ((null (usedRu1eLlst 1 faclsl (fget framel ・rules 'value) nil iramcl)) (clear‑screen)
(sel‑cursor) (lerpri)
(prtsen ・ ( 般 後 に デ ー タ お よ び j世 論 結 果 を 表 示 し て シ ス テ ム を 終 了 し ま す け (display̲e2))
((nul1 (uscdRu1eLisl 2 facls2 (fgel frame2 ・rules 'value) ni1 frame2)) (clear‑screen)
(sel‑cursor) (terprl)
(prlsen ・ ( 飯 能 に デ ー タ お よ び 推 論 結 果 を 表 示 し て シ ス テ ム を 終 了 し ま す )) (display̲e2))
(l (lerpri)
(cond ((y‑or‑n‑p " 推 給 過 程 に 関 す る 説 明 は 以 上 で 終 わ り で す . も う 一 度 説 明 が 必 要 で す か . (how̲why))
(1 (clear‑screen) (sel‑cursor)
(prlsen ・ ( 最 後 に デ ー タ お よ び 推 論 結 果 を 表 示 し て シ ス テ ム を 終 了 し ま す )) (dlsplay̲e2)))) )))
(dcfun hOW̲8ux2 (sum facl)
(cond ((equal 6 (leng1h (car facl))) (lerpri 1)
(prlsen (llsl (car (car facl)) (cadr (car fact)) (caddr (car facl)) )) (prlsen (list (cadddr (car facl))
(cadddr (cdr (car fact))) (cadddr (cddr (car fact))) ))) ( l
(terpri)
(prtsen (car fact))))
(prtsen Cllst ' の 確 信 度 は (cadr fact) ・ で あ る )) (lerpri 1)
(y‑or‑n‑p‑2 . . 以 下 に 上 記 の 結 紛 を 噂 い た ル ー ル を 表 示 し ま す . [y] を 押 し て 下 さ い . つ }
(defun usedRuleLisl (no facls rule 11sl posslbllltles frame) (clear‑screen)
(set‑cursorl
(co nd (【nul1 facls)
(cond ((eq no 1) (prtsen ' ( 欠 陥 種 額 の 推 定 結 果 が 存 在 し ま せ ん ) ) ) (t (prlsen ・ ( 欠 陥 の 等 級 の 推 定 結 果 が 存 在 し ま せ ん )) ) ) ) (t (usedRuleLlstAux (sum calcu1atlon facts)
(defun how̲aux3 (posslbllllles) (cond ((null posslbi1ities))
(t (cond ((equa1 (caar posslbillties) ・rule) (terpri 1)
(prlsen Cllsl ・()レ‑ )レ) (cadar posslbllilies))) (prtif (cdr (caddar posslbllilles)))
(prtthen (cdar (cdddar possibilities)))) ((or (equal (caar possibililles) ・ホinput̲....l*)
(equal (caar possibilitles) ・*lnput̲....2*) (equal (caar possibi1ltles) ・命lnput̲utlホ )
; *牛*牢
. .
. .
.
,.
;*****市ホホ***ホホ****市********ホ*ホ中ホホホ*ホ命*中ホ*車ホ*ホ******令市****ホ"'***惨*浄*今****ホ*車**宇ホ*
*"'**ホ*市*泳**"'*
92.11.14 ホ"'*刻ド*ホホ**刻ドホ**"'*"'********'"唱ドホホ*
mul isp86 version (equnl (caar possibl Illles) ・*lnpul̲ul2ホ))
(lerprl 1)
(prtscn ・ ( 入 力 デ ー タ ))
(do ((Ilsl (cdar posslbllllles) (cdr list))) ((null list))
(prtsen (append
FRAME. LSP
フ レ ー ム ・ シ ス テ ム Flle name
Fealurc
, ( )
(1lst (caar Ilst))
, ( の 確 信 度 は )
(cd a r 1 j 5 l ) ) ) ) ) (defun finl (frame frame̲lisl)
; フ レ ー ム の 憾 納
(pul frame 'frame framc̲llst))
︑ .
︐
} e
c m m a a r r g A
げ‑
m .
王 ︐
︑ ep吋Z m
s︑
︐
a:irur﹄d
ム f
‑ E︐ . ︑
n‑e u
レ 句 仇 ブ (l (lerpri 1)
(prlsen ・(データ))
(do ((list (cdar possibllities) (cdr lisl))) ((nul1 llsl))
(prlsen (append
ブ ア セ ッ ト か ら 仰 を 取 り J包す (defun fget (frame slot facet)
; 与 え ら れ た フ レ ー ム , ス ロ ッ ト , (cdr (assoc facel
(cdr (nssoc slol
(cdr (get frame 'frame))))))) '( )
(1Isl (cnnr IIRl))
, ( の 確 信 度 は ) (cdar llsl)))))) (lerpri 1>
(y‑or‑n‑p‑2 ..[ y ] を 押 す と 次 に 進 み ま す 。 , .) (how̲aux3 (cdr possibililies)))))
(defun build̲facets (frame slol)
; 与 え ら れ た フ レ ー ム , ス ロ ッ ト か ら 個 を 取 り 出 す (cdr (assoc slol
(cdr (get frame ・frame))))) ) (car lisl)))
(defun prlthen (1lst )
(prtsen (append '( t h e n ) Oisl (caar list)) ' ( の 確 僧 度 は ) (cond ((null (cdar list)) '(1))
(t (cdar 1Isl))))) (prlThenAux (cdr lisl)))
(dcfun prtif (list)
(prtsen (append '( i f (prllf^ux (cdr llsl)))
(defun fput (irame slol facel value)
; 与 え ら れ た フ レ ー ム , ス ロ ッ ト , フ ア セ ッ ト に 値 を 格 納 す る (cond ((null value))
(l (cond ((not (member irame $frame$)) (push frame $frame$)))
(lel ((value̲llst (follow̲palh
) ) )
︑ ︐
J)
且 ︐
︐ .
︑
c d
・‑
l
AU n r p ed c
︑ ︐
nr
︐ ︑
t } a
S ) ( X
1 t u l s n A ( i e f l s I X t t ulrr
AHEιnrnr
f u ( { i n
a v︑ ︐ . ︑
z︐ ︑
伊 且 ︐ ︑
r t
p AU
nn
uo
F
&
C E {
AU ( )
) )
︑ ︐
C
E ' u
︑. J ' E
︑ E・
. J P匂
AM
t m v craL ea a e A B ri
‑s s
e ) i t m l ( ioai r n }
S Z A a t
一} S t t t i sesl ig
‑‑
一
l f l e
( ( 一
u
e'
l
u a l v
a
v t
s
ea) ul
﹀
1 ( ) a } v d ) C }
rae elu
hunv'a
mra
e { V
m ︐a︑ ・ ・
L
( (
AU n H
n v
pu
(
︑ .
t } ︑h' ︑.J ) ︐︐
q d
‑l a
) E f t a
nv
r a c {
Au n e
{ e x . ︐ L
﹀hH
) t t a s p
・l
‑6LAu ‑ a︑Jr
a E C i (
hH'z
︐ ︑
‑hH
aat p a
︐ ︑ ︑ ︐
P A
h H
‑
h t w t a o aPI P I
‑ ‑
o
wl ︐
A
O U (
31nH
o'trt ‑{t
rA
d・
n n fuo c
E (
λu {
) (car llsl)))
︑ ・
J
ふ4度僧砲の
︐ .
︑︐B ︑
) )
a︐ ︑ ︐ ︐ ︐
qu'i
‑ ‑ a
︐e︑ ︑
.J1
・ ) ﹀
﹁ } ) a ) )
a t t
C 5 5
( i l
‑ ‑ L s r r i a a l d d r︑
c c
( (
)
l u﹀
n H
︐︑ ︐
{ t ) ( ( ) ) d t n s
nu‑aa
( C 1
・ (
r
A U J u
n e
︑J
β l
v
︐ ︑
︑
n u z
s p x i ) a u
' a ︑
J
r︑
AH
( t n
q u n H ρ
M X・
l e h u l s T
A n 6 L 6 L n H 司﹄
r r e l p p h u { {
T n t ( t rr ︑ ︐
tp AU
n n u o
rAFU
日 ︑ ︐ ︑
AU { ) ︑.J) ) } ) } v d βL b n t s ︐ ︐ ︑t c u l ( ︑ . ︐ a
'L
e d
‑
} i
︑JE
} a
t q
d
‑ at
‑s
l a
一1
a ) a (
t s
r d
・‑de l e a
‑F t'
l
a p
y r y e ( e k k r ( c d
nu
mu
d s c n s︐t
tea { t X ( (
e d
n n u o
r A C E {
d (
(rds b:conlrol)
) ) ︑︐J)
) t
'lcリ・1・E
nu EI ) a
. ︐
目 ︑
) S X
t‑
‑u
S 1 a a
‑ ‑ 一‑ l a t
‑s
ala { l
l
U (
t n
qd
︐ . ︑
ι
a ( (
ーd
nn uo f c
e (
d ︐︑ ﹀
) )
. .
也 ︑ . ︐
q岨︑B︐i﹀
l t
‑s
ai l }一 ) a
t s
r
︑J S A A u
t‑
‑c s一︹
‑ ︼
a
l x
‑r u ada
{ C
一
( t
x S u l a
a‑
‑
一U (
t n
Ec d︐︑&L
a ( (
ー
AU
n n u o f c er
︑d (
(deCun fgel̲frame (frame) (cond ((gel frame 'frame))
(l (sclf (gct frame 'framc) (llsl framc)))))
(defun fremove (frame slot facel value)
; 与 え ら れ た フ レ ー ム , ス ロ ッ ト , ブ ア セ ッ ト のflllを 消 去 す る (lel ((value̲list (follow̲palh (llsl slol facel)
(fgel̲frame frame)))) (cond (((member value value̲lisl)
(delele value value̲llsl)) l )
(t nll))))
(defun fdelele (frame)
; フ レ ー ム の 削 除
(remprop frame 'frame))
る
す
hノ
ツヱ
チを
品川剛︑
︑ ど つ
au
る )
‑v
L
あ
t )
b )
値引
V﹄C
} ヨ
'F
f
p‑
'也
︑.J4
事 4︐ n u
efl U 4 s l' a7e v ' m
‑da
&
t V E
‑
︑c e'f
a1
1t
f ' e
d'J'b M
ロ 日
sスeu e︐i m
︑
aa﹂Vr・︑
.J
FA
‑r
︑J
{ ' e )
hu'i‑ z
・
‑ K F m・‑
ph
・4︐nLnH
e:m
﹄HeJ
︐ ︑
SL
C L { ( ' ' A ︐
4a mw 白﹀
Au
n1 6ι n u}
﹄OEE‑dC ん は 与 (
F・ ︑ . ︐
(defun fclamp (framel frame2 slot)
; 与 え ら れ た 2つ の フ レ ー ム を く っ つ け る (rplacd (fgel̲frame framel)
(1lst (follow̲path (1lst slol) (fget̲frame frame2)))) s 1 0 t)
(defun fget̲i (frame slot)
; 与 え ら れ た フ レ ー ム , ス ロ ッ ト か ら 値 を 取 り 出 す
; 与 え ら れ た プ レ ー ム に 値 が な い 場 合 に は ak 0 ス ロ ッ ト が 示 す フ レ ー ム か ら 検 然 す る
(store̲frames (cdr framelist))) (t (put name 'frame frame)
; フ レ ーム がマ ス タ ーフ レーム で あ れ ば,
;*masterframes*へ 名 前 を 格納す る .
(cond ((equal (fget name 'ako ・value) '(masler)) (or (member name *masterframes*)
Cselq *maslerframes*
(cons name *maslerframes*))) (store̲framcs (cdr framelisl)))
;フレーム がマ ス タ ー フ レー ム 以 外 な ら ,
;>I<irames*へ 名 前 を 絡納す る ' (l (or (member namc中frames*)
(selq *irames* (cons name *frames*))) (slore̲irames (cdr framelisl>))))))))) ({gel̲ll ({gel̲classes frame) slol))
(defun fgel̲il (frames slol) (cond ((null frames) n11)
((fgel (car frames) slol 'va1ue)) (t (fget̲il (cdr frames) slol))))
(defun fgel̲classes (slart)
Creverse (fgel̲classesl Clisl slarl) nil)))
) ︑
J P
﹄
s u e e s u s q
a ‑
) r c s a c c e s
r︑
u s
ea
'A
lu S ‑ ‑
s e q c e g r︑
sg
A
︑Jcd
lfa ︐ ︑ su l d efe
n
s u 一esn可・knuz
a e
p ‑‑
g a
cl
f (
一U︿
t n
e(t g{︿EA d
nn
t︐︑︑ AU e( c f uo '
︑ .
府刷 入 れ 慣 ぇ るh v
新 ' レ 川
をU
・
1m︐ H
m M
の
る 打 )ト
あ
eMツでmM
セ 当 打
vア逓t 一
UUブ不
t
﹀p c t o f
﹀
a ' k l (} fトきSUU ツレ L M
川
叫ロる
t
日 刊
eスあ吋臼
t
m E
a(s
a ' b f i
打
ム 偲
cけ(一の叩tm
レ 上 回 同 い は フ 以 げ け
P:﹀e
す九
てd打れ2釘n
らに いい え' M 初
陀
んは
与 尻 町 (
'ako 'value) (cdr queuc))
(cond ((member (car queue) classcs) classes)
(l (cons (car queue) classes)))))))
‑ ︑
a︐ ︐ ︐ f・ 〆
t官
h/ ツエチのめ
たる
固守
4a
曹を
値
pり
ふHH
'F
セ ツ
ア
ブるけなeU る異
m
日一時と什何を
es
t値u日
切り
1 m
sよ
au
mにvt‑
刊承のれげ
一名i fxと一 継ム日 レ 叫 Mトフf 一
山崎ツ一・1一n
セタ
UU
ア' M
スは 仇 フ マ (
) ︑
) . ︐
︑ .
︑ e J V ) } ) ︐
J L R
. ︐
Gu ︑
at
・2・C
J V
︑
JIa・‑ー
︑J
‑E A
} a (
a v‑
‑s t t
‑
‑ ieo
‑1aIa al I c i V
) a { (
. ︐ L
s r J
u
i d e l e a
‑{ l a p
yr
ye(
e k k r ( C d o a o csc s' t s a S(t a ( ( PI
nn d
u o f c
E {
AU ( るす成作会t
tp
)
スリ
e Hソm のM
S A
LS
} ッ
emロm r aLr v
ノg A
SA'
rz︑ ﹃
df
︑ . ︐
L
︑
e争 . 也
' U w .
︐b.u悶 て
(
‑l J れ.訂訂
av L
‑0
犬
1一2 r叫納 ﹄hれいさ
T a
d b引C
u
︑
r b i a‑ C
n
‑ p u''a
fA
Ib
m
E(
小 ブ '1
・ '
﹀‑ ‑ ‑ ‑
l u
c d
e r
) ︑
. ︐
a︐ •.
e c a
g A
a曹 ︑
o l au
︺) S } e )
S)
S } a s l e e s
包叫
r a a l ee
( ﹀
) r
sltd
e‑
‑e
c
sng(
sf a
} ( X
isu
c et a
(
S l
一
suf x a si u le
‑ a
且S ‑e crt
' A
e一u︿ a‑‑'l&LEYA nub︐‑
t n s e {{ t
gbr︑r︑r︑'
' A
d
n n
uo fc
e (
d (
(deiun fgel̲v̲d (frame slol)
; v a lu eフ ア セ ッ ト ま た は de f a u 1 tフ ア セ ッ ト 治 、 らf置を1号る (cond ((iget frame slol・value))
((igel frame slol 'default))))
(rds b:method)
(deiun fgel̲c (slol)
(igel̲v̲d curframe slol))
) e LH
・ 曾
r 酒 ︑ n u
p+A
E
Hu
l a v a
v e
‑ )
pe D色
' n
︑ ︐
U ) t
c
s t m )
onaE︐ e
t i 'lr︑J
s s
gAC
) a t
m
t e t o t a
nu‑ISBI
E r
‑ P i s
‑ f S ( 1 { l
︿︐('
(・
由︑
m d a n r e
gA
nv
{ P
a
k (
cu nu
•.
n
n i
HU
T A
fp
pu
︐ ︑
du
︿ ) ) e C叫n nv P R
u
e ‑} )t ︑JS d i al n﹂ra︑r
︑ ︐
︿e)s︑JEn︑JSOEAn p i os
n
pe
s r aL C ( {
︑Jri(d
r n ( p o
r
.t
n﹂ee(
・ ?
目 ︑
︐z︑︐︑︐ . ︐ a
(defun fgel̲n (frame slol)
;継承とデ ィフォ ル ト を 利 用 し て 値 を 得 る (lel ((classes (fget̲classes frame)))
(cond ((fget̲nl slot classes 'valuc)) ((fgel̲nl slol classes 'defaull)) ((fgel̲n2 slol classes 'If̲needed)) (l n j 1 ) ) ) )
︑︐J) ︑.J} y
ρ iv
ν H
)
) )
ys ee ks s ﹀
t a v d o l
e
‑ c k s
r・5
) ) d
eE
ls
e
s'ler︑s n s a s
tも
l ) a o
e
s‑‑
自‑M
FLea
‑ t aOSr・i cd
l a a n
slc一
( C
︿te
l l t g n'
﹄由﹄EZ一
u g ( t n f e︿ ( t g { ( (
rI
ripL Hunu nn d
e (
AU ︐g︑
(deiun fgel̲n2 (slol classes key) (cond ((null classes) nil)
((mapcan '(Iambda (e) (app1y e ni 1)) (fgel (car classes) slol key))) (t (fget̲n2 slot Ccdr classes) key))))
Cdefun fpul̲p (frame slol facel value)
: 与 え ら れ た フ レーム , ス ロ ッ ト , ブ ア セ ッ ト に 値 を 絡 納 す る (cond ((fpul frame slol facet value)
(mapcar・(1ambda (e) (mapcar
︑ '
︐
J︐ }
.J︑ ︑
Au
e
Au Au
a
g孟
•.
' ' t o I S ‑
‑ e
ac t n e ) u g )
saSAP
︾
' ( m
a
Ta rl s E s
c d
a l e t bu g
' ' A
︐ ︐
︑
) ︑
. ︐
} e u l a
HV
Cdefun store̲frames (framellsl)
;フ レ ー ム を メ モ リ ー に 格 納 す る (cond ((nuIl framelist) t)
(t (Ie.t ((frame (car frameI1st)) (name (caar framel1st))) (cond ((not (atom name))
(prtsen '(not named by atom))
(add̲lo̲slream new̲a̲llsL a̲lisl̲slJ'cam)) (cond ((nol (numberp malchRaliol))
(selq malchRaliol 1.0))) (selq malchRal10
('" ma l ch Ra l i 0 (ホ malchRaliol new̲a̲lisl)))))))
**ホ*ホホ*'"ホ****
;ホ***
. . . .
.
;ホ****訓ド*ホ*刻ド*司ドキ*ホホ**ホ***********ホ*****~ドヨ俳キ********本市*判ドホホ朱1<***司ドホ中*******本********牢
92.11.14
$ホホ*ホ**ホ********市*本**>1<ホホ**ホ*>1<
mulisp86 verslon
( l
(lel ((new a list
(malch (car pallern) (cadar assertlons) lnll1al a 11sl)) CmalchRallol (malchRalioAux (car assertlons))))
(cond (new a list
(selq a̲lisl̲slream
(add̲lo̲slream new a llsl a̲lisl̲slream)) (cond ((not (numberp malchRaliol))
(selq malchRaliol 1.0))) (selq matchRalio
(>1< matchRallo malchRallol))))))))) F i 1 e name : R U L E. L S P
Fealure : 縫 輸 エ ン ジ ン の た め の ル ー ル ベ ー ス シ ス テ ム
(defun inpul̲asserlions (inpul)
; * d a t a *をa s s e r t i 0 n sに コ ピ ー す る (cond ((null inpul))
(t (se tq asscr l i ons (append (ge l • *b̲board* (car i npu t)) asser l i ons)) (inpul̲assertlons (cdr Inpul)))))
;一一(データ の 入 力
(defun malchRat¥oAux (asserlions) )ーーーーーーー一ーーー一一ーーーーーーーーーーーーーー一一一
(defun forward chain (rules) (selq asserllons nil) (inpul̲asserlions inpul) (cond ((null (Inl̲variable))
(forward chain aux rules)))) 前 向 き j世論
(cond ((null (cdr asserlions))(car asserlions)) (l (malchRalloAux (cdr asserllons)))))
t h e n部 分 の 処 理
(defun forward̲chaln̲aux (rules̲to̲try) (cond ((null rules̲to̲try) progress̲made)
((usc̲rule (car rules̲lo̲lry))
(forward̲chain̲aux (cdr rules̲lo̲lry))) Cl (forward̲chain̲aux (cdr rules̲lo̲try))))) Cdefun lnl̲variable ()
; 変 数 の 初 期 化
(progl Cpul '中b̲board*resul t ni 1) (fpulWhylog 'forward forward)
(fpulWhylog 'frame (1 ist curframe))
(se lq progrcss̲made n 11))) (defun spread̲through̲actions (rule̲name actions a̲llsl)
; 照 会 が 成 功 し た 結 果 の リ ス ト を 作 成 す る
(do ((aclions aclions (cdr actions)) Caclion̲slream Cmake̲cmply̲stream))) ((null aclions) aclion stream)
(Iel C(new (newMalch (car aclions)))) (setf (gel ・*b̲board*resull)
<remember (gel ・*b̲board* resull) (defun fpulWhylog (slol value)
(cond ((nul1 value))
(t (fput rules̲used slol 'value (car value)) (fpulWhylog slol (cdr value)))))
rule name (car new) (cadr ncw))) Cselq aclion̲slrenm (add̲lo̲sl
,
'enm new actlon̲slream)) ))) (defun newMalch (acllon); 確 信 度 を 計 算 し リ ス ト を 作 成 す る (do ((aaa nil)
(aclion aclion (cdr aclion))) ((nu11 action) aaa)
(setq aaa (append aaa (newMalchAux aclion))))) (defun feed̲lo̲8cllons (ru1e̲name actions a Ilsl̲slream)
; 結 果 の リ ス ト を ま と め て 1つ の リ ス ト に す る
(cond ((empty̲slream̲p a̲lisl̲slream) (make̲empty̲stream)) (t (combinc streams
(spread̲through̲acllons rule name actions
(firsl̲of̲slream a̲lisl̲stream)) (fecd lo aclions rule name
acllons
(resl of stream a lisl stream))))))
; i f部 分 の 処 哩
; t h e n部 分 の 処 理
ーー( ルールの処JlI!
︑ ︐
﹀︑
. ︐
.l 0 ︐
a冒
a 口H︑JLH︑.
J
C } t ) a } m o
i ︑ ︐ ︐ . ︐ ︑
n a O R
‑‑ h
‑LPLu pu
‑ ‑ ︑ aa
m r
a t
ph
a u ( i l * { ( }
︑.J
t n
qu
n u t
‑
‑t
( C ) a } n r o a
‑ ‑ c
・p・ ‑ ︐
z︑
pb
a t }
R M ︑J
ra
﹄ ︑ . ︐ a l ) FUJ
︑ ︑
J︑.
︐ ︐ ︐ ︐ ︑
n
) ) d o n n p n i O G r e t
‑‑
‑l ep
c
t t b p a c e m a a a u rr︑ { n a r { t c x d { (
︿
u c A ( d t h n s C B I O
‑
‑ t r P I c
‑ a僧
S 7 U ( (
M円
+l
n
W
量伺 ( t e )
︿ {
F t nu
A u
n
例目
nu費2O
︐
A$1ce ‑ ‑
包 (
d
︐ 世
{
;
(cons x (cons y (cons (r100 z) nll))) p)) (cadar p))
(() z (caddar p)) (rp1aca (car p) x)
(rplacd (cdar p) (cons (rl00 z) nil)) p)
(t p)))
(() z (caddar p))
(push (cons x (cons y (cons (r100 z) ni1))) p) (de1̲I¥st y p)
p)
(t (cons (car p) (remember (cdr p) x y z))) )) (defun r巴member (p x y z)
; 確 信 度 の 大 き い ! 慣 に 格 納 す る (cond ((( z 0.01)
p) ((null p)
(cons ((equal y
(cond
i f 部 分 の 処 理 トー一司一一一一一ー一一一一ーーーー一一一ーーーー一一ーーーーーーーー一一ーーーー
(<l:ef~u~ ~.as_c':.d~__l.h~~tlßh_pall e_ rns (pal lcrns a̲1 isl̲slream)
; i f部 分 の 条 件 を 順 番 に 処 題 す る
(cond ((nu11 pallerns) a̲list̲stream)
(t (fillcr̲a̲llsl̲slream (car pallerns)
(cascade̲lhrough̲patlerns (cdr patlerns) a̲llst̲slream))) ))
) m a
白Mr
a官 ︑ s
t c u
i l a t ︑
J S
︑. J A A
) l
︑ ︐
‑
m n a e e h r t
・ ‑
目 ︑
SE︐ 一ty︑
J S t } i p m l ) m a
一
) e e f
)一
r i } e e l t e s k m S S E
‑ n a a
‑‑一s
urmnBaa‑
︑ ︑
Jr
r e (
‑一
S } e t e n
‑
‑ m v
r︑J
bk 'a Ea
e'
Aa c d } a l u h
一e r
ペu︑JD
nrtarr
︑
a e
‑t
c l h m s s c ( u g a n
‑m
r u c o n a r o r
‑‑ o n ) d r r t t i
一
) C d h s c t e e(dt
‑a c l i d
‑‑ o
‑
a u u e a e s t o r rsed
‑‑一
t p r(aid
‑
‑
d
r e e
‑‑ d d m c ) d v r s f a e a s o a e d a
‑
‑ { e c u
C
r e e f r
一
' t ︐ ︑ ︐ ︑
︐a
︑ ︐
t
︐ ︑
a La d
‑ s
e e
m m
‑l
l a a y u
u
e e
‑E r
r
o r r p
一
( i
c
t t t m
o
t m
g
s s c t e a a t
‑
‑{‑
'A nH ns 't
・ ︑
n A U
︑ ︐ ︐
u h
‑‑‑s
o l e } rc e‑ in sa
‑‑ o
e︑ ︐
︐一
t l
‑e l l n f t c a u f h
一C
{ {
s
mrita
a{
H U q qn可qa︐
q q J u
ne︑
t i t
‑
‑ n
H u n ‑
u ρ
し肉︑ρ﹂phphnu
eL
Cd c
d q
J W
C J
VC
J V C IM p
iw
ρ LW
︐ ︑
︐皿︑r︑
︐ ︑ ︐
︑
︐
皿︑
︐ ︑ A U
( ) ) ) ) ) ︑ ︐ ︐ )m
} a
ame r ct
r・‑ c d
t一
‑s st t i
e d ' i
) i
一
) l a
m‑
a a m e a r m e t a r s e t
‑ r s ) y t
一
m t s f a p
一o
e m f
‑ r e o t
t一‑S
S E
‑ e
一
k g r t a r
︿
s m i i { f n E a r
︑F a
一
) e
a m n t a r t n︑J
e e a
r*
u ︑r t p
ek‑‑t t↑
N s a m
‑
‑
一
pa
av
︐t e p ι E s s r
ft
z・︑ ︐
1 n H
&
も
ip
‑‑ SO S
m
量 旬 ︑
一s・1一
atam‑t e﹄
J a r s
r‑
pe e‑
‑
t‑‑
rsl s f m t s
‑τっ
asaa t︑e
‑‑
一
SJrerr
‑zstnee
I n s
・‑tt
一O‑
b i l a‑‑ymii 一t t o f f rrPC{{
e e m { t s e
・1sr
︑ + ︑ i a r︑
︿
SA一
r d
n H ρ ‑
hn H
u t o
f・
2a C E't
︐ ︑
・dfA' t
・ '
(defun del̲llst (y p)
; リ ス ト か ら の 削 除
(cond ((nuI1 (cdr p)) nll)
((equal (cadadr p) y) (rplacd p (cddr p))) (l (del̲lisl y (cdr p))) ))
︑ .
︑
. J
︐. ︐
s •.
)
・
1﹀le一
} u a
m‑‑
a a l e v a ) r・
・
1︺
a︐ ︑
. ︐ 目 ︑
︑
.J
s e i ) 一m n s ) t a i n ) s n o l
・‑
︐
) 1 0
・teaaE
・
‑ p n r o a
‑
‑ o e h i s t
︑J c
d
・
LCO
RM
) r r a
‑
‑ ) e e l } m b s r
‑ } a m s a a s e e a c
一
} n r m ( w t o t
‑ r e s ' l s a x n i t
‑
‑ t d u m B A r t e a A n
‑
‑ a
‑
e s g C O
﹀e
a s
︑2・1 8 A
︐ ︑ 且
︐ ︑
r一
S } l ( } t t l a )
‑ n a t s a m a } r R S
‑
I r a n e h i t t d e l r t C I s
‑
‑ c r l e t t
‑ i n ( t u t a a a l
‑
‑ ' 3 s n t p m
‑
‑
4一︿a︿
w a n h l y p r e
r寸
d s t t a l n q
e匙
z n p o r t e o t
tdEOmnas{ide t
町 民
・le(ai‑‑
︑n
s a匹
ht 一) C 1 1 a a { p・p
‑r es
︿ 一
h R (
(ポ ー
e k n a c h t lsaoe
‑‑
tc sIsm‑mwatd n'a
︿
t a e m a n O E r n n ( m o
iB
m e
一{
( C t i a s h ( (
rp︐
e s e e‑srart s
‑ n t a e slos‑el a t
‑
‑l S {
‑tttu(
rLrsnr︑
eEelt t 5 1 1 l s
配
‑r
m i i a a o o
gA
︐ ︐ ︑ ︐ tr
︑ ︐ ︑ F U
: {
︿ ( 1brJG ︐ トrou n HE︑J
eL
AU44J ︐ ︑ ︐K (
;
(defun feed̲to̲rules̲used (rule̲name lf list then̲list a̲llst̲slream) 利 用 し た ル ー ル の リ ス ト を 生 成 す る
︐z︑
••
、 . 圃 圃 圃 圃 園 田 園 ・ ー ー ー ー ー ー 一 一 一 一 一 一 一 一 一 . ← 司 ・ ・ E ・ ・ E ・ ・ E ・ E ・ E ・ J
; 推 論 に 利 用 し た ル ー ル の リ ス ト を 作 る
; ( ル ー ル 名 i f部 分 th e n 部 分 )
(cond ((empty̲slream̲p a̲lisl̲stream) l)
(l (fpulWhylog 'rule̲name <Ilsl rule̲name)) (fputRuleChain ru1e̲name forward if Jist))))
︑ ︐
z d
︑z '
) )
q J 4 H
L u a
t D
L u h u
︑
︐ ︐
q JA 旬 ︑ ︐
︐ a a } a a
﹀n v
‑ A︐.
︐ . ︑ ︐
t︑ n u
︐f ( ︑︐︐t l
( V︽a m { t (
(cond ((nul1 if̲list))
ct (fput rule̲nllme 'ruleChain iorward CruleChain forWllrd (car If̲liAl))) (fpulRuleChalnAux rule̲name forward (cdr lf̲11st)))))
( () bb3 aa3)
Ccond ((equaI bb2 ・ 左 台 形 ) 1.0) ( C cqullI ll1l2・.(:;{1 Jf~) 1. 0 ) (t (max (ー 1.0 (/ (‑ bb3 aa3)
(+ aa4 bb4))) 0.0) ) ) ) )) ) ((and (cquaI aa2 ・台形)(nol(equu1 bb2 ・台形)) )
Clel ((aa3 (car (fgel (caddr p) 左 周 折 点 'value))) (aa4 (car (fgel (caddr p) お廊 折 点
'valuc))) (8a5 (car (fgel (caddr p) .左幅 'value))) (aa6 (car (fgel (caddr p) 'ti幅 'value))) (hl
・
:1(Clll (f!,:<,!(caddr d)
(cond ((01' (equal bb2 ・ 左 台 形 } (cqual hb2 ・;(,台形)) . 周 折 点 )
((equal bb2・三角 形) ' 中 心 点 ))
'valuc)))
(bb4 (c8r (fgel (caddr d) ,幅・value)))) (cond ((and ((= aa3 bb3){(= bb3 aa4)) 1.0)
(((= bb3 aa3)
(cond ((equal bb2 ' 右 台 形 )1.0) (l (max {一 1.0 (/ (‑ aa3 bb3)
(+ ua5 bb4))) 0.0) ) ) ) (defun fputRu1eChain (rule̲name forward if̲lisl)
(cond ((nul1 forward))
(l (fpulRu1cChalnAux ru1e̲namc (car forward) lf̲llsl) (fpulRuleChain ru1e̲name (cdr forward) if̲llsl)))) (defun fputRuleChainAux (rule̲namc forward lf I isl)
(deiun ruleChaln (forward if 1ist) {let ((aaa (get forward 'irame)))
(cond ((nu11 aaa)
(ruleChalnlnpul (gel・*b̲board* iorward) If̲llst)) (l (ruleChainAux (fgel forward ・rules 'value) if̲lisl))))) (defun ru]eChalnlnput (iorward If̲list)
(cond ((nul1 forward) nil)
((equal (caar if list) 欠 陥 位 置 )
(cond ((equal (cadar forward) (car if list)) (cdar forward))
(t (ruJeChainlnput (cdr forward) if̲11st)))) ((equal (caadar forward) (caar If̲llst))
(cdar {orward))
(l (ruleChainJnpul (cdr forward) if̲lisl)))) (((= aa4 bb3)
{cond ((equal bb2 ・ 友 台 形 )1.0) (l (max (ー 1.0 (/ (ー bb3 aa4)
(+ aa6 bb4))) 0.0))))))) ((and {equal bb2 ・台形)(nol (equal lla2 ・台形)) )
(Iel ((bb3 (car (fgel (caddr d) ・ 左 加 折 点 'value))) (bb4 (car (fgel (caddr d) , 右 組 桁 点
'value))) (bb5 (car (fgel (caddr d) ,左1筒 ・value))) (bb6 (car (fgel (caddr d) ,お1情 'value))) {aa3 (car (fgel
(caddr p)
(cond ((or (equal aa2 ・ 左 台 形 ) (equal a82・t;台 形 )) . 周 折 点 )
((equal Da2 '三fll~ ) . 中 心 点 ))
'value)))
(aa4 (car (fgel (caddr p) ,幅・value)))) (cond ((and ((= bb3 aa3)((= 3a3 bb4)) 1.0)
( (く= aa3 bb3)
(cond ((equal' aa2 ,;(; 台 形 )1.0) (l (max (一1.0 (/ (ー bb3 8a3)
(+ bb5 aa4))) 0.0) ) ) ) (defun ruleChainAux (rules if lisl)
(cond ((nul1 rules) ni 1)
((and (not (null (gel (cadar rules) 'frame)))
(ruleChainAux2 (car if lisl)(cdar (cdddar ru1es)))) (cadar rules))
(l (ruleChainAux (cdr rules) if̲list))))
︑ ︐
J
︑ ︐
J) ) } s
1 S . ︐ L
) l
t‑
n H
︑. ︐
︐由 ﹄
︑.
︐︑
J L H
C凶CJSL
a Et
'
晶 曹
︑ S E r
‑ l i d
‑
‑ c
一 一
r︑
nH nH e e l
LHhHS
t ) t i l l
i‑‑r‑ s n a f
‑‑ai
' a
︑ ︐
nu一巳
J v︐t
q乙
f t x
・1 5 t u ( i s A
ー﹄・2n2一
l i x n
‑a
Hu
ef
ah
H
Ah
‑c
n
‑ t e i l i a
‑ a u
hH
2A
Ur
a
c u q t e n e
‑
︿
︿
t
U ( ( {
I
A u H u nn
n u
gAFb our
︑
AU {;ーーベ パ タ ー ン の 照 合 トーーーーーーーー一一ーーーーーーーー‑‑一一一ーー (deIun malch (p d assignmenls)
(cond ((and (null p) (null d)) (cond ((null assignmcnls) t)
(l assignments))) ((or (null p) (null d)) nll) ((equal (car p) (car d))
(malch (cdr p) (cdr d) assignments)) ((alom (car p)) nll) ))
︑
J︑ .
︐
) ) ) } ) 形 形 ) 形 形 リ リ ム ロ
A口
} リ ム ロ ム ロ
﹀ け }
﹀ 形 左 右 形 町 左 右 形 町
J J 台
︐
︐ 角 川
.. 角
M I l
・
2 2 2 V 2 2
ミ
V ) ) a a τ一・
b b
三
・ ' '
) 2 a a
・
b b
・ 耳
A耳HN リ リ リ 凶
1 1 2
帽
1 1 2
幅 台 台
u u u u l M M M
﹀ . 回 目 凶 } . 左 右 u u u u a q q ) ) } q q ) ) )
︐.
M M U U
引 何 何 点 剖 点
P
九 日 何 点 剖 点
d 2 2 v v v v e ' T u p r ' T U ρ r
﹀
a b
‑
‑
‑
‑ { r H U q
︑4 d r h D q
︑ 札 d o a b e e
わ
u u ω
腐んは中川叫山山
ω
周 何 中 川 吋 し
l l o p o p耳
A (
︐ ︐ t ' ) C ( ' f
︐
) C a a k y k y f r e
︿
r e
︿
﹀ } u u at at iF
ト
d d u d d U 3 3 q q
••..
︐
t d n l t t d n l t b b e e e a o a e e a o a e b b { { ) ) ) ) 2 g c c v g g c c v g
︿
︿ p p d d a f { (
・
f f ( (
・
f 3 3 a (
︿ {
︿
aad r r r r a a n ) d d d d l r r r r o o d d d d a a a a a
=
﹀C
a a a a u c c c c ( ( (
'A
CC
PM
en
uB
︐
︑
︐
︑
︐
︑
︐
︑
︐
t︐
. ︑
( ( ( ( e
︑J
︐ ︑ 内 d s
鍋E q d a t s q
﹀
t t t t a a b b n d e e e e r a a b b o g g g g O ( ( (
︿C
rs
Ae
Ar
4g
Ar ︑
r︑r︑a
︿
︿ ( ( c t t ( r r r r o e
﹀
} a a a a n l } p c c c c ( (
) d
︿ (
︿ ( (
S r
a・ ︑
rJ
u'
i
勺ι
'A
qι
Au
na‑Gaabbn
ecaaabbo m(C{(((C n r・
︑︐ .︑
︐
1
g } i P I t s a e
C dr
・‑ H
u 'i
aaq(
ce
A u ︐ ︑ ︐
t
・
t( (
n r t i
( a d un
‑ q o
hec p u
r
︑
r︑
且 曹 ︑ ︐
E︑a m d n H n o u c r ' A
︐e︑e
AU
︐e︑ (((= bb4 aa3)
(cond ((equal 8a2・ 左 台 形 ) 1. 0) (l (max (ー 1.0 (/ (‑ aa3 bb4)
(+ bb6 aa4))) 0.0))))))) ((and (equal aa2 ・台形)(equal bb2 ・台形))
(Iet ((aa3 (car (Igel (caddr p) ・ 左 屈 折 点 'value))) (aa4 (car (fgel Ccaddr p) . 右 周 折 点
'value))) (aa5 (car (fgel (caddr p) ・左帽帽 'value))) (aa6 (car (fgel (caddr p) ,右 'va]ue))) (bb3 (car (fgel (caddr d) , 左 居 続 点
'value))) (bb4 (car (fgel (caddr d) . 右 屈 折 点
'value))) Cbb5 (car (fgel (caddr d) .左稲 'value))) (bb6 (car (fgel (caddr d) .右帽 'value)))) (cond (((= aa4 bb4)
(cond (()= aa4 bb3) 1.0)
(l (max (‑1.0 (/ (‑ bb3 aa4) (+ bb5 aa6))) 0.0)))) ({(= bb4 8a3)
(cond (()= bb4 aa3) 1.0)
ct (max (ー 1.0 (/ (‑ aa3 bb4) (+ aa5 bb6))) 0.0))))))) (t nll))))))
(t n i 1 ) ) ) (rds b:irame)
;****
; *ホ************前ドホ*****キ*"'*キ*****"''''*'''ホ***'"ホ*ホ牛***'"測隊ホ****取***ホ**中市**ホ*ホホ"'*ホ**牟キ徐*
*本*'"ホ"'''''''**中** 92.11.11
******ョド****泳**ホ*ホ*ホホ**ホホ*ホ*刻ドホ
NDI M. KDB
マ ス タ ー ・ フ レ ーム mul1sp86 vcrsion
Flle name Fealure 傘"ド********申ホホ
:****
; F i ) e n ame : T 0 0 L. L S P
; Fealure : リ ス プ ・ ユ ー テ イ リ テ イ
;ホ*******ホ***ホ**ホ******"'**訓ド*ホ*中***命*命中刻ド*ホ命ホ**キ*****傘本****キ*牟******牢**本**傘牟*宇***
92.11.14
"'''''''*牟キホ*訓ド******ホホ*調~*ホ*ホ****司ド*
mu)lsp86 verslon
; ス ト リ ー ム の 処 理
(se lqホmaslerframes* ni 1) Csetq *frames* nil) (defun combine̲slreams (sl s2) (append 51 52))
Cslore frames '(
(weld̲condilion ; 溶 接 条 件 の 入 力 と 推 輸 を 制 御 す る プ レ ーム (ako (value masler))
(begin (value 9ubclass)) (subclasses (va)ue get̲w̲dala gel̲ut̲dala weld rulesl weld̲rules2))) Cdcfun add to stream (e s) (cons e s))
(defun first̲of̲slream (s) (car 5)) Cdefun resl of slream (s) (cdr s)) (dcfun cmpty̲slream̲p (s) (null s))
; 超 音 波 探 塩 試 験 の 結 果 の 入 力 と 推 論 を 制 御 す る プ レ ー ム (value masler))
(va)ue subclass)) (value choice̲groove
u t ru) es ) ) ) (ul lesl
(ako {begin {subclasses
ムレ
ブるす
御1
角 深 い 先 先
hu
関 関 子 さ 例 裏 表 触 長
E
探 示
t
法 状 角 深 旨 幽 寸 形 先 先 面
f性
の 手 関 関 傷 ) 特
fけ
附 継 表 表 探 甥
1 )
: り
PE 一 位 級
リ一
S )料 つ 角 深 数
U
コ 陥 等
日
n k U 材 は 先 先 披 げ エ 欠 の 河ι・印e‑mm
裏 関 関 周 程
E
事
﹀ 日
ty)
‑l法
3 (傷 陥 ) :
級灯
H M
凶 り 同
c一方 金 隔 角 川 さ 探 欠 ハ ク 等以MUWLmu制接当厚間折E
高側面
I附のmmm一山間引日溶裏板R屈
Y E両裏
Z欠陥
e e e e e 欠 u 凶M川u
. ︐
a a a a a v v v v v
w a
e
m a
n H
n一
o t
a a n H
・lu
a o g s m K e e
‑
‑ a b r
c d
e
(defun read file (file name)
; フ ァ イ ル の 観 み だ し ((rds file namc) (setq lexl nl1)
Cloop {setq lextl (read))
((equal textl ・(rds)) (rds)) (setq texl (cons text textl))) lexl))
(defun make̲emply̲stream () nil)
(defun print̲llst Clisl)
; リ ス ト 中 の リ ス ト を 1行 毎 に 表 示 す る (cond ((null listJ t)
((prlsen (car list))
(print̲llst (cdr lisl)))))
溶 妓 層 開 先 形 状
Csubclasses Cdala name (defun print̲char (message)
; リ ス ト ゅ の リ ス ト を 括 狐 を は ず し て 1t::j4手 に 表 示 す る (cond ((null message) t)
((prlsen (car message))
(prinl̲char (cdr message)))))
振 子 走 査 前 後 走 査
(defun prtsen (message)
: リ ス ト r f 1 の ア ト ム を 括 弧 を は ず し て 義 示 す る (cond ((null mes5age) (terprl) l)
((prinl (car me55age)) (spaces 1)
(prlsen (cdr message)))))
(choice̲groove ; 開 先 形 状 に 対 応 す る デ ー タ 変 換 フ レーム を 選 択 す る Cako (value masler))
(begin (value choice̲g))
cV形 開 先 (value dala̲transform sv)) (X形 問 先 (value dala lransform dv)) ( レ 形 開 先 Cvalue dala̲lransform̲sb)) (K形 開 先 (value dala̲transform̲db)))))
) )
︑ ︐
︑.J︑BJ ) ︐ } e
e g g a ) a s t s s } s e e ) e m
gem
a g r
巴u
a u r s A u
s s a c
esc︑J
't
me(1
( m l 'ASn
11 An Ee n l
・‑cs
t snppr o lMHuvaau&E
︿
︿
s p
r ( ( ( { nr
d
nn u o
'ιpu
e {
AU (
︑ .
e ︐
gb
a c u
C
M
e m (
︑ ・
Jne
o g
.︐ ・
a u aT
L︐
p a
qu
ad
ee
u m )
nwB
︑ ︐
︐ 一r﹀
・lnh‑ ta‑
nvat'A r一 c
・
n n
n・l'l
u r r f p p
C ( (
d (
(rds b:ndi̲g.kdb)
(defun print̲y̲n̲quesllon (message)
(prinl̲char (llst (append (car message) ・(?) (prinl ・ーー)) )
, ((yes!no)))))
(OEFUN Y‑OR‑N‑P‑2 (MSG CHAR READ‑CH^R RDS WRS ) ( ((NUしL MSG))
(FRESH‑L1 NE)
(WRITE‑STRING (PACK* MSG )) ) (CLEAR‑INPUT)
(LOOP
(SETQ CHAR (CH八R‑UPCASE (READ‑CHAR))) ((EQ CHAR 'Y) (WRITE‑LINE CHAR) T) ((EQ CHAR 'N) (WRITE‑LINE CHAR) NIL) (WRITE‑BYTE 7) ) )
(rds b:rule】
L‑
ス川 ノ
ト 川口川す ト ト
一部
スススを す リリリ訳 す す 週 表 示 示 の け を を を 目 的 番 目 目 項 名 順 項 項 関 川 の の カ カ 質 先 タ タ 入 入 く 川
カ一一ののづ
ω
出 デ デ タ タ 基 以
υのるる一一にd一 位 タ す す デ デ 個 以
t 一 一カカ絹値カ
t ‑
μJ
ア入入言数人
m u
eeeeeeee uuuuuuuu aaaaaaaa vvvvvvvv
ss
t
一 一
ssaate yittss
fl aa
‑‑ s t i
‑‑
dd la
nltrnv‑l
iune
‑
‑g
c
gsedttdb ee‑dreeuu
briogg
・J S
*****市****ヨド判院本
; '"ホ キ *
;村 *材 料 材 料 材 料 材 料 仲 村 材 料 材 料 帥 料 . . 材 料 材 料 材 料 材 料 材 料 材 料 * 材 料 材 料 材 料 材 料
92.11.14
制ドキ**.'1<.訓~;ド**キ傘訓ドホ訓ド**羽ド*ホ*ホ訓跡調ド*>t<**
mullsp86 vcrslon
Fi 1 e name : N D 1 G. K D B
Feature : 溶 接 条 件 お よ び 超 音 波 探 慣 に 関 す る データ の 理 得
(gel̲ul̲dala (ako (resulll (resull2 (Idenl!fy (order llsl (store̲frames
P ス
け ソ
リ リ リ す
トトト一部
ス ス ス を リ リ リ 択 す す す 週 表 示 示 の
日ををや﹄目
前 番 目 目 項 名 順 項 項 問 の の カ カ 質 タ タ 入 入
︿
﹀
J
一一ののづ川
一
Jア デ タ タ 基 M
1
日 } る る 一 一 に つ 肝 心 す す デ デ 価
w 一
ト
M t‑ カ 力 開 値 カ 仁 川 M R N 入 入 言 数 入 肝 Fieeeeeeeee てuuuuuuuuuの UMUUMMMMM
ZTVVvvvvvvv
e創 ︐p︐︑ ︐ . ︑ ︐
︐ ︑ ︐
E︑ ︐ .
︑ ︐ ︐
︑ ︐
a︑︐a
︑
︐
a︑
宿泊
t t タS同
一t
一 一
S
Jプy・日凶凶
M m fl aa
‑‑ s t i
‑‑
dd la
nltrnv一l
a t u n e
‑‑ gc
togsedttdb akeEdreeuu dabrioggjs
E g
銀 子 走 査
指示長 さ ))
(value ( 表 面 欠 陥 ( あ る face̲flaw))))
(value屈 折 角 周 波 数 保 傷 面 探 触 子 Y B路 程
E高 さ (H線 基 燈 ) 指 示 長 さ 前 後 走 査 )
(j udg̲l i s l (result2 data
m m ︑ ︐ r
J︽︑
︑. ︐
︐
︑.
︑ .•
‑ b .
︑︑J・LV
川さ い川 さ
﹀f
‑m
f‑
zfmf)
卜
︿ ) 州 く く
﹀ 川
︿ て い て
m
い い し さ し
︿ さ さ 力 だ カ い だ だ 入 く 入 さ く く を て で だ て て ) し 差 く し し
Y
カ の て 力 力 ( 入 ら し 入 入 曜 を か カ を を 距 ) 線 入 角 敷 郡 W Hを 折 誼 接 ( を さ 鳳 周 諮 寝 さ 授
のの・路高一郎
子 渡 子 ム 一 指 触 音 触 一 コ 附 探 超 探 ピ エ 欠
eeEeee uuuuuu aaaaaa vvvvvv
泊中
基
線H
rt
#C
角 数 程 さ 長 街 波 路 高 示 周 周
YBE
指
; i容 妓 条 例:に 関 す る デ ー タ 種 得 の プ レ ー ム (vaJue gel̲dala))
(value *lnput̲wl宇))
(vnlueホinput̲w2*))
(value溶 援 に 掬 す る デ ー タ を 質 問 文 に し た が っ て 入 力 し て く だ さ い )) (value溶 接 方 法 材 料 触 手 形 状 開 先 形 状 ))
(valuc溶 接 方 法 材 料 純 手 形 状 問 先 形 状 真 当 金 溶 接 層 裏 は つ り ))
(gel̲vdata̲llsl (value板 厚 R間 隔 開 先 角 表 関 先 角 関 先 深 表 問 先 深 (gel̲w̲data
(ako (resul II (resul t2
<ldenlify (order̲llst (gel̲ndata̲llst
裏 問 先 角
II開 先 課 )) groove̲s) groovc̲d) groove̲s) groove̲d) ) alcnal)) ))
︑
J・b・ い き い だ な が 九 く し く て ) り て し い き し 訳 さ つ 択 週 だ は 漕 ら く か ら か て る か 下 し あ 下 以 択 で﹀ ) } ) 以 を 週 ザ け か る い を 下 ら ギ る す あ な
﹀ ぎ 低 か ) ザ が で で し い 畏
一
下 ) い ギ 上 か
﹀ 急 り さ 示 コ 以 川 さ か ち ゃ る は き ) だ 指 エ を い だ
﹀ る 立 回 あ く つ } い く 陥 る 差 な く い が で り で し は か さ て ) 欠 け の
﹀ ) い て な 上 型 よ か も か ) す だ し 川 ン ) お き い い て し し ち 路
4
や か う か ま く 訳 上 ウ 下 に ) 高 さ き し 択 ) り ) 立 ム
AV
糧事
Cど
す り て 遭 の ダ 以 ) 下
一小 大 定 遣 い き る で 一 一 り 領 か ま あ し ら ) 材
B m )
度 以
)
コ に に ) 翻 ら な つ あ 寝 ピ
2
よ じ か り に 択 か 上 い
d m
け5 B 川 エ か か る は か で は で 路 な A 同4 や ) あ こ 選 下 の な
6 0
る1
d る の ら ら あ た 下 ザ か ザ ム ろ は や ぽ 績 け は ど ら 以 材 い る
)2
え 角
5
え き 明 明 で ま 以 ギ う ギ 一 い 線 二 は り い 陥 は 川 か を た て け 潤 上 越 子
) 1越 と り り 後 い を ザ ど ザ ピ ろ
2幽 と よ な 欠 置 } 日 下 置 し し お 末 以 を 銀 湖 上 を た よ よ 前 な 形 ギ か ギ な い 性 A 4 4い に 位 る い 以 ) 位 錐 胞 に
mmm(
来 以
Bし
BBB
き 波 に ザ に ろ に 特 に ゆ ゆ で 面 } 陥 あ な を ) 川 の を を 査
mmm査
BBd
傷
d d dで の か ギ か い か 幅 か 一 一 し 表 ) 日 欠 で で 面 面 面 子 先 先
000走走
d d 5銀000
定 一 ら ザ ら ろ ら 極 ら
2
定2
都 る い の 焔 端 傷 表 裏 触 関 開 設
l12
子881
側
111
副 コ 明 ギ 明 い 明 隆 明 A A翻 接 あ な 面 止 止
傑
1 2探 1 2前 1 2 3揮 1 2 3両 i 2 3 4ェ
1 2 3 4 5距 1 2 3 4溶 1 2表
1 2 e e e e e e e e e u u u u u u u u u a a a a a a a a a v v v v v v v v v
(face flaw Cvalue欠 陥 位 置 )) ( 傑 傷 面
; 超 音 誼 銀 偏 に 関 す る デ ータ 獲 得 の プ レーム (value gel̲data2))
(valuc傘lnpul̲utlホ))
(value 'l<lnpul̲ut2市))
(valuc超 音 波 探 悔 の データ を 質 問 文 に し た が っ て 入 力 し て く だ さ い (value屈 折 角 周 披 敷
探 傷 面 卸 触 子 Y B路 穏
E高 さ (H線 基 鎗 ) 指 示 長 さ 前 後 走 資
南 側 保 留 エ コ ー 特 性 幽 線 表 面 欠 陥 ))
(gel̲vdala̲lisl (value屈 折 角 周 誼 数 Y B 3&程 E高 さ (H線 基 措 ) (gel̲ndata̲llsl (value探 傷 面 探 触 子 前 後 走 査 撮 子 走 査 両 側 探 傷
エ コ ー 特 性 曲 線 表 面 欠 陥 欠 陥 位 置 ))
先 先 先 先 関 関 関 関 形 形 形 形 い 角 深
V XレK
な 先 先 ( ( ( ( ( 隔 閲 開 間 表 表
金Ri
角 深
U
厚 先 先 日 板 間 関
e u a v
(value ( 問 先 形 状 (judg̲lisl
Cresul l2 dala
{ 傑 触 子
( 前 後 走 査
{ 両 側 傑 傷 { 振 子 走 査 表 開 先 角
裏 開 先 深 )) い 接 い い さ 溶 ) さ さ だ ク い だ だ
ノ
¥
一身
C J
︑J︑
て ) ア だ て て し 接 ス く し し 訳 溶 ガ て 訳 ) 択 ) ) 週 ク 椴 し } 週 ) )
﹀ 川 選 手 ) ) け を 一 炭 択 } 日 を 先 先 先 先 を 純 手 手 手 法 ア 動 週 飼 鋼 状 開 聞 開 問 状 せ 締 結 締 方 覆 自 を
S M形形形形形形合ど字{子 接 被 半 料 S S先Vレ
X K手 突 かT+
溶
1 2材 1 2聞 1 2 3 4踏 1 2 3 4
pupup﹄ρ﹄
u u u u a a a a v v v v (溶 後 方 法
( 開 先 形 状
{ 触 手 形 状
(材 料
( エ コ ー
深先隔閲間隔R間角R 先 角 関 先 裏
開
角 ) 厚 先 わ 板川 一針 金i関 当 厚 裏 表 板 深 層 用 先 控 接 関 溶 溶 表
ee uu aa
sd vv ee vv
O G O O F‑
‑r
且
グ白σ白
( 特 性 曲 線
( 表 面 欠 陥
( 欠 陥 位 置 (value <18接 用 は 多 用 で す か )
( 1 多 用 ) ( 2単 用 )) )
(value ( 表 当 金 は あ り ま す か )
clあ る )
(2な い )) )
Calenai (value裏 は つ り )) { 溶 筏 用
( 表 当 金
.
a u
す
念品
し } を 日 つるな り)い は す し
裏
1 2
︿ ( (
e︐︑ v a u 由 ﹄
( 裏 は つ り
3昼 間 先 角 裏 問 先 深 表 問 先 角
表 問 先 深
輪車
角一深
数 噌 先 先 誼 川
開閉周程ハい﹀
隔 角 路 さ )
B D
厚 間 折 高
;板R腐
YEZ
ρ
し 申
t u
na uv a
t e am d a
‑n e g
指 示 長 さ
{板厚
(ako (value get̲data̲unit)) (unit (value mm)))
︑J
︑ ノ ︑
J
}
﹀ } m m
}
﹀
﹀
)mm
﹀﹀m﹀︿︿m﹀
)・・く
m
︑
︑
﹀}︿︿
mbL
U川﹀いいいくささ
m υ
さ さ さ い 下 下
︿ い 下 下 下 ぎ て て い き て て て 下 し し さ 下 し し し て カ カ 下 て カ カ カ し 入 入 て し 入 入 入 カ を を し カ を を を 入 さ さ カ 入 角 角 隔 を 深 深 入 を 先 先 閉 ざ 先 先 を 角 間 関 ト 深 開 聞 厚 先 面 面 一 先 面 面 桓 開 表 裏 ル 開 表 裏
eeeeeeee uuuuuuuu aaaaaaaa vvvvvvvv
角 角 深 深 角 先 先 隔 深 先 先 原 先 関 関 問 先 関 開 板 開 表 裏
R
開 表 裏
{ 問 先 角
Cako (value get̲data̲unlt)) (unll (value • )))
{ 表 開 先 角
; デ ー タ 寝 得 の マ ス タ ー フ レ ー ム (value master)) (get̲data2
{ako