Fuzzy Logic
๐ซ Fuzzy Logic
๐ซง _
@ U ๊ธฐ๋ง๊ณ ์ฌ ์ถ์ : Fuzzy Loggic์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๊ณ , ์ ํธ๋ฆฌํ์ง ์ค๋ช ํ์์ค.
์ค์ธ๊ณ ์์คํ
(Real-World Systems)๊ณผ ์ํํธ์จ์ด ํํ(Software Representations) ์ฌ์ด์ ๋ถ์ผ์น๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋กํธํผ ์๋ฐ(Lofti Zadeh)๊ฐ ์ ์ํ ๋
ผ๋ฆฌ ์์คํ
(Logic Sytstem)
์ด๋ค.
์ํํธ์จ์ด์์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ถ์ธ ๋
ผ๋ฆฌ ๊ฐ์ Two-Valued System
์์ ๊ณ ์ ํ ์์๋ฅผ ํํํฉ๋๋ค. ์ค์ธ๊ณ๋ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์๋๋ฐ, ๋ง์ ์กฐ๊ฑด๋ค์ด ๋ถ๋ถ์ ์ผ๋ก ์ฐธ์ด๊ฑฐ๋ ๋ถ๋ถ์ ์ผ๋ก ๊ฑฐ์ง
์ผ ์ ์์ต๋๋ค. ํผ์ง ๋
ผ๋ฆฌ๋ ์ํํธ์จ์ด๊ฐ ์ง๋ฆฌ์ ์์ญ์์ ์๋ํ ์ ์๋๋ก ํ๊ธฐ ์ํด ๋์
๋์์ต๋๋ค. ์ง๋ฆฌ์ ์ ๋(Degrees of Truth)
๋ ์ง๋ฆฌ๋ ๊ฑฐ์ง์ ๋ํ๋ด๋ ์ด์ง ์์คํ
๋์ 0.0๊ณผ 1.0์ ํฌํจํ๋
๋ฌดํ ๊ณต๊ฐ์์ ์๋ํฉ๋๋ค.
1963๋ ๋กํธํผ ์๋ฐ(Lofti Zadeh) ๋ฐ์ฌ๊ฐ ์ ์ํ ๋ฐ๋ฅผ ์ถฉ๋ถํ ์ดํดํ๊ธฐ ์ํด ํผ์ง ๋ ผ๋ฆฌ์ ๊ทธ ํํ์ ๋ํ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ฌ๋ฌ ๊ฐ์ง ์๋ฅผ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ซง __
@ ์๋ ๊ณผํ - ํผ์ง์ด๋ก
@ ์ ์, ์ด์ฐ์ํ Boolead Logic - ์งํฉ
์งํฉ์ ๋ชจ์, ๋จ ์ํ๋๊ฐ ์ํ์ง ์๋๊ฐ๊ฐ ๋ช
ํํ
@ Rules Based System
if, ๋ช
์ ๊ฐ์ด ๋ช
ํํ ๋
ผ๋ฆฌ
์ด์ ๋ฐ๋๋๋ ์ ๋งค๋ชจํธํ ์ ๋ณด๋ค
์ ๋งค๋ชจํธํ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ์
์ปดํจํฐ๋ ์ ๋งค๋ชจํธํ ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋๊น
์๋ฌด๊ฑฐ๋/์ ๋นํจ/์ ๋/์์๋ฑ์ ์ํ์ ์ผ๋ก ์์๋ฑํ๊ฒ ๋ถ์ํ๋ ์ถ๋ก ๋ฐฉ์
๊ธฐ์กด ์งํฉ ๊ฐ๋ ์ ์ด๋ค ๊ธฐ์ค์ ๋๊ณ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ฉด ์ฐธ, ์๋๋ฉด ๊ฑฐ์ง, 0 ๋๋ 1
ํผ์ง ์งํฉ์
์ด๋ค ์กฐ๊ฑด์ ๋ํด ์ด๋ ์ ๋๋ค, 0 ~ 1 ์ ์ค์ ์์ญ์ผ๋ก
์ด๋ฅผ ์์ํจ์๋ก ๊ณ์ฐ
๋๊ทธ๋ผ๋ฏธ์ ์งํฉ,
โ์ด๋ค ๋ชจ์์ด ๋๊ทธ๋ผ๋ฏธ๋ค, ์๋๋คโ ๊ฐ ์๋๋ผ
โ์ด๋ค ๋ชจ์์ 0.7 ์ ๋ ๋๊ทธ๋ผ๋ฏธ๋ค, 0.2 ์ ๋ ๋๊ทธ๋ผ๋ฏธ๋คโ
ํค ์์ผ๋ก ํ์์ ์ ๋ ฌํ์ ๋,
โ์ด๋ค ๊ฒฝ๊ณ์ ์ ๊ธฐ์ค์ผ๋ก ์์ ํค ์์ญ์ ํฌํจ ๋๋๊ฐ ์๋๋๊ฐโ ๊ฐ ์๋๋ผ ์์ ํจ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ค ์๋๋ค (์๋ฅผ ๋ค์ด 10๋ช
์ ์ฌ์ฌ์์์๊ฒ ์ด ์ฌ๋์ด ์์๊ฐ ์์ง ์์ ๊ฐ๋ฅผ ๋ฌผ์ด๋ดค์ ๋, 7๋ช
์ ์๋ค๊ณ ํ๊ณ , 3๋ช
์ ์์ง ์๋ค๊ณ ๋งํ๋ฉด, 0.7)
,
์ค์ธ๊ณ ๋ฌธ์ ์ ์ปดํจํฐ ๊ตฌํ์ ๋ค๋ฅธ ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด
์ด๋ป๊ฒ ํ๋ฉด ์ค์ธ๊ณ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ปดํจํฐ์์ ์ฒ๋ฆฌํ ์ ์์๊น
์ปดํจํฐ๋ ์ฐธ๊ณผ ๊ฑฐ์ง, Binary๋ก ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌ, - Software Representations, Two-Valued System
๋ฐ๋ฉด ํ์ค ์ธ๊ณ๋ ์ฐธ๊ณผ ๊ฑฐ์ง๋ง์ผ๋ก๋ ๋๋์ง ์์ - Real-Wrold Systeams
๊ทธ ์ ๋๋ฅผ Degrees of truth, 0 ~ 1 inclusive
๋ก ํํ
๐ซ ์์ - Fuzzy QoS
๐ซง Fuzzy QoS_
ํผ์ง ๋
ผ๋ฆฌ์ ํ์ ์ธ์ดํ์ ์ด์ฉํ์ฌ ์์คํ
์ ๋ถ์ํ๊ธฐ ์์ํ ๋ ๋ํ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ํน์ ๋งํฌ๋ฅผ ํตํ ํจํท์ ์ถ๋ ฅ์ ๊ด๋ฆฌํ๋ QoS(Quality of Service)
์๊ณ ๋ฆฌ๋ฌ์ ๊ตฌ์ถํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. QoS ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉ์ ์ ์ฃผ์ด์ง ์์ฉ ํ๋ก๊ทธ๋จ์ ๋งํฌ์ ๋์ญํญ์ ์ผ์ ํ๊ฒ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋งํฌ์ ๋์ญํญ์ ๋๋ฌด ๋ง์ด ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด ์ฐ๋ฆฌ๋ ์ฃผ์ด์ง ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํด ํจํท์ด ๋ฐฉ์ถ(Emit)๋๋ ์๋๋ฅผ ์ค์ฌ์ผ ํฉ๋๋ค. ์ ์ด์ ๊ด์ ์์ ๋ณด๋ฉด ์ฐ๋ฆฌ๋ ์ธ ๊ฐ์ง ์์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ์ ํจํท ๋๋ฌ ์๋(Packet Arrival Rate)
์ด๊ณ , ๋ ๋ฒ์งธ๋ ์ธก์ ๋ ๋งํฌ์ ํ์ฉ๋(Utilization of the Link)
์ด๋ฉฐ, ์ธ ๋ฒ์งธ๋ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋งํฌ ์ฌ์ด์ ํจํท ํ๋ฆ์ ์ ์ดํ๋ ๊ฒ์ดํธ
์
๋๋ค
@ ์์ - QoS with Rate Feedback
๊ฒ์ดํธ์ ๋ชฉ์
์ ํน์ ์ ํ๋ฆฌ์ผ์ด์
์ ํ ๋น๋ ๋์ญํญ์ ์ฃผ์ด์ง ์์ ์์ ๋ช ๊ฐ์ ํจํท์ด ํต๊ณผํ ์ ์๋์ง๋ฅผ ์ ์ดํ๋ ๊ฒ์
๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ์ธ์ดํ์ ์ธ ์ธก๋ฉด์์ ์๊ฐํฉ๋๋ค.
์:
๋งํฌ์ ์์ฉ ํ๋ก๊ทธ๋จ ํ์ฉ๋๊ฐ ๋์ผ๋ฉด ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒ์ดํธ๋ฅผ ํตํ ํจํท ํ๋ฆ ์๋๋ฅผ ์ค์
๋๋ค.
๋ฐ๋๋ก,
๋งํฌ์ ์์ฉ ํ๋ก๊ทธ๋จ ํ์ฉ๋๊ฐ ๋ฎ์ผ๋ฉด ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒ์ดํธ๋ฅผ ํตํ ํจํท ํ๋ฆ ์๋๋ฅผ ๋์
๋๋ค.
์ด๋ฌํ ๊ท์น์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด โ์ ๋นํโ ๋์ ์๊ธ๊ณผ ๋ฎ์ ์๊ธ ์ฌ์ด์ ๋ฐ๋์กด์ด ์กด์ฌํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด์ ๋ฌธ์ (Question)๋ ์ง์์จ์ ๋ํด โ๋์โ๊ณผ โ๋ฎ์โ์ด ๋ฌด์์ด๊ณ โ์ณ์์ ๋ํดโ๋ ๋ฌด์์ธ๊ฐ ํ๋ ๊ฒ์
๋๋ค. ํผ์ง ๋
ผ๋ฆฌ๋ ์์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
@ ์์ - Membership Function for Packet Rate
๐ซง Fuzzy QoS__
๋ฐฅ์ฅ
๋ฐฅ์ด ์ฐจ๋ฉด ๋ฐ์๋ผ, ๋จ๊ฑฐ์ฐ๋ฉด ์ํ๋ผ
QoS์ Fuzzy๋ฅผ ์ด์ฉํ๋ค๋ ๊ฒ์
๋งํฌ ์ฌ์ฉ๋์ด ๋ง์ผ๋ฉด ๋น์จ์ ์ค์ด๊ณ
๋งํฌ ์ฌ์ฉ๋์ด ์ ์ผ๋ฉด ๋น์จ์ ๋๋ ค๋ผ
๊ฐ์ ๋ฌธ์ ์์ ์์์ ์กฐ์ ํ๋
๋ง์ผ๋ฉด, ์ ์ผ๋ฉด, ์ค์ด๊ณ , ๋๋ฆฌ๊ณ ์ ์, ๊ธฐ์ค, ์ ๋ - Membership Functions ์์ํจ์๋ฅผ ์ด์ฉํ์ฌ
๐ซ Membership Function - ์์ ํจ์
์์ ํจ์๋ ์์ ํจ์์์ ์ฃผ์ด์ง ์ค์ธ๊ณ ๊ฐ์น์ ์์ ์ ๋(Degree of Membership, Degree of Truth)
๋ฅผ ์ ์ํฉ๋๋ค. QoS ์์์ ๋งํฌ ํ์ฉ ์งํฉ์ ๋ํ ๋ฉค๋ฒ์ญ ํจ์๊ฐ ์์ต๋๋ค.
@ ์์ - QoS with Rate Feedback
m_low(x) =
{
0, if rate(x) >= 100
(100-rate(x))/20 if rate(x) > 80 AND rate(x) < 100
1, if rate(x) <= 80
}
@ ์์ - Membership Function for Packet Rate
m_low(x) =
{
0, if rate(x) <= 100
(100-rate(x))/20 if rate(x) > 100 AND rate(x) < 120
1, if rate(x) >= 120
}
๐ซ Fuzzy Control
์์ ๊ธฐ๋ฅ์ ์ค๋ช ํ๊ธฐ ์ํด ํ 9.1์ ๋ ๊ธฐ๋ฅ ๋ด ์์ ์ ๋์ ํจ๊ป ์ํ ๋ฐ์ดํฐ ํจํท ์๋๋ฅผ ์๋ณํฉ๋๋ค.
Packet Rate | m_low(x) | m_high(x) |
10 | 1.0 | 0.0 |
85 | 0.75 | 0.0 |
90 | 0.5 | 0.0 |
95 | 0.25 | 0.0 |
100 | 0.0 | 0.0 |
105 | 0.0 | 0.25 |
110 | 0.0 | 0.5 |
115 | 0.0 | 0.75 |
180 | 0.0 | 1.0 |
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด ๋ ๊ฐ์ง ์์ ํจ์๋ฅผ ์ฃผ์ด์ง ์๋์ ํจํท ํ๋ฆ์ ๋ํ ์์ ์ ๋๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ผ๊ด๋ ์๋น์ค ํ์ง์ ์ ์งํ๊ธฐ ์ํด ํจํท ํ๋ฆ์ ์กฐ์ ํ๋ ์ ์ด ์ ๋ต์ ๊ด์ ์์ ์ฌ์ฉ๋ ์ ์์๊น์? ๋งค์ฐ ๊ฐ๋จํ ๋ฉ์ปค๋์ฆ์ ์์ ์ ๋๋ฅผ ํฌํจํ๋ ๊ฒ์ ๋๋ค ๊ฒ์ดํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ณ์์ ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒ์ดํ ๊ธฐ๋ฅ์ ์ฃผ์ด์ง ๊ฐ๊ฒฉ(์๋ฅผ ๋ค์ด 1์ด) ๋์ ์ผ๋ง๋ ๋ง์ ํจํท์ด ํต๊ณผํ ์ ์๋์ง๋ฅผ ์ ์ํฉ๋๋ค. ๋งค์ด, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ผ๊ด๋ ํ์ฉ๋๋ฅผ ์ ์งํ๊ธฐ ์ํด ํต๊ณผ๊ฐ ํ์ฉ๋๋ ํจํท์ ์๋ฅผ ์กฐ์ ํฉ๋๋ค. ํ์ฉ๋๊ฐ ๋๋ฌด ๋์ผ๋ฉด ํจํท์ ์๋ฅผ ์ค์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด, ํ์ฉ๋๊ฐ ๋๋ฌด ๋ฎ์ผ๋ฉด ๊ทธ์ ๋ฐ๋ผ ์ฆ๊ฐ์ํต๋๋ค. ๋ฌธ์ ๋, ์ผ๋ง๋ ์ฆ๊ฐ์ํฌ ๊ฒ์ธ๊ฐ ํ๋ ๊ฒ์ ๋๋ค?
๊ฐ๋จํ ๋ฉ์ปค๋์ฆ์ ํจํท ๋ธํ์ ์ ์ฉ๋๋ ๊ณ์๋ก ์ฐ๋ฆฌ์ ๋ฉค๋ฒ์ญ ์ ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
rate = rate + (m_low(rate) x pdelta) - (m_high(rate) x pdelta)
์ด๋งค๊ฐ๋ณ์ pDelta ์กฐ์ /Tuningํ ๊ฐ
๋ณ์ โrateโ๋ ์ฃผ์ด์ง ์๊ฐ(1์ด) ๋์ ํต๊ณผํ ์ ์๋ ํจํท์ ํ์ฌ ๊ฐ์์ ๋๋ค. ์์ โpdeltaโ๋ ๋ ์ดํธ์ ์ถ๊ฐํ๊ฑฐ๋ ๋บ ์ ์๋ ์ต๋ ํจํท ์๋ฅผ ์ ์ํ๋ ๋ณ์์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฉค๋ฒ์ฝ ํจ์๋ ๋ ์ดํธ ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์์ ๊ณ์๋ก ์ฌ์ฉ๋๋ ๋ฉค๋ฒ์ฝ์ ์ ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
10์ โpdeltaโ๋ฅผ ์ฌ์ฉํ ๋ช ๊ฐ์ง ์๋ฅผ ๋ณด์. ์ฐ๋ฆฌ์ ๋น์จ์ ์ ์๊ฐ ์๋ ๊ฐ์ ๋ํ๋ด๊ฒ ์ง๋ง, ์ฐ๋ฆฌ๋ ๋์กฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๋ฐ์ฌ๋ฆผ์ ํ ๊ฒ์ ๋๋ค.
Given a rate of 110,
rate = 110 + (0 x 10) - (0.5 x 10) = 105
On the Next Iteration, Given a rate of 110,
rate = 105 + (0 x 10) - (0.25 x 10) = 102.5
์ด ๊ณผ์ ์ ๋ ์ด์์ ์๋ ๋ณ๊ฒฝ์ด ์ํ๋์ง ์๋ 100์ ๋ฐ๋ ๋ฐด๋์ ๋๋ฌํ ๋๊น์ง ๊ณ์๋ฉ๋๋ค.
Given a rate of 80,
rate = 80 + (1 x 10) - (0 x 10) = 90
๋ฐ๋ผ์ ๊ฐ์ ์ ๋๋ฅผ ๋น์จ ๋ณํ์ ๊ณ์๋ก ์ฌ์ฉํ๋ฉด ๋งค์ฐ ๊ฐ๋จํ ์ ์ด ๋ฉ์ปค๋์ฆ์ด ์์ฑ๋ฉ๋๋ค.
๐ซ A Visual Fuzzy Control Example
์ด์ ์ถ์ ์๋๋ฆฌ์ค๋ฅผ ์ด์ฉํ ํผ์ง ์ ์ด์ ๋ ๋ค๋ฅธ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋จ์ํ 2์ฐจ์ ์ธ๊ณ์์๋ ํฌ์์ ์ญํ ์ ํ๋ ์์ด์ ํธ๊ฐ ์์ต๋๋ค. ์ธ๊ณ์ ๋ ๋ค๋ฅธ ์์ด์ ํธ๋ ๋จน์๊ฐ ์ญํ ์ ํฉ๋๋ค. ๋ชฉํ๋ ํฌ์์๊ฐ ๋จน์ด๋ฅผ ์ถ์ ํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ์ก์ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฉค๋ฒ์ญ ํจ์ ์ธํธ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์
๋๋ค. ๋ฉค๋ฒ์ญ ํจ์๋ ์ค์ฐจ ๊ฐ๋๋ฅผ ์ ์ด์ ์ฌ์ฉ
ํฉ๋๋ค (์์์ ํ์ฌ ๋ฐฉํฅ๊ณผ ๋จน์ด์ ๋ฐฉํฅ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๋ํ๋
๋๋ค).
๊ทธ๋ฆผ 9.3์ ํฌ์์ ๋ฉค๋ฒ์ฝ ํจ์์ ๋ํ์ ๋๋ค. ์ค๋ฅ๊ฐ ์ผ๋ง๋ ์กด์ฌํ๋์ง, ๋ฐ๋ผ์ ์ผ๋ง๋ ๋ง์ ์์ ์ ์ ์ฉํด์ผ ํ๋์ง๋ฅผ ์๋ณํ๋ 7๊ฐ์ ๋ณ๊ฐ์ ๊ทธ๋ฃน์ด ์ ์๋ฉ๋๋ค.
@ ์์
์ค์ฌ ๊ทธ๋ฃน์ ํฌ์์์ ํ์ฌ ๋ฐฉํฅ์ ๋ณํ๊ฐ ์๋ ์ ์ผํ ๊ทธ๋ฃน์ ๋๋ค. ์ข, ์ฐ๋ ๊ฐ๊ฐ [+1, -1]์ด๊ณ , ๊ทน์ข์ ๊ทน์ฐ๋ [+8, -8]์ด๋ฉฐ, ๋ง์ง๋ง์ผ๋ก ๊ทน์ข์ ๊ทน์ฐ๋ [+15, -15]๋ฅผ ๋ํ๋ ๋๋ค. ํฌ์์์ ์ค์ฐจ๊ฐ์ด ํน์ ๋ฉค๋ฒ์ญ ํจ์์ ํด๋น๋๋ฉด ํด๋น ๋ณด์ ์ ํฌ์์์ ๋ฐฉํฅ์ผ๋ก ์ ์ฉํ๊ณ ๋ค์ ๊ณผ์ ์ ์์ํฉ๋๋ค. ๊ฐ ๋จ๊ณ์์ ํฌ์์๋ ๋ณด์ ํ ๋๋ง๋ค ํ ๋จ์์ฉ ์ด๋ํฉ๋๋ค. ๊ทธ๋ฆผ 9.3์ ๋ฉค๋ฒ์ญ ํจ์๊ฐ ์ฃผ์ด์ง๋ฉด, ํ๋ ์ค์ธ ํฌ์์์ ํ๋กฏ์ ๊ทธ๋ฆผ 9.4์ ๊ฐ์ต๋๋ค.
@ ์์
ํฌ์์๋ ๋จน์ด๊ฐ ์์์ ์์น์์ ์์ํ๋ ์ขํ [100,100]์์ ์์ํฉ๋๋ค(์ฌ๊ธฐ์ ๋๋ต [84,30]). ๋จน์ด๋ ๋จ์ํ ์ฒ์ ์์น์์ 45ยฐ ๋ฐฉํฅ์ผ๋ก ์ด๋ํฉ๋๋ค. ๋ณด์ด๋ ๊ฒ์ฒ๋ผ, ํฌ์์๋ ๋จน์ด๋ฅผ ๊ฐ๋ก์ฑ๊ธฐ ์ํด ๊ฒฝ๋ก๋ฅผ ์ ํํ๊ฒ ๋ฐ๊ฟ๋๋ค(๋จน์ด์ 5๋จ์ ์ด๋ด๋ก ์ต๋๋ค).
๐ซ The Fuzzy Axioms
@ U ๊ธฐ๋ง๊ณ ์ฌ ์ถ์ : ์ฃผ์ด์ง Fuzzy Voltage Membership Funcions
, Fuzzy Temperature Membership Funtions
์ ๋ํ์ฌ, if (m_valtage_high(์ฃผ์ด์ง_Valtage)) OR (not m_temperature_hot(์ฃผ์ด์ง_Temperature)))
์ ๋ํ ์กฐ๊ฑด๋ถ ๊ฐ์ ๊ตฌํ์์ค.
๊ธฐ์กด์ Boolean ๋ ผ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํผ์ง ๋ ผ๋ฆฌ์๋ ๊ธฐ๋ณธ ์ฐ์ฐ์๋ค์ด ์์ต๋๋ค. ์ด๋ค์ ๊ธฐ์กด์ Boolean ์ฐ์ฐ์๋ค์ ๋ฐ๋ฅด์ง๋ง ์๋ํ๋ ๋ฐฉ์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ํผ์ง ๊ณต๋ฆฌ๋ ๊ทธ๋ฆผ 9.5์ ๋์ ์์ต๋๋ค.
Truth (A OR B) | MAX (truth(A), truth(B)) |
Truth (A AND B) | MIN (truth(A), truth(B)) |
Truth (NOT A) | 1 - truth(A) |
์ด ์ฐ์ฐ์๋ค์ ๊ทผ์ฌ ํผ์ง ๊ฐ๋ค์ ๋ํ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ธฐ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ํ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
if (m_warm(board_temperature) AND
m_high(fan_speed)) then โฆ
์ด ์์์ ๋งค์ฐ ํ๋ ๊ฐ๋ฅํ ๋ฟ๋ง ์๋๋ผ ์์คํ ์ํ๋ฅผ ๋ ์ ํ์ ํ๊ณ ๋ ๋์ ์ ์ด๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
๐ซ Hedge Functions
ํผ์ง ์์คํ ์ ์ค์ํ ์์์ด๋ ํค์ง ๋๋ ํผ์ง ๋ฉค๋ฒ์ญ์ ์์์ด์ ๋๋ค. ์ด๋ฌํ ์์์ด๋ ํผ์ง ๋ ผ๋ฆฌ์ ์ํ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ์ธ์ด์ ๊ตฌ์ฑ์ ์ ๊ณตํฉ๋๋ค. Very์ NOT_VERY์ ํค์ง ํจ์๋ฅผ ์๊ฐํด ๋ณด์ธ์. ํค์ง ํจ์๋ ๋ฉค๋ฒ์ญ ํจ์์ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ ์ ์๋ ์ธ์ด์ ๋ชฉ์ ์ ๋ฐ๋ผ ๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค. ํค์ง ํจ์๋ ์๋์ ์ํ์ 9.4์ ์ํ์ 9.5๋ก ์ ์๋ฉ๋๋ค.
VERY(m_x) = m_(x^2)
NOT_VERY(m_x) = m_(X^0.5)
์๋ฅผ ๋ค์ด, ๊ทธ๋ฆผ 9.2์ ์ ์๋ m_high ๋ฉค๋ฒ์ญ ํจ์์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์ธ์. ํจํท ๋น์จ์ด 115์ผ ๋, m_high๋ 0.75๊ฐ ๋ฉ๋๋ค. ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ๋ฉค๋ฒ์ญ ํจ์์ VERY(m_high(rate)) ํค์ง ํจ์๋ฅผ ์ ์ฉํ๋ค๋ฉด, ๊ฒฐ๊ณผ ๊ฐ์ 0.5625๊ฐ ๋ ๊ฒ์ ๋๋ค. ๋ง์ฝ ๋น์จ์ด 119์๋ค๋ฉด, m_high๋ 0.95๊ฐ ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ VERY ํค์ง ํจ์๋ฅผ ์ ์ฉํ๋ฉด 0.903(๋๋ ๋งค์ฐ ๋์)์ด ๋ ๊ฒ์ ๋๋ค.
๐ซ Why Use Fuzzy Logic?
ํผ์ง ๋ ผ๋ฆฌ๋ ์ ํํ ๊ฐ์ด ์๋ ๊ทผ์ฌ๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด ์ค๊ณ์์ ์ค์ํ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ด๋ ์ธ๊ฐ์ ์ถ๋ก ์์ฒด๊ฐ ๊ทผ์ฌํ๊ธฐ ๋๋ฌธ์ ํผ์ง ๋ ผ๋ฆฌ๋ฅผ ์์คํ ์ค๊ณ์ ๋งคํํ๋ ๊ฒ์ด ๋ ์ฝ๊ธฐ ๋๋ฌธ์ ์ค์ํฉ๋๋ค.
๐ซ Sample Application
ํผ์ง ๋ ผ๋ฆฌ ๊ธฐ๋ฅ์ ์ ์ฆํ๊ธฐ ์ํด ๋งค์ฐ ๊ฐ๋จํ ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ๊ธฐ ์๋ฎฌ๋ ์ด์ ์ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค(๋ฌผ๋ฆฌ์ ์ธ๋ถ ์ ๋ณด๊ฐ ๋ถ์กฑํฉ๋๋ค).
์ฐ๋ฆฌ์ ์ ํ์ ๋์ค๋ ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ๊ธฐ๋ ๋๋๋ก ์ถฉ์ ์ ์์ด ์กด์ฌํ๊ณ (์๋ฅผ ๋ค์ด, ํ์ ์ ์ง์ ์งํฉ์์) ๋ถํ๊ฐ ์กด์ฌํ๋ ํ๊ฒฝ์์ ์๋ํฉ๋๋ค. ํ์ ์ ์งํ์ ์ ์์ ๋ถํ๊ฐ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์๋ ํ๋ก๋ก ๋ฐฉ์ ์ํค๋ ๋์ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์ถฉ์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ์ ์ถฉ์ ๊ธฐ๋ ์ธ๋ฅ ์ถฉ์ ๋ชจ๋์ ๊ธ์ ์ถฉ์ ๋ชจ๋์ ๋ ๊ฐ์ง ์๋ ๋ชจ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ธ๋ฅ ์ถฉ์ ๋ชจ๋์์๋ ๋งค์ฐ ์ ์ ์์ ์ถฉ์ ์ ์ ๊ณตํ๊ธฐ ์ํด ์๋์ ์ ๋ฅ๋ง ๋ฐฐํฐ๋ฆฌ๋ก ์ ๋ฌ๋๋๋ก ํ์ฉ๋ฉ๋๋ค. ๊ธ์ ์ถฉ์ ๋ชจ๋์์๋ ์จ๋ณด๋ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ ๋ฅ๊ฐ ์ถฉ์ ๊ธฐ์ ์ ๊ณต๋ฉ๋๋ค.
์ ์ด ์์คํ ์ ๊ด์ ์์ ํ์ํ ๊ฒ์ ๊ธ์ ์ถฉ์ ๋ชจ๋๋ก ์ ํํ ๋์ ์ธ๋ฅ ์ถฉ์ ๋ชจ๋๋ก ์ ํํ ๋๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฐฐํฐ๋ฆฌ๊ฐ ์ถฉ์ ๋๋ฉด ๋ฐฐํฐ๋ฆฌ์ ์จ๋๊ฐ ์ฌ๋ผ๊ฐ ๊ฒ์ ๋๋ค. ๋ฐฐํฐ๋ฆฌ๊ฐ ์์ ํ ์ถฉ์ ๋๋ฉด ๋ฐฐํฐ๋ฆฌ์ ๋๋ฌํ๋ ์ถ๊ฐ ์ ๋ฅ๊ฐ ์ด๋ก ๊ตฌํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐฐํฐ๋ฆฌ๊ฐ ๋จ๊ฑฐ์์ง๋ฉด ๋ฐฐํฐ๋ฆฌ๊ฐ ์์ ํ ์ถฉ์ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๊ณ ์ธ๋ฅ ์ถฉ์ ๋ชจ๋๋ก ์ ํํ๋ ๊ฒ์ ์๋ง๋ ์ข์ ํ์์ผ ๊ฒ์ ๋๋ค. ๋ํ ๋ฐฐํฐ๋ฆฌ์ ์ ์์ ์ธก์ ํ์ฌ ํ๊ณ์ ๋๋ฌํ๋์ง ํ์ธํ ๋ค์ ์ธ๋ฅ ์ถฉ์ ๋ชจ๋๋ก ์ ํํ ์ ์์ต๋๋ค. ๋ฐฐํฐ๋ฆฌ๊ฐ ๋จ๊ฒ์ง ์๊ฑฐ๋ ๋ฐฐํฐ๋ฆฌ์ ์ ์ ํ๊ณ์ ๋๋ฌํ์ง ์์์ผ๋ฉด ๊ธ์ ์ถฉ์ ๋ชจ๋๋ก ์ ํํ๋ ๊ฒ์ด ์์ ํฉ๋๋ค. ๋ฐฐํฐ๋ฆฌ ์จ๋์ ๋ํจ์๊ฐ ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ ๋ ๋์ ํ์์ด๋ฏ๋ก ์ด๊ฒ์ ๋จ์ํ๋ ๊ท์น์ ๋๋ค.
๐ซง Fuzzy Battery Charge Control
์ ์๋ ๋ฐ์ ๊ฐ์ด ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ๊ธฐ์๋ ์ธ๋ฅ ๋ฐ ๊ธ์ ์ถฉ์ ๋ชจ๋์ ๋ ๊ฐ์ง ์๋ ๋ชจ๋๊ฐ ์์ต๋๋ค. ๋ฐฐํฐ๋ฆฌ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด ์ ์ ๋ฐ ์จ๋์ ๋ ๊ฐ์ง ์ผ์๊ฐ ์กด์ฌํฉ๋๋ค. ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ ์ ์ดํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ๋ค์ ํผ์ง ๊ท์น์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค:
if m_voltage_high( voltage )
then mode = trickle_charge
if m_temperature_hot( temperature )
then mode = trickle_charge
if ( ( not(m_voltage_high( voltage ))) AND ( not(m_temperature_hot( temperature ))) )
then mode = fast_charge
๋ง์ง๋ง ๊ท์น์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํฌํจํ ์ ์์ผ๋ฏ๋ก ์ด ๊ท์น๋ค์ ์ฐจ์ ์ฑ ์์ ์ ์ํ์ญ์์ค. ์ฐ๋ฆฌ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ํผ์ง ์ฐ์ฐ์๋ฅผ ๋ ๋ง์ด ํฌํจํ๊ธฐ ์ํด ์ธ ๊ฐ์ง ๊ท์น์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
ํผ์ง ๊ท์น๋ค์ ์๋ณํ๋ ๊ฒ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ค ์ค ํ๋์ ๋๋ค. ์ด๊ฒ์ ์์คํ ์ฐ์ฐ์๋ค๋ก๋ถํฐ ํน์ ๋ฌธ์ ์ ๋ถ์์ ํตํด์ ์ฝ๊ฒ ์ ์ ์์ต๋๋ค. ์ธ์ดํ์ด ์ค์ ์ธ๊ณ์ ์ด๋ป๊ฒ ๋งคํ๋๋์ง๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋ค์ ๋ฌธ์ ์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋ฉค๋ฒ์ญ ํจ์๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ๋๋ค.
๐ซง Fuzzy Charge Membership Functions
๋ฉค๋ฒ์ญ ํจ์๋ ํผ์ง ์ธ์ด ์ด๋ฆ์ ๊ฐ์ ธ๋ค๊ฐ ํน์ ๋๋ฉ์ธ์ ์ค์ ์ธ๊ณ ๊ฐ๊ณผ ๋งคํ๋ฉ๋๋ค. ์ด ์์์๋ ์ ์๊ณผ ์จ๋ ๋ ๊ฐ์ง ๋ณ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ ์๊ณผ ์จ๋ ๋ฉค๋ฒ์ญ ๊ทธ๋ํ(์ค์ ๋ฉค๋ฒ์ญ ํจ์๋ฅผ ๋ณด์ฌ์ค)๋ ๊ทธ๋ฆผ 9.6๊ณผ 9.7์ ๋์ ์์ต๋๋ค.
@ ์์ - Fuzzy voltage membership graph
@ ์์ - Fuzzy temperature membership graph
์ ์ ๋ฉค๋ฒ์ญ ๊ทธ๋ํ๋ ์ ์ ๋๋ฉ์ธ ๋ด์์ ๋ฎ์, ์ค๊ฐ, ๋์ ์ธ ๊ฐ์ง ๋ฉค๋ฒ์ญ ํจ์๋ฅผ ์ ์ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์จ๋ ๋๋ฉ์ธ๋ ์ฐจ๊ฐ์ด, ๋ฐ๋ปํ, ๋จ๊ฑฐ์ด ์ธ ๊ฐ์ง๋ฅผ ์ ์ํฉ๋๋ค. ์ด๋ฌํ ์ธ์์ ์ธ ๊ฐ์ ๋จ์ง ์์ฐ์ฉ์ผ ๋ฟ ์ด๋ค ์ข ๋ฅ์ ๋ฐฐํฐ๋ฆฌ ๊ธฐ์ ๋ ๋ํ๋ด์ง ์์ต๋๋ค.
NOTE : ๋ฉค๋ฒ์ฝ ๊ธฐ๋ฅ์์ ํจํด์ ์ฝ๊ฒ ๋ณผ ์ ์์ต๋๋ค. ์ด ๋๋ฌธ์ ์์ค์๋ ์ด๋ฌํ ๋ฉค๋ฒ์ฝ ๋ชจ์์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ฌ๋ฌ ๋์ฐ๋ฏธ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค(์ด๋ค ๊ทธ๋ํ์๋ ํ์๋์ง ์์ ์คํ์ดํฌ ํจํด ํฌํจ).
@ ์์ - Charge curves for the battery charge control simulation.
์๋ฎฌ๋ ์ด์ ์ ์ค์ ๋ฌผ๋ฆฌ์ ๋ฐฐํฐ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ๋ํ๋ด์ง ์์ง๋ง ์ ์ ๋ฐ ์จ๋ ์ ์ฝ ์กฐ๊ฑด์ ๊ณ ๋ คํ ๋ ๋ก๋ฉ ๋ฐ ์ถฉ์ ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ค ์ผ๋ถ๋ฅผ ๋ชจ๋ธ๋งํฉ๋๋ค.
๐ซ ์ฅ์
ํผ์ง ๋ ผ๋ฆฌ๋ฅผ ์์คํ ์ค๊ณ์ ํ์ฉํ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ์ด ์์ต๋๋ค. ํผ์ง ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ๊ธฐ์กด์ ๋ถ์ธ ๋ ผ๋ฆฌ ์ฐ์ฐ์์ฒ๋ผ ๋จ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์์คํ ์ฐ์ฐ์๋ ์ฐ์ฐ ์ง์์ ์ธ์ดํ์ ์ผ๋ก ์ฐ๋ฆฌ ๊ณ ์ ์ธ์ด๋ก ๋ชจ๋ธ๋ง๋ ๋ฉค๋ฒ์ญ ํจ์์ ํผ์ง ๋ ผ๋ฆฌ ๊ท์น์ ์์ญ์ผ๋ก ํ์ฅํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ์กด ์์คํ ๊ฐ๋ฐ์์ ๊ฒฝ์ฐ ํผ์ง ๋ก์ง์ ์ฌ์ฉํ๋ ๊ฒฐ๊ณผ ์์คํ ์ ๋ณต์ก์ฑ์ ํจ์ฌ ๋จ์ํํ ์ ์์ต๋๋ค. ๋ค์์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ ๊ฐ๋ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ํผ์ง ๋ก์ง์ ์ฌ์ฉํ์ฌ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ๋ชจ๋ธ๋ง ๋ฐ ๊ตฌํ๋ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์ด์ ์ ํผ์ง ๋ก์ง์ด ์์คํ ์ ์ฒ๋ฆฌ ์๊ตฌ์ฌํญ์ ๊ฐ์์์ผ ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ฒ ๋๋ ์ ์ด ํ๋์จ์ด์ ๋น์ฉ์ ์ค์ผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ง์ ๊ฒฝ์ฐ ๋ณต์กํ ์ํ์ ๋ชจ๋ธ๋ง์ ๋ฉค๋ฒ์ญ ํจ์์ set of fuzzy rules๋ก ๋์ฒดํ์ฌ ์์คํ ์ ์ ์ดํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ํ์ ์ ์ฝ์ ์ต์ํํ๋ฉด ์ฝ๋ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ผ๋ฏ๋ก ์์คํ ์ด ๋ ๋น ๋ฅด๊ฒ ์คํ๋๊ฑฐ๋ less advenced ํ๋์จ์ด์์ ์คํ๋ ์ ์์ต๋๋ค.
๐ซ ์์ - ๊ทธ ์ธ
ํผ์ง ๋ก์ง์ ๋งค์ฐ ๋ค์ํ ์์ฉ ๋ถ์ผ์์ ์ฌ์ฉ๋์ด ์์ต๋๋ค. ๊ฐ์ฅ ๋์ ๋๋ ์ฉ๋๋ ํผ์ง ์์คํ ์ด ์์ ์ ์ผ๋ก ์ฑ๊ณตํ ์ ์ด ์์คํ ์ ๋๋ค. ํผ์ง ๋ก์ง์ ๋ํ ์ ํ ํฌ์ปค์ฑ ์นด๋ฉ๋ผ, ์๋ฉํธ ํผํฉ ์์คํ , ์ ๊ธ ํด์ ๋ฐฉ์ง ์์คํ ์ ํฌํจํ ์ฐจ๋ ์ ์ด ๋ฐ ๊ท์น ๊ธฐ๋ฐ ์์คํ ์๋ ์ ์ฉ๋์์ต๋๋ค.
์๋ง๋ ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๋ ค์ง์ง ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ผ ๊ฒ์ ๋๋ค. ํผ์ง ๋ ผ๋ฆฌ๋ผ๋ ์ด๋ฆ ์์ฒด๋ ๊ธฐ์ ์ ์ผ๋ก ๊ฑด์ ํ ๋ฐฉ๋ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ ๋ขฐ๊ฐ์ ์ด์งํ์ง๋ ์์ต๋๋ค. ๋ค๋ฅธ ๋ง์ AI ๋ฐฉ๋ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ์ ๊ฐ ํผ์ง ๋ ผ๋ฆฌ๊ฐ AI์ ์ฐ๊ด๋์ง ์๊ณ ๊ฐ์์ ์ธ ํ์ค ๊ธฐ์ ์๋ฃจ์ ์ผ๋ก ๊ฐ์ฃผ๋๋ ์ค์ฉ์ ์ธ ์์ญ์ผ๋ก์ ๋ง์ด๊ทธ๋ ์ด์ ์ด ๋ ๋๋ฆฝ๋๋ค.
๐ซ ์์ฝ
ํผ์ง ๋ ผ๋ฆฌ์ ํผ์ง ์ ์ด์ ๋ํด ์๊ฐํ์ต๋๋ค. ๊ธฐ๋ณธ ํผ์ง ์ฐ์ฐ์๋ ์ธ ๊ฐ์ง ๋งค์ฐ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ(ํจํท ํ๋ฆ, ๋ชฉํ ์ถ์ ๋ฐ ์ ํ ์ ์ด)์ ์ฌ์ฉํ์ฌ ์ ์๋์์ต๋๋ค. Hedge ํจ์๋ ๋ํ ๊ธฐ์กด ํผ์ง ์์ ํจ์์ ์ธ์ด์ ์์์ด๋ก ๋์ ๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ ํจ์์ ์ ์ด ์์๊ฐ fuzzy sementics๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ป๊ฒ ์์ฑ๋์๋์ง ์๋ณํ๊ธฐ ์ํด ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ ์ด์ ์ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ธํ ์ค๋ช ํ์ต๋๋ค. ์ํ ์ฝ๋๋ set of ์ผ๋ฐ ํผ์ง ๋ ผ๋ฆฌ API๋ฅผ ํฌํจํ์ฌ ์ด ๊ฐ๋ ์ ์ค๋ช ํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ํ๋์จ์ด ๊ตฌํ์ ๋จ์ํ ๋ฐ ๋น์ฉ ์ ๊ฐ์ ํฌํจํ์ฌ ํผ์ง ๋ ผ๋ฆฌ์ ์ฅ์ ์ค ์ผ๋ถ์ ๋ํด ๋ ผ์ํ์ต๋๋ค.