학교 수학 동아리 시간에 주제탐구를 해야하는데 인공지능 냉장고가 냉장고 속 식품으로 요리 추천해줄 때 수학적 원리가 있나요? 어떤 원리로 요리를 추천해주는지 알려주세요ㅠㅠ 또 이게 식품영양학과랑 관련이 있는 주제라고 봐도 될까요…?
냉장고 안의 식품들을 집합으로 표현할 수 있어요.
식재료 목록을 전체 100개라고 하면, 각 식재료의 유무를 0과 1로 표현 → (1,0,0,1,0,...)
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}
즉, 내 냉장고와 레시피의 거리가 가까울수록 “만들 수 있는 요리”에 가깝다고 보는 거예요.
“현재 냉장고 속 재료만으로 만들 수 있는 요리 중에서 가장 만족도가 높은 요리를 선택하라”는 문제는
목적: 맛, 영양, 조리시간 등을 점수화 → 최대화
이는 선형계획법(linear programming), 정수계획법(integer programming) 같은 수학 기법으로 모델링할 수 있습니다.
“이 사용자가 어떤 요리를 좋아할까?”는 확률적 모델로 풀어요.
P(요리∣재료)=P(재료∣요리)P(요리)P(재료)P(\text{요리} | \text{재료}) = \frac{P(\text{재료}|\text{요리})P(\text{요리})}{P(\text{재료})}
P(요리∣재료)=P(재료)P(재료∣요리)P(요리)
즉, 특정 재료가 냉장고에 있을 때 그 재료가 자주 쓰이는 요리를 우선 추천하는 거예요.
요리를 노드(요리), 재료를 **엣지(재료 연결)**로 보면 그래프 구조가 됩니다.
예: “계란 → 오므라이스” / “계란 → 계란찜” / “양파 → 카레” …
이때 그래프에서 연결 중심성(centrality)이 높은 요리가 추천 우선순위에 오를 수 있어요.
거리/유사도 계산: 냉장고 속 재료와 레시피의 유사도 비교
최적화 문제: 조건(재료 제한) 속에서 만족도 최대화
확률·통계: 사용자 취향, 가능성 높은 요리 추천