Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Fuzzy logic

Computer Engineering , KMITL


Fuzzy Logic

• “ทุกสิ่งบนโลกแหงความเปนจริง
ไมใชมีเฉพาะสิ่งที่มคี วามแนนอนเทานั้น แตมีหลาย
สิ่งหลายเหตุการณที่เกิดขึ้นอยางไมเทีย่ งและอาจเปน
สิ่งที่คลุมเครือและไมแนนอน”

2
ตัวอยาง

• เซตของอายุคน อาจแบงเปน วัยทารก วัยเด็ก วัยรุน วัยกลางคน และวัยชรา


แต
ละชวงอายุคนไมสามารถระบุไดแนชัดวาวัยทารก กับวัยเด็กแยกจากกันแนชัด
ชวงใด วัยทารกอาจถูกตีความวาเปน อายุระหวาง 0 ถึง 1 ป บางคนอาจตีความ
วาวัยทารกอยูในชวงอายุ 0 ถึง 2 ป เซตของเหตุการณที่ไมแนนอนเชนนี้เรียกวา
“ฟซซีเซต” (Fuzzy Set)

3
แนวคิดพืน้ ฐานของฟซซี่ลอจิก(ตอ)
• ฟซซี่ลอจิกมีลักษณะที่พิเศษกวาตรรกะแบบจริงเท็จ (Boolean logic)
เปนแนวคิดทีม่ ีการตอขยายในสวนของความจริง (partial true) โดยคา
ความจริงจะอยูในชวงระหวางจริง (completely true) กับเท็จ
(completely false) สวนตรรกศาสตรเดิมจะมีคาเปนจริงกับเท็จเทานั้น

4
เซตแบบฉบับ (Crisp Set)

• กําหนดคาความเปนสมาชิกตามแนวคิดเลขฐานสอง
• เซตที่มีคาความเปนสมาชิกเปน 0 หรือ 1 เทานั้น
• ขอบเขตของเซตที่ตัดขาดจากกันแบบทันทีทันใด
ไมมีความตอเนื่อง
0, x ∉ A
µ A ( x) = 
1, x ∈ A

5
เซตแบบฉบับ (ตอ)

6
ฟซซี่เซต (Fuzzy set)
• ถูกนําเสนอในรูปแบบของคาขอบเขตที่คลุมเครือ
• ยอมใหมีคาความเปนสมาชิกของเซตมีไดมากกวา 2 คา
– ความเปนสมาชิกจะมีคาระหวาง 0 – 1 [0,1]
โดย 0 หมายถึง ไมมีความเปนสมาชิกเลย
1 หมายถึง ความเปนสมาชิกโดยสมบูรณ
ระหวาง 0 – 1 หมายถึง ความเปนสมาชิกแคบางสวน
ดังนั้น ความเปนสมาชิกของฟซซี่จะมีความตอเนื่อง

7
Crisp set VS Fuzzy set
U U

Crisp set Fuzzy set

Crisp set Fuzzy set


o ประกอบดวย สวนที่เปนสีขาวกับสีดํา o ประกอบดวย 3 สวน
o คาความเปนสมาชิก 0 หรือ 1 - สวนสีขาว
- สวนสีดํา
- สวนสีเทา
o คาความเปนสมาชิก อยูระหวาง 0 - 18
ฟซซี่เซต (ตอ)
• ฟซซี่เซต A ของเอกภพ U ถูกกําหนดโดยฟงกชั่นความเปนสมาชิก
µ A :U →[0,1]

กําหนดสมาชิกแตละตัว u ของเอกภพ µคืAอ( u ) โดยมีคาอยูในชวง


[0,1]

กราฟแสดงความเปนสมาชิก 9
ฟซซี่เซต (ตอ)
• ตัวดําเนินการหลัก ๆ ของฟซซี่เซต

Complement
µ A ( x) = 1 − µ A ( x)

Intersection
µ A∩ B = µ A ( x) ∧ µ B ( x) = min(µ A ( x), µ B ( x))

Union
µ A∪B = µ A ( x) ∨ µ B ( x) = max(µ A ( x), µ B ( x))
10
ทฤษฎีฟซซี่ที่ใชในการคนคืน
• การหาความสัมพันธระหวาง Index Term
ni , j
ci , j =
ni + n j − ni , j

โดยจากสูตรสามารถอธิบายไดดังนี้
ci , j คือ ความสัมพันธคูเทอมอินเด็กซเทอม i กับ j
ni. j คือ จํานวนเอกสารที่มีทั้ง i และ j เปนอินเด็กซเทอม
ni คือ เอกสารที่มี i เปนอินเด็กเทอม
n j คือ เอกสารที่มี j เปนอินเด็กซเทอม

