1. 데이터 표현 (벡터와 집합론)
냉장고 안의 식품들을 집합으로 표현할 수 있어요.
예: {계란, 우유, 양파, 당근}
수학적으로는 원소를 가진 집합이 되는 거죠.
또 다른 방법은 벡터화예요.
식재료 목록을 전체 100개라고 하면, 각 식재료의 유무를 0과 1로 표현 → (1,0,0,1,0,...)
이는 벡터 공간에서의 한 점이 됩니다.
2. 유사도 계산 (거리 개념)
AI가 “요리 추천”을 하려면 내 냉장고 속 식품 벡터와 레시피 벡터를 비교합니다.
가장 흔히 쓰는 수학적 개념이 코사인 유사도(Cosine Similarity)
similarity(A,B)=A⋅B∥A∥∥B∥\text{similarity}(A,B) = \frac{A \cdot B}{\|A\|\|B\|}
similarity(A,B)=∥A∥∥B∥A⋅B
두 벡터의 내적을 이용해 얼마나 비슷한 방향을 가지는지 측정합니다.
또 다른 방법은 유클리드 거리:
d(A,B)=∑(ai−bi)2d(A,B) = \sqrt{\sum (a_i - b_i)^2}
d(A,B)=∑(ai−bi)2
즉, 내 냉장고와 레시피의 거리가 가까울수록 “만들 수 있는 요리”에 가깝다고 보는 거예요.
3. 최적화 (조건 만족)
수학에서는 제약 조건 최적화 문제가 됩니다.
“현재 냉장고 속 재료만으로 만들 수 있는 요리 중에서 가장 만족도가 높은 요리를 선택하라”는 문제는
조건: 필요한 재료 ⊆ 냉장고 재료
목적: 맛, 영양, 조리시간 등을 점수화 → 최대화
이는 선형계획법(linear programming), 정수계획법(integer programming) 같은 수학 기법으로 모델링할 수 있습니다.
4. 확률과 통계 (추천 정확도 향상)
“이 사용자가 어떤 요리를 좋아할까?”는 확률적 모델로 풀어요.
예를 들어 베이즈 정리:
P(요리∣재료)=P(재료∣요리)P(요리)P(재료)P(\text{요리} | \text{재료}) = \frac{P(\text{재료}|\text{요리})P(\text{요리})}{P(\text{재료})}
P(요리∣재료)=P(재료)P(재료∣요리)P(요리)
즉, 특정 재료가 냉장고에 있을 때 그 재료가 자주 쓰이는 요리를 우선 추천하는 거예요.
5. 그래프 이론 (네트워크 구조)
요리를 노드(요리), 재료를 **엣지(재료 연결)**로 보면 그래프 구조가 됩니다.
예: “계란 → 오므라이스” / “계란 → 계란찜” / “양파 → 카레” …
이때 그래프에서 연결 중심성(centrality)이 높은 요리가 추천 우선순위에 오를 수 있어요.
정리
인공지능 냉장고 요리 추천의 수학적 원리:
집합론 & 벡터공간: 재료를 수학적으로 표현
거리/유사도 계산: 냉장고 속 재료와 레시피의 유사도 비교
최적화 문제: 조건(재료 제한) 속에서 만족도 최대화
확률·통계: 사용자 취향, 가능성 높은 요리 추천
그래프 이론: 재료-요리 네트워크 분석