๐๐ฎ๐ต๐ ๐๐ณ๐๐๐๐ฉ๐ฏ๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐ ๐๐น ๐ฃ๐จ๐๐ผ๐ - ๐๐ธ๐ ๐ข๐ณ๐ฏ llms.txt
๐๐ช๐ ๐ฏ ๐จ๐ค๐ฆ๐ ๐ธ ๐๐ต ๐ฃ๐จ๐๐ผ๐ ๐ข๐ป๐๐ฆ๐ ๐ช๐ฏ ๐ฉ๐ฏ ๐ฆ๐ฅ๐๐ง๐๐ฆ๐ ๐๐ฆ๐๐๐ฉ๐ฅ ๐ข๐ฆ๐ ๐ฉ ๐๐ฆ๐๐ฆ๐ฎ ๐๐ฉ๐ฅ๐๐ฟ๐๐ฑ๐๐ฉ๐ฏ๐ฉ๐ค ๐๐ฉ๐ฏ๐๐๐ฎ๐ฑ๐ฏ๐ - ๐๐บ ๐ฆ๐ ๐ฉ ๐๐ณ๐ ๐ฆ๐ฏ ๐๐บ ๐ค๐ด-๐๐ช๐๐ ๐ฅ๐ฒ๐๐ฎ๐ด๐๐ฉ๐ฏ๐๐ฎ๐ด๐ค๐ผ ๐ฅ๐ฑ๐๐ฆ๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐ ๐๐ฆ๐๐ฏ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐๐ค๐ฆ ๐๐ค๐ด๐ผ ๐๐จ๐ฏ ๐ง๐ฏ๐ฆ ๐ณ๐๐ผ ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ ๐ช๐ฏ ๐ ๐๐ฆ๐๐๐ง๐.
๐ข๐ง๐ฏ ๐๐ฑ ๐๐ฎ๐ด๐๐ฒ๐ค๐ ๐๐บ micropython ๐๐ด๐, ๐๐ฑ ๐๐ฌ๐ฏ๐ ๐๐จ๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐ ๐ข๐ป ๐ณ๐ ๐๐ต 5x ๐๐ค๐ด๐ผ ๐๐จ๐ฏ ๐ง๐ฏ๐ฆ ๐ณ๐๐ผ ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ.
def authorize_access(request):
# ๐ฉ ๐ฟ๐๐ผ ๐ฆ๐ ๐๐ฆ๐ฏ๐ฒ๐ ๐ฆ๐ ๐๐ฑ ๐ธ ๐ช๐ฏ ๐ฉ ๐๐ค๐จ๐๐ค๐ฆ๐๐ OR
# ๐๐บ ๐ฉ๐๐ฌ๐ฏ๐ ๐ฆ๐ ๐ฆ๐๐๐๐ฒ๐ผ๐
if (user_is_blacklisted(request.user_id) or
account_is_expired(request.account)
return "Access denied"
return "Access granted"
๐ค๐ง๐๐ ๐๐ฑ๐ ๐ฉ ๐ฅ๐ด๐ฅ๐ฉ๐ฏ๐ ๐๐ต ๐ณ๐ฏ๐๐ผ๐๐๐จ๐ฏ๐ ๐ ๐๐ฎ๐ช๐๐ค๐ฉ๐ฅ. ๐ authorize_access
๐๐ณ๐๐๐๐ฉ๐ฏ ๐ฆ๐ ๐ฟ๐๐ ๐๐ต ๐๐ง๐ ๐ฆ๐ ๐ฉ ๐ฟ๐๐ผ ๐ฆ๐ ๐ท๐๐ผ๐ฒ๐๐ ๐๐ต ๐จ๐๐๐ง๐ ๐ฉ ๐ฎ๐ฆ๐๐น๐. ๐ or
๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ ๐ฆ๐ ๐ฟ๐๐ ๐๐ต ๐๐ฉ๐ฅ๐๐ฒ๐ฏ ๐ ๐๐ฉ๐ฏ๐๐ฆ๐๐ฉ๐ฏ๐. ๐ฃ๐ฌ ๐๐ซ๐ ๐ข๐ฐ ๐ฎ๐ฐ๐ฎ๐ฒ๐ ๐๐ฆ๐ ๐๐ณ๐๐๐๐ฉ๐ฏ ๐๐ต ๐ฉ๐๐ถ๐ ๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ?
๐๐ต ๐๐ฆ๐๐ฆ๐ฏ, ๐ค๐ง๐๐ ๐๐ฑ๐ ๐ฉ ๐ค๐ซ๐ ๐จ๐ ๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ ๐ฆ๐๐๐ง๐ค๐. OR ๐ฆ๐ ๐ง๐ฏ๐ฆ ๐๐ฑ๐ ๐ข๐บ ๐ฒ๐๐ผ A ๐น B ๐ธ ๐๐ฎ๐ต (๐๐ผ๐ฃ๐จ๐๐ ๐ช๐๐๐ฆ๐ฉ๐๐ค๐ฆ). ๐ ๐ด๐ฏ๐ค๐ฆ ๐๐ฒ๐ฅ ๐ฉ๐ฏ OR ๐ฆ๐ FALSE ๐ฆ๐ ๐ข๐ง๐ฏ ๐๐ด๐ ๐ฆ๐ฏ๐๐ซ๐๐ ๐ธ ๐๐ง๐ฅ๐๐ง๐ค๐๐ ๐๐ท๐ค๐.
๐ข๐ฐ ๐๐จ๐ฏ ๐ฆ๐๐๐๐ฎ๐ง๐ ๐๐ฆ๐ ๐ฆ๐ฏ ๐๐ณ๐ฅ๐๐ฆ๐ ๐๐ท๐ค๐ ๐ฉ ๐๐ฎ๐ต๐ ๐๐ฑ๐๐ฉ๐ค.
๐ฉ ๐๐ฎ๐ต๐ ๐๐ฑ๐๐ฉ๐ค ๐ฆ๐ ๐ฉ ๐ค๐ช๐ก๐ฆ๐ ๐๐ฑ๐๐ฉ๐ค ๐ฟ๐๐ ๐๐ต ๐๐ฆ๐๐ป๐ฅ๐ฆ๐ฏ ๐ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ๐ ๐ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐ฆ๐๐๐๐ฎ๐ง๐๐ฉ๐ฏ๐ ๐๐ฑ๐๐ ๐ช๐ฏ ๐๐บ ๐ฆ๐ฏ๐๐ซ๐๐. ๐ฆ๐ ๐๐ฆ๐๐๐ฉ๐ฅ๐จ๐๐ฆ๐๐ฉ๐ค๐ฆ ๐ค๐ฆ๐๐๐ ๐ท๐ค ๐๐ช๐๐ฆ๐๐ฉ๐ค ๐๐ฉ๐ฅ๐๐ฆ๐ฏ๐ฑ๐๐ฉ๐ฏ๐ ๐ ๐ฆ๐ฏ๐๐ซ๐ ๐๐จ๐ค๐ฟ๐ ๐ฏ ๐ ๐๐น๐ฆ๐๐๐ช๐ฏ๐๐ฆ๐ ๐ฌ๐๐๐ซ๐ ๐๐น ๐ฐ๐ ๐๐ฉ๐ฅ๐๐ฆ๐ฏ๐ฑ๐๐ฉ๐ฏ, ๐ฉ๐ค๐ฌ๐ฆ๐ ๐ณ๐ ๐๐ต ๐๐ฆ๐ ๐๐ฉ๐ค๐ฒ๐ ๐ฃ๐ฌ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐ ๐ข๐ป๐.
๐๐ฆ๐ค ๐ฌ๐ ๐๐ฆ๐ ๐ข๐ณ๐ฏ ๐๐ต ๐๐ด ๐ข๐ฆ๐ ๐๐ฑ๐๐ฉ๐ OR ๐ข๐ซ๐ ๐๐ฐ ๐๐ฎ๐ต:
(๐ฟ ๐๐จ๐ฏ ๐๐ค๐ฆ๐ ๐ช๐ฏ ๐ ๐๐ฑ๐๐ฉ๐ค ๐๐ต ๐๐ช๐๐ฉ๐ค ๐ ๐ณ๐ฏ๐ด๐ฏ ๐๐จ๐ค๐ฟ๐)
P | or | Q |
---|---|---|
t | ? | t |
t | ? | f |
f | ? | t |
f | ? | f |
๐ค๐ง๐๐ ๐๐ฑ๐ ๐ ๐๐ฒ๐ฅ ๐จ๐ ๐ข๐ง๐ค ๐๐ต ๐๐ฆ๐๐๐ณ๐ ๐๐ณ๐ฅ ๐ณ๐๐ผ ๐๐ฑ๐๐ฆ๐ ๐ช๐๐ผ๐ฑ๐๐ผ๐ ๐๐ช๐ ๐ฏ ๐จ๐ค๐ฆ๐ ๐ฃ๐จ๐ ๐ฉ๐๐ฑ๐ค๐ฉ๐๐ฉ๐ค ๐๐ต ๐๐ง๐ฅ - AND ๐ฏ NOT.
AND ๐ฎ๐ฆ๐๐ข๐ฒ๐ผ๐ ๐๐ด๐ ๐ฆ๐ฏ๐๐ซ๐๐ ๐๐ต ๐๐ฐ ๐๐ฎ๐ต ๐๐น ๐ฆ๐ ๐๐ต ๐ฎ๐ฆ๐๐ป๐ฏ ๐๐ฎ๐ต.
P | and | Q |
---|---|---|
t | ? | t |
t | ? | f |
f | ? | t |
f | ? | f |
NOT ๐๐ฆ๐ฅ๐๐ค๐ฆ “๐๐ค๐ฆ๐๐” ๐ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ ๐ ๐ ๐ฆ๐ฏ๐๐ซ๐ ๐ฉ๐๐ฒ๐ฏ๐ ๐๐ต ๐ฆ๐.
P | not P |
---|---|
t | ? |
f | ? |
๐๐ช๐ ๐ฆ๐ ๐ฉ ๐๐๐ฟ๐๐ฉ๐ฏ๐ ๐ ๐๐ฎ๐ต๐ ๐๐ณ๐๐๐๐ฉ๐ฏ๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐, ๐ข๐ฆ๐ ๐ฅ๐ฐ๐ฏ๐ ๐ฃ๐ฐ ๐ณ๐ฏ๐๐ผ๐๐๐จ๐ฏ๐๐ ๐๐จ๐ ๐ฅ๐ง๐ฏ๐ฆ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐๐๐ฑ๐๐ฅ๐ฉ๐ฏ๐๐ ๐ธ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐. ๐๐บ ๐ธ ๐ฅ๐ง๐ฏ๐ฆ, ๐ฅ๐ง๐ฏ๐ฆ ๐ข๐ฑ๐ ๐๐ต ๐ฎ๐ฐ๐ฎ๐ฒ๐ ๐ authorize_access
๐๐ณ๐๐๐๐ฉ๐ฏ ๐ข๐ฆ๐๐ฌ๐ ๐ฃ๐จ๐๐ฆ๐ ๐๐ต ๐ฟ๐ ๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ ๐จ๐ ๐ท๐ค.
๐ฆ๐ฏ ๐๐ฎ๐ต๐ ๐๐ณ๐๐๐๐ฉ๐ฏ๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐ (TFL), ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐ช๐๐ผ๐ฑ๐๐ผ๐ ๐ค๐ฒ๐ AND, OR, ๐ฏ NOT ๐๐จ๐ฏ ๐๐ฐ ๐ฆ๐๐๐๐ฎ๐ง๐๐ ๐ฆ๐ฏ ๐๐ป๐ฅ๐ ๐ ๐ฐ๐ ๐ณ๐๐ผ ๐ฟ๐๐ฆ๐ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐๐ฆ๐. ๐๐ฐ๐ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐๐ฆ๐ ๐ธ ๐๐๐ฑ๐๐ฅ๐ฉ๐ฏ๐๐ ๐๐จ๐ ๐ฃ๐จ๐ ๐ ๐๐ฑ๐ฅ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ ๐ฆ๐ฏ ๐ท๐ค ๐๐ช๐๐ฆ๐๐ฉ๐ค ๐ฆ๐ฏ๐๐ป๐๐ฎ๐ฆ๐๐ฑ๐๐ฉ๐ฏ๐.
๐๐น ๐ฆ๐๐๐จ๐ฅ๐๐ฉ๐ค, ๐ข๐ณ๐ฏ ๐ ๐ ๐ฅ๐ด๐๐ ๐ฟ๐๐๐ฉ๐ค ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐๐ฆ๐ ๐ฆ๐ De Morgan’๐ ๐ค๐ท, ๐ข๐ฆ๐ ๐๐๐ฑ๐๐:
- ยฌ(p โจ q) โก (ยฌp โง ยฌq)
- ยฌ(p โง q) โก (ยฌp โจ ยฌq)
De Morgan’๐ ๐ค๐ท, ๐ธ๐๐ฆ๐๐ฟ๐ค๐ฑ๐๐ฉ๐ ๐ฆ๐ฏ ๐๐ค๐ฑ๐ฏ ๐ฆ๐๐๐ค๐ฆ๐, ๐ฉ๐๐ป๐๐ ๐๐จ๐ ๐ฆ๐ ๐ฆ๐ ๐ฏ๐ช๐ ๐ ๐๐ฑ๐ ๐๐จ๐ ๐ฒ๐๐ผ P ๐น Q ๐ฆ๐ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐ ๐๐ต ๐ ๐ฉ๐๐ป๐๐ฉ๐ฏ ๐๐จ๐ ๐๐ด๐ P ๐ฏ Q ๐ธ ๐ฏ๐ช๐ ๐๐ฎ๐ต.
๐ค๐ง๐’๐ ๐ฆ๐๐๐๐ค๐น ๐๐จ๐ ๐ข๐ฆ๐ ๐ฉ ๐๐ฎ๐ต๐ ๐๐ฑ๐๐ฉ๐ค! ๐๐ฆ๐ ๐ข๐ฆ๐ค ๐๐ฐ ๐๐ค๐ฒ๐๐ค๐ฆ ๐ฅ๐น ๐๐ฉ๐ฅ๐๐ค๐ฆ๐๐ฑ๐๐ฉ๐ ๐๐ง๐ฏ ๐ ๐๐ฎ๐ฒ๐ผ ๐ข๐ณ๐ฏ๐, ๐๐ฆ๐ฏ๐ ๐ข๐ฐ’๐ฎ ๐ฅ๐จ๐ฏ๐ฆ๐ก๐ฆ๐ ๐ฅ๐น ๐ช๐๐ผ๐ฑ๐๐ผ๐ ๐จ๐ ๐ข๐ณ๐ฏ๐.
๐๐ต ๐๐ช๐ค๐ ๐๐ฆ๐ ๐๐ฑ๐๐ฉ๐ค, ๐ข๐ฐ ๐ข๐ฆ๐ค ๐ข๐ป๐ ๐๐ฎ๐ต ๐ฐ๐ ๐๐ช๐ค๐ฉ๐ฅ ๐๐๐ง๐ ๐๐ฒ ๐๐๐ง๐:
- ๐๐๐ธ๐ ๐ข๐ฆ๐ ๐ ๐๐ฑ๐๐ฆ๐ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ๐ ๐๐น P ๐ฏ Q (๐๐ช๐ค๐ฉ๐ฅ๐ 1 ๐ฏ 2)
- ๐๐จ๐ค๐๐ฟ๐ค๐ฑ๐ ยฌP ๐๐ฒ ๐๐ค๐ฆ๐๐ฆ๐ ๐ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ ๐ P (๐๐ช๐ค๐ฉ๐ฅ 3)
- ๐๐จ๐ค๐๐ฟ๐ค๐ฑ๐ ยฌQ ๐๐ฒ ๐๐ค๐ฆ๐๐ฆ๐ ๐ ๐๐ฎ๐ต๐ ๐๐จ๐ค๐ฟ ๐ Q (๐๐ช๐ค๐ฉ๐ฅ 4)
- ๐๐ฒ๐ฏ๐ PโจQ (OR) (๐๐ช๐ค๐ฉ๐ฅ 5)
- ๐ฎ๐ฆ๐ฅ๐ง๐ฅ๐๐ผ, (OR) ๐ฆ๐ ๐๐ฎ๐ต ๐ฆ๐ ๐ฒ๐๐ผ P ๐น Q ๐ฆ๐ ๐๐ฎ๐ต.
- ๐๐จ๐ค๐๐ฟ๐ค๐ฑ๐ ยฌ(PโจQ) ๐๐ฒ ๐๐ค๐ฆ๐๐ฆ๐ ๐ ๐๐จ๐ค๐ฟ๐ ๐ฆ๐ฏ ๐๐ช๐ค๐ฉ๐ฅ 5 (๐๐ช๐ค๐ฉ๐ฅ 6)
- ๐๐ฆ๐ฏ๐ ๐ข๐ฐ’๐ฎ ๐๐ฒ๐ฏ๐๐ฆ๐ NOT P ๐น Q
- ๐๐จ๐ค๐๐ฟ๐ค๐ฑ๐ ยฌPโงยฌQ (AND) - ๐๐ฎ๐ต ๐ด๐ฏ๐ค๐ฆ ๐ข๐ง๐ฏ ๐๐ด๐ ยฌP ๐ฏ ยฌQ ๐ธ ๐๐ฎ๐ต (๐๐ช๐ค๐ฉ๐ฅ 7)
- ๐ฎ๐ฆ๐ฅ๐ง๐ฅ๐๐ผ, (AND) ๐ฆ๐ ๐๐ฎ๐ต ๐ด๐ฏ๐ค๐ฆ ๐ฆ๐ P ๐น Q ๐ฆ๐ ๐๐ด๐ ๐๐ฎ๐ต.
P | Q | ยฌP | ยฌQ | PโจQ | ยฌ(PโจQ) | ยฌPโงยฌQ |
---|---|---|---|---|---|---|
t | t | ? | ? | ? | ? | ? |
t | f | ? | ? | ? | ? | ? |
f | t | ? | ? | ? | ? | ? |
f | f | ? | ? | ? | ? | ? |
๐ฏ๐ด๐๐ฆ๐ ๐ฃ๐ฌ ๐๐ช๐ค๐ฉ๐ฅ๐ 6 ๐ฏ 7 ๐ฃ๐จ๐ ๐ฒ๐๐ง๐ฏ๐๐ฆ๐๐ฉ๐ค ๐๐จ๐ค๐ฟ๐? ๐๐ฆ๐ ๐ฅ๐ฐ๐ฏ๐ ๐๐ฑ’๐ฎ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐, ๐๐ง๐ฅ๐ฉ๐ฏ๐๐๐ฎ๐ฑ๐๐ฆ๐ De Morgan’๐ ๐ค๐ท: ยฌ(PโจQ) โก ยฌPโงยฌQ
๐ฟ๐๐ฆ๐ ๐๐ฐ๐ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐๐ฆ๐, ๐๐ช๐ ๐ฏ ๐จ๐ค๐ฆ๐ ๐ฎ๐ฐ๐ฎ๐ฒ๐ ๐๐บ ๐๐ณ๐๐๐๐ฉ๐ฏ:
def authorize_access(request):
# ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค๐ฆ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐ ๐๐ณ๐ ๐ฟ๐๐ฆ๐ ๐ด๐ฏ๐ค๐ฆ NOT ๐ฏ AND ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐
if not (not user_is_blacklisted(request.user_id) and
not account_is_expired(request.account):
return "Access denied"
return "Access granted"
๐ ๐ฎ๐ฐ๐ฎ๐ฆ๐๐ฉ๐ฏ ๐๐ณ๐๐๐๐ฉ๐ฏ ๐ฆ๐ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค๐ฆ ๐ฒ๐๐ง๐ฏ๐๐ฆ๐๐ฉ๐ค, ๐ฏ ๐ข๐ฐ’๐ ๐๐ฎ๐ต๐๐ ๐ฆ๐! ๐๐ค๐ณ๐ ๐ฆ๐ ๐ฎ๐ณ๐ฏ๐ ๐๐ฆ๐๐ฏ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐๐ค๐ฆ ๐๐ญ๐๐๐ผ ๐ช๐ฏ ๐๐บ ๐ฃ๐ธ๐๐ข๐บ. ๐๐ช๐ ๐ฏ ๐จ๐ค๐ฆ๐ ๐ฃ๐จ๐ ๐๐ฑ๐๐ ๐ ๐๐ฑ, ๐ข๐ฆ๐ ๐ฟ๐ผ ๐ฃ๐ง๐ค๐.
๐๐ฆ๐๐ช๐ฏ๐ ๐ฃ๐ธ๐๐ข๐บ ๐๐ฉ๐ฏ๐๐๐ฎ๐ฑ๐ฏ๐๐: ๐ณ๐๐ผ ๐๐ฎ๐จ๐๐๐ฆ๐๐ฉ๐ค ๐ฉ๐๐ค๐ฆ๐๐ฑ๐๐ฉ๐ฏ๐
SQL ๐๐ข๐ฝ๐ฆ๐ ๐ช๐๐ฉ๐ฏ ๐ฆ๐ฏ๐๐ช๐ค๐ ๐๐ง๐ฎ๐ฆ ๐๐ฉ๐ฅ๐๐ค๐ง๐๐ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐๐ฉ๐ฏ๐๐ฆ๐๐ฉ๐ฏ๐. ๐ณ๐ฏ๐๐ผ๐๐๐จ๐ฏ๐๐ฆ๐ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐ ๐๐จ๐ฏ ๐๐ณ๐ฅ๐๐ฒ๐ฅ๐ ๐ฅ๐ฑ๐ ๐๐ข๐ฝ๐ฆ๐ ๐ฅ๐น ๐ช๐๐๐ฆ๐ฅ๐ฒ๐๐ ๐ฆ๐ฏ ๐๐ฑ๐๐ฉ๐ ๐ข๐ป ๐๐ป๐๐ฉ๐ฏ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐๐๐ฎ๐ณ๐๐๐ผ๐ ๐๐ฑ๐ ๐ค๐ช๐๐๐ผ ๐๐ข๐ฝ๐ฆ ๐๐ฒ๐ฅ๐ ๐๐ง๐ฏ ๐ณ๐๐ผ๐. ๐๐น ๐ฆ๐๐๐จ๐ฅ๐๐ฉ๐ค:
SELECT * FROM transactions
WHERE NOT (customer_id = 101 AND transaction_date > '2023-01-01')
๐ฆ๐ ๐ฆ๐๐ข๐ฆ๐๐ฉ๐ค๐ฉ๐ฏ๐ ๐๐ต:
SELECT * FROM transactions
WHERE customer_id != 101 OR transaction_date <= '2023-01-01'
๐๐ฎ๐ฆ๐๐๐ช๐๐ฎ๐ฉ๐๐ฆ
๐๐ฎ๐ฆ๐๐๐ช๐๐ฎ๐ฉ๐๐ฆ ๐จ๐ ๐ข๐ง๐ค ๐ฆ๐ ๐ฉ ๐๐ฑ๐ ๐ข๐บ ๐๐๐ฎ๐ช๐ ๐๐ณ๐ฏ๐๐ฉ๐ฅ๐ง๐ฏ๐๐ฉ๐ค๐ ๐ฆ๐ฏ ๐ค๐ช๐ก๐ฆ๐ ๐๐จ๐ฏ ๐ฅ๐ฑ๐ ๐น ๐๐ฎ๐ฑ๐ ๐ฉ๐ฏ ๐ฆ๐ฅ๐๐ค๐ฆ๐ฅ๐ฉ๐ฏ๐๐ฑ๐๐ฉ๐ฏ. ๐ฆ๐ฏ homomorphic ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐ฏ (๐ข๐ฆ๐ ๐ฉ๐ค๐ฌ๐ ๐๐ฉ๐ฅ๐๐ฟ๐๐ฑ๐๐ฉ๐ฏ ๐ช๐ฏ ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐ ๐๐ฑ๐๐ฉ), ๐๐ป๐๐ฉ๐ฏ ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐ ๐ธ ๐ฅ๐น ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐ ๐๐จ๐ฏ ๐ณ๐๐ผ๐ ๐๐ฟ ๐๐ต ๐ ๐ณ๐ฏ๐๐ผ๐ค๐ฒ๐ฆ๐ ๐๐ฎ๐ฆ๐๐๐ช๐๐ฎ๐จ๐๐ฆ๐ ๐๐๐ฎ๐ณ๐๐๐ผ๐.
TFHE (๐๐ญ๐๐ ๐๐ซ๐ค๐ฆ Homomorphic ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐ฏ ๐ด๐๐ผ ๐ ๐๐น๐ฉ๐) ๐ฆ๐ ๐ฉ ๐ข๐ฒ๐๐ค๐ฆ ๐ฟ๐๐ homomorphic ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐ฏ ๐ค๐ฒ๐๐ฎ๐บ๐ฆ ๐ข๐บ NAND ๐๐ฑ๐๐ ๐ธ ๐๐ฆ๐๐ฏ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐๐ค๐ฆ ๐๐ญ๐๐๐ผ ๐๐จ๐ฏ ๐ณ๐๐ผ ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐. ๐ฆ๐ฏ Microsoft’๐ SEAL ๐ค๐ฒ๐๐ฎ๐บ๐ฆ ๐ฆ๐ฅ๐๐ค๐ฆ๐ฅ๐ฉ๐ฏ๐๐ฑ๐๐ฉ๐ฏ ๐ FHE, NAND ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐ ๐๐จ๐ฏ ๐๐ฐ ๐ฅ๐น ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐ ๐๐จ๐ฏ ๐๐ฒ๐ฎ๐ง๐๐ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐.
๐๐ฉ๐ฏ๐๐ฆ๐๐ผ ๐ฉ ๐๐ฎ๐ฒ๐๐ฉ๐๐ฆ-๐๐ฎ๐ฆ๐๐ป๐๐ฆ๐ ๐๐ด๐๐ฆ๐ ๐ง๐ค๐ฆ๐ก๐ฆ๐๐ฆ๐ค๐ฆ๐๐ฆ ๐๐ฆ๐๐๐ฉ๐ฅ ๐ข๐บ ๐๐ด๐๐ผ ๐๐ฑ๐๐ฉ ๐ฆ๐ ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐:
๐น๐ฆ๐ก๐ฆ๐ฏ๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐:
def is_eligible_voter(encrypted_data):
# ๐ฉ ๐๐ด๐๐ผ ๐ฆ๐ ๐ง๐ค๐ฆ๐ก๐ฆ๐๐ฉ๐ค ๐ฆ๐ ๐๐ฑ ๐ธ ๐ฉ ๐๐ฆ๐๐ฆ๐๐ฉ๐ฏ OR
# (๐๐ฑ ๐ธ ๐ฉ ๐๐ป๐ฅ๐ฉ๐ฏ๐ฉ๐ฏ๐ ๐ฎ๐ง๐๐ฆ๐๐ฉ๐ฏ๐ AND ๐ฃ๐จ๐ ๐ค๐ฆ๐๐ ๐ฃ๐ฝ 5+ ๐๐ฝ๐)
eligibility = homomorphic_or(
encrypted_data.is_citizen(),
homomorphic_and(
encrypted_data.is_permanent_resident(),
encrypted_data.lived_here_5_plus_years()
)
)
return eligibility
๐๐ฆ๐ ๐๐ฉ๐ฏ๐๐ฑ๐ฏ๐ ๐๐ด๐ AND ๐ฏ OR ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐. ๐ฟ๐๐ฆ๐ De Morgan’๐ ๐ค๐ท๐ ๐ฏ ๐ NAND ๐๐ต๐ฏ๐ฆ๐๐ป๐๐ฉ๐ค๐ฆ๐๐ฆ ๐๐ฎ๐ช๐๐ผ๐๐ฆ, ๐ข๐ฐ ๐๐จ๐ฏ ๐ฎ๐ฐ๐ฎ๐ฒ๐ ๐ฆ๐ ๐๐ต ๐ฟ๐ ๐ด๐ฏ๐ค๐ฆ NAND ๐ช๐๐ผ๐ฑ๐๐ฉ๐ฏ๐, ๐ข๐ฆ๐ TFHE ๐๐ฎ๐ฉ๐๐ง๐๐ฉ๐ ๐ฅ๐น ๐ฆ๐๐ฆ๐๐ฉ๐ฏ๐๐ค๐ฆ:
๐ช๐๐๐ฆ๐ฅ๐ฒ๐๐ ๐๐น TFHE:
def is_eligible_voter(encrypted_data):
# ๐๐๐ง๐ 1: ๐๐ฉ๐ฏ๐๐ป๐ ๐ OR ๐ฟ๐๐ฆ๐ De Morgan: A OR B = NOT(NOT A AND NOT B)
# ๐๐๐ง๐ 2: ๐ฆ๐๐๐๐ฎ๐ง๐ NOT ๐ฆ๐ฏ ๐๐ป๐ฅ๐ ๐ NAND: NOT X = NAND(X, X)
# ๐๐๐ง๐ 3: ๐ฆ๐๐๐๐ฎ๐ง๐ AND ๐ฆ๐ฏ ๐๐ป๐ฅ๐ ๐ NAND: A AND B = NOT(NAND(A, B)) = NAND(NAND(A, B), NAND(A, B))
citizen = encrypted_data.is_citizen()
resident = encrypted_data.is_permanent_resident()
years = encrypted_data.lived_here_5_plus_years()
# NOT citizen ๐ฟ๐๐ฆ๐ NAND
not_citizen = homomorphic_nand(citizen, citizen)
# resident AND years ๐ฟ๐๐ฆ๐ NAND
resident_and_years = homomorphic_nand(
homomorphic_nand(resident, years),
homomorphic_nand(resident, years)
)
# NOT (resident AND years) ๐ฟ๐๐ฆ๐ NAND
not_resident_and_years = homomorphic_nand(resident_and_years, resident_and_years)
# NOT citizen AND NOT (resident AND years) ๐ฟ๐๐ฆ๐ NAND
not_both = homomorphic_nand(
homomorphic_nand(not_citizen, not_resident_and_years),
homomorphic_nand(not_citizen, not_resident_and_years)
)
# ๐๐ฒ๐ฏ๐ฉ๐ค NOT ๐๐ต ๐๐ง๐: citizen OR (resident AND years)
eligibility = homomorphic_nand(not_both, not_both)
return eligibility
๐ฆ๐ฏ ๐๐ฎ๐ฉ๐๐ณ๐๐๐ฉ๐ฏ TFHE ๐ฆ๐ฅ๐๐ค๐ฆ๐ฅ๐ฉ๐ฏ๐๐ฑ๐๐ฉ๐ฏ๐, ๐๐ฆ๐ ๐๐ฎ๐จ๐ฏ๐๐๐น๐ฅ๐ฑ๐๐ฉ๐ฏ ๐ฎ๐ฆ๐๐ฟ๐๐ ๐๐ฉ๐ฅ๐๐ฟ๐๐ฑ๐๐ฉ๐ฏ ๐๐ฒ๐ฅ ๐๐ฎ๐ช๐ฅ ๐ฅ๐ฆ๐ฏ๐ฆ๐๐ ๐๐ต ๐๐ง๐๐ฉ๐ฏ๐๐ ๐๐น ๐๐ฉ๐ฅ๐๐ค๐ง๐๐ ๐ง๐ค๐ฆ๐ก๐ฆ๐๐ฆ๐ค๐ฆ๐๐ฆ ๐๐ง๐๐ ๐ช๐ฏ ๐ฆ๐ฏ๐๐ฎ๐ฆ๐๐๐ฉ๐ ๐๐ด๐๐ผ ๐๐ฑ๐๐ฉ, ๐ฅ๐ฑ๐๐ฆ๐ ๐๐ฎ๐ฒ๐๐ฉ๐๐ฆ-๐๐ฎ๐ฆ๐๐ป๐๐ฆ๐ ๐ฆ๐ค๐ง๐๐๐ฉ๐ฏ ๐๐ฆ๐๐๐ฉ๐ฅ๐ ๐๐ฎ๐จ๐๐๐ฆ๐๐ฉ๐ค ๐๐น ๐ฎ๐ฐ๐ฉ๐ค-๐ข๐ป๐ค๐ ๐ฟ๐.
๐ฟ ๐๐จ๐ฏ ๐ค๐ป๐ฏ ๐ฅ๐น ๐ฉ๐๐ฌ๐ TFHE ๐ฃ๐ฝ.
๐ค๐ป๐ฏ๐ฆ๐ ๐ฅ๐น
๐ ๐ฉ๐๐ฆ๐ค๐ฆ๐๐ฆ ๐๐ต ๐๐ฎ๐จ๐ฏ๐๐๐น๐ฅ ๐ค๐ช๐ก๐ฆ๐๐ฉ๐ค ๐ฆ๐๐๐๐ฎ๐ง๐๐ฉ๐ฏ๐ ๐ข๐ฒ๐ค ๐๐ฎ๐ฆ๐๐ป๐๐ฆ๐ ๐๐บ ๐ฅ๐ฐ๐ฏ๐ฆ๐ ๐ฆ๐ ๐ฉ ๐๐ณ๐ฏ๐๐ฉ๐ฅ๐ง๐ฏ๐๐ฉ๐ค ๐๐๐ฆ๐ค ๐๐จ๐ ๐ฆ๐ฅ๐๐ฌ๐ผ๐ ๐๐ฎ๐ด๐๐ฎ๐จ๐ฅ๐ผ๐ ๐๐ต ๐ด๐๐ผ๐๐ณ๐ฅ ๐๐ฉ๐ฏ๐๐๐ฎ๐ฑ๐ฏ๐๐ ๐ฆ๐ฏ ๐๐ป๐๐ฉ๐ค๐ฆ ๐ง๐ฏ๐ฆ ๐๐ฉ๐ฅ๐๐ฟ๐๐ฆ๐ ๐๐ช๐ฏ๐๐ง๐๐๐. ๐ฆ๐’๐ ๐ท๐ค๐๐ด ๐ก๐ณ๐๐ ๐๐ฒ๐ฏ๐ ๐ ๐ฏ๐ฐ๐.
๐ ๐ฆ๐๐๐จ๐ฅ๐๐ฉ๐ค๐ ๐ฆ๐ฏ ๐๐ฆ๐ ๐ฆ๐๐๐๐ค๐น๐ฑ๐๐ฉ๐ฏ ๐ฅ๐ฝ๐ค๐ฆ ๐๐๐ฎ๐จ๐ ๐ ๐๐ป๐๐ฆ๐ ๐ ๐ข๐ช๐’๐ ๐๐ช๐๐ฆ๐๐ฉ๐ค ๐ข๐ง๐ฏ ๐ฟ ๐๐ฐ๐๐ค๐ฆ ๐ณ๐ฏ๐๐ผ๐๐๐จ๐ฏ๐ ๐ ๐๐ฎ๐ฆ๐ฏ๐๐ฆ๐๐ฉ๐ค๐ ๐ ๐๐ฎ๐ต๐-๐๐ณ๐๐๐๐ฉ๐ฏ๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐.
๐๐น ๐๐ด๐ ๐ฆ๐ฏ๐๐ผ๐ฆ๐๐๐ฉ๐ ๐ฆ๐ฏ ๐๐ฆ๐ค๐๐ฆ๐ ๐ฉ ๐๐๐ฎ๐ช๐๐๐ผ ๐๐ฌ๐ฏ๐๐ฑ๐๐ฉ๐ฏ ๐ฆ๐ฏ ๐ค๐ช๐ก๐ฆ๐, ๐ ๐ด๐๐ฉ๐ฏ ๐ค๐ช๐ก๐ฆ๐ ๐๐ฎ๐ช๐ก๐ง๐๐ ๐๐ฎ๐ฉ๐๐ฒ๐๐ ๐ง๐๐๐ฉ๐ค๐ฉ๐ฏ๐ ๐๐ฎ๐ฐ ๐ง๐๐ฟ๐๐ฑ๐๐ฉ๐ฏ๐ฉ๐ค ๐ฎ๐ฆ๐๐น๐๐ฆ๐ ๐ช๐ฏ ๐๐ฎ๐ฉ๐๐ช๐๐ฆ๐๐ฉ๐ฏ๐ฉ๐ค ๐ฏ ๐๐ฎ๐ง๐๐ฆ๐๐ฆ๐ ๐ค๐ช๐ก๐ฆ๐, ๐๐น๐ฅ๐ฉ๐ค ๐๐ฎ๐ต๐ ๐๐ฆ๐๐๐ฉ๐ฅ๐, ๐ฏ ๐ณ๐๐ผ ๐๐ช๐๐ฆ๐๐ ๐๐ณ๐ ๐จ๐ ๐ฅ๐ด๐๐ฉ๐ค ๐ค๐ช๐ก๐ฆ๐ ๐ฏ ๐๐ง๐ ๐๐ฆ๐ผ๐ฆ - ๐ท๐ค ๐๐ธ๐๐ฉ๐๐ฆ๐ ๐๐น๐๐ ๐ฉ ๐ฏ๐ช๐ฏ-๐ฅ๐จ๐๐ฉ๐ฅ๐จ๐๐ฆ๐๐ฉ๐ค ๐ท๐๐ฆ๐ฉ๐ฏ๐.
Comments