11
ทฤษฎีฟซซี่ที่ใชในการคนคืน(ตอ)
Query = ‘who is the first president of U.S.A?”

การกระทํา Logic แบบ Complement

µ first ( x) = (1 − µ first ( x))


12
ทฤษฎีฟซซี่ที่ใชในการคนคืน(ตอ)

การกระทํา Logic แบบ Intersection

µ first ∩ president ∩u .s.a ( x) = µ first ( x).µ president ( x).µu .s.a ( x)

13
ทฤษฎีฟซซี่ที่ใชในการคนคืน(ตอ)

การกระทํา Logic แบบ Union

µ first ∪ president ∪u .s.a ( x) = (1 − (1 − µ first ( x)).(1 − µ president ( x)).(1 − µu .s.a ( x)))

14
การคนหาเอกสารโดยใช ทฤษฎีฟซซี่ลอจิก
User query

Text operation

Fuzzy query

Ranked list of potentially


relevant items

15
ตัวอยางการคนขอมูล

ผูใชปอน Query = “I would like cat and have dog”

d1 = {dog , cat , bird , zebra, zoo}


d 2 = {cat , kitty, fish}
d 3 = {dog , puppy, house, robber}
d 4 = {ant , sugar }

16
ตัวอยางการคนขอมูล(ตอ)
Query : “I would like cat and have dog”

I would like cat and have dog

I would like cat and have dog

Index term : cat dog

17
ตัวอยางการคนขอมูล(ตอ)
หาความสัมพันธของ index term แตละตัวที่มีตอ index term “cat” , ”dog”
โดยหาจากความสัมพันธ

ni , j
ci , j =
ni + n j − ni , j
โดยจากสูตรสามารถอธิบายไดดังนี้
ci , j คือ ความสัมพันธคเู ทอมอินเด็กซเทอม i กับ j
ni. j คือ จํานวนเอกสารที่มีทั้ง i และ j เปนอินเด็กซเทอม
ni คือ เอกสารที่มี i เปนอินเด็กเทอม
nj คือ เอกสารที่มี j เปนอินเด็กซเทอม
18
ตัวอยางการคนขอมูล(ตอ)
หาความสัมพันธระหวาง cat กับ dog, bird, zebra, zoo, kitty, fish

ncat ,dog 1 1
ccat ,dog = = = ≈ 0.33
ncat + ndog − ncat ,dog 2 + 2 −1 3

ncat ,bird 1 1
ccat ,bird = = = = 0.5
ncat + nbird − ncat ,bird 2 + 1 − 1 2

ncat , zebra 1 1
ccat , zebra = = = = 0.5
ncat + n zebra − ncat , zebra 2 + 1 − 1 2

19
ตัวอยางการคนขอมูล(ตอ)

ncat , zoo 1 1
ccat , zoo = = = = 0.5
ncat + n zoo − ncat , zoo 2 + 1 − 1 2

ncat ,kitty 1 1
ccat ,kitty = = = = 0.5
ncat + nkitty − ncat ,kitty 2 +1−1 2

ncat , fish 1 1
ccat , fish = = = = 0.5
ncat + n fish − ncat , fish 2 +1−1 2

20
ตัวอยางการคนขอมูล(ตอ)
หาความสัมพันธระหวาง dog กับ cat, bird, zebra, zoo, puppy, house, robber

ndog ,cat 1 1
cdog ,cat = = = ≈ 0.33
ndog + ncat − ndog ,cat 2 + 2 −1 3

ndog ,bird 1 1
cdog ,bird = = = = 0.5
ndog + nbird − ndog ,bird 2 +1−1 2

ndog , zebra 1 1
cdog , zebra = = = = 0.5
ndog + n zebra − ndog , zebra 2 +1−1 2

21
ตัวอยางการคนขอมูล(ตอ)
ndog , zoo 1 1
cdog , zoo = = = = 0.5
ndog + n zoo − ndog , zoo 2 +1−1 2

ndog , puppy 1 1
cdog , puppy = = = = 0.5
ndog + n puppy − ndog , puppy 2 +1−1 2
ndog ,house 1 1
cdog ,house = = = = 0.5
ndog + nhouse − ndog ,house 2 +1−1 2

ndog ,robber 1 1
cdog ,robber = = = = 0.5
ndog + nrobber − ndog ,robber 2 +1−1 2

22
ตัวอยางการคนขอมูล(ตอ)
• ตารางความสัมพันธของ Cat กับ Index term อื่น ๆ
Index1 Index2 Relate
Cat Dog 0.33
Cat Bird 0.5
Cat Zebra 0.5
Cat Zoo 0.5
Cat Kitty 0.5
Cat Fish 0.5
23
ตัวอยางการคนขอมูล(ตอ)
• ตารางความสัมพันธของ dog กับ Index term อื่น ๆ

Index1 Index2 Relate


Dog Cat 0.33
Dog Bird 0.5
Dog Zebra 0.5
Dog Zoo 0.5
Dog Puppy 0.5
Dog House 0.5
Dog Robber 0.5
24
ตัวอยางการคนขอมูล(ตอ)

• นําสิ่งที่ไดไปคํานวณโดยผานการทํางานซึ่งใชฟซซี่ลอจิก เพื่อหาระดับความ
เปนสมาชิกของ index term กับแตละเอกสารในระบบ ไดผลลัพธดังนี้

cat = {d1 / 1, d 2 / 1, d 3 / 0.33, d 4 / 0}


dog = {d1 / 1, d 2 / 0.33, d 3 / 1, d 4 / 0}

d1 = {dog , cat , bird , zebra, zoo}


d 2 = {cat , kitty , fish}
d 3 = {dog , puppy, house, robber}
d 4 = {ant , sugar }
25
ตัวอยางการคนขอมูล(ตอ)
• ดําเนินการทางฟซซีเ่ ซตตามที่ผูใชงานตองการ
• ยูเนียน จาก µ dog ∪cat ( x) = (1 − (1 − µ dog ( x)) ⋅ (1 − µ cat ( x))
• ตัวอยางการคํานวณ

µ dog ∪cat (d1 ) = (1 − (1 − µ dog (d1 )) ⋅ (1 − µcat (d1 )) = 1 − (1 − 1)(1 − 1) = 1


µ dog ∪cat (d 4 ) = (1 − (1 − µ dog (d 4 )) ⋅ (1 − µ cat (d 4 )) = 1 − (1 − 0)(1 − 0) = 0

• เรียงลําดับเอกสาร µ dog ∪ cat = {d1 / 1, d 2 / 1, d 3 / 1, d 4 / 0}

d1 , d 2 , d 3 , d 4
26
ตัวอยางการคนขอมูล(ตอ)
อินเตอรเซก จาก µ dog ∩cat ( x) = µ dog ( x) ⋅ µ cat ( x)
ตัวอยางการคํานวณ

µ dog ∩cat (d 3 ) = µ dog (d 3 ) ⋅ µcat (d 3 ) = 1⋅ 0.33 = 0.33


µ dog ∩cat (d 4 ) = µ dog (d 4 ) ⋅ µcat (d 4 ) = 0 ⋅ 0 = 0
µ dog ∩cat = {d1 / 1, d 2 / 0.33, d 3 / 0.33, d 4 / 0}
เรียงลําดับเอกสาร

d1 , d 2 , d 3 , d 4
27
ตัวอยางการคนขอมูล(ตอ)
คอมพลีเมนต หาไดจาก

µ dog ∩ cat ( x) = (1 − µ dog ( x)) ⋅ (1 − µ cat ( x))


ตัวอยางการคํานวณ

µ dog ∩ cat (d 3 ) = (1 − µ dog (d 3 )) ⋅ (1 − µcat (d 3 )) = (1 − 1) ⋅ (1 − 0.33) = 0


µ dog ∩ cat (d 4 ) = (1 − µ dog (d 4 )) ⋅ (1 − µcat (d 4 )) = (1 − 0) ⋅ (1 − 0) = 1
µ dog ∩ cat = {d1 / 0, d 2 / 0, d 3 / 0, d 4 / 1}
เรียงลําดับเอกสาร

d 4 , d1 , d 2 , d 3
28
ตัวอยางการคนขอมูล(ตอ)
• สงคําตอบตามที่ผูใชงานตองการจากการ query
d1 , d 2 , d 3

• ถาผูใชงานตองการเอกสารที่มีความเกี่ยวของกับ dog หรือ cat


(ยูเนียน) จะมีเอกสารที่ถูกคนคืนจากระบบจํานวน 3 เอกสาร คือ
d1 , d 2 , d 3

• ถาผูใชงานตองการเอกสารที่มีความเกี่ยวของกับ dog และ cat


(อินเตอรเซก) จะมีเอกสารที่ถูกคนคืนจากระบบจํานวน 3 เอกสาร คือ
d4

• ถาผูใชงานตองการเอกสารที่ไมมีความเกี่ยวของกับ dog และ cat


(คอมพลีเมนต) จะมีเอกสาร เพียงเอกสารเดียวที่ถูกแสดงออกมา
29

You might also like