एक एल्गोरिथ्म कैसे तैयार करें जो संभव खाना पकाने के व्यंजनों का सुझाव देता है?


15

मैंने एक बार अपने पाठ्यक्रम में एक अनुभवी व्यक्ति को एक एल्गोरिथ्म बनाया था जो खाना पकाने की विधि सुझाएगा। सबसे पहले, पागल व्यंजनों के सभी प्रकार सामने आएंगे। फिर, वह वास्तविक व्यंजनों के साथ खाना पकाने के एल्गोरिथ्म को प्रशिक्षित करेगी और अंततः यह बहुत अच्छे लोगों का सुझाव देगी।

मेरा मानना ​​है कि उसने बेयस प्रमेय या क्लस्टरिंग से संबंधित कुछ का उपयोग किया था, लेकिन वह लंबे समय से चली आ रही है और इसलिए एल्गोरिथ्म है। मैंने इंटरनेट पर खोज की है, लेकिन खाना पकाने के व्यंजनों की तलाश में किसी भी प्रकार के परिणाम मिलेंगे, लेकिन वह नहीं जिसकी मुझे तलाश है। तो, मेरा सवाल है:

एक एल्गोरिथ्म को तैयार करने के लिए कौन सी तकनीकों का उपयोग किया जा सकता है (यादृच्छिक रूप से) संभव व्यंजनों का सुझाव देता है (निश्चित व्यंजनों के डेटाबेस का उपयोग किए बिना)?

मैं खाना पकाने के एल्गोरिथ्म की तलाश में क्यों परेशान होऊंगा? खैर, यह अंतर्निहित अवधारणाओं की वास्तविक दुनिया के अनुप्रयोग का एक बहुत अच्छा उदाहरण था, और इस तरह के एल्गोरिथ्म विभिन्न सेटिंग्स में उपयोगी हो सकते हैं जो वास्तविक दुनिया के करीब हैं।


1
यह विभिन्न प्रकार के विकासवादी एल्गोरिथ्म
हेनरी

7
... या हल्की राहत के लिए, यह xkcd से
हेनरी

2
@ हेनरी: और आप फिटनेस के लिए किस फंक्शन का इस्तेमाल करेंगे? यह प्रश्न का मुख्य बिंदु है!
राफेल

1
क्या वोट देने वाला व्यक्ति अपने वोट के पीछे का कारण बता सकता है? बिना कारण बताए मतदान बंद करने से ओपी को अपना प्रश्न सुधारने में मदद नहीं मिलती है।
एलेक्स दस ब्रिंक

1
सवाल सवाल से ज्यादा विदेशी लगते हैं।
Oeufcoque Penteano

जवाबों:


4

हम्म, पुराने व्यंजनों में से नए व्यंजनों को बनाने के लिए बेयस प्रमेय का उपयोग करते हैं। मुझे लगता है कि आप सबसे पहले एल्गोरिथ्म को अलग-अलग अवयवों के रूप में खींचना चाहेंगे, जो यह समझता हो (सुनिश्चित नहीं है कि हम उसके लिए एनएलपी का उपयोग कर रहे हैं, या यदि आप मैन्युअल रूप से डेटा को अपने आप में दर्ज करते हैं, तो यह न तो यहां है और न ही वहां से है।)। ।

मैं कुछ इस तरह की कल्पना करता हूं।

परीक्षण डेटा का विश्लेषण किया गया। अब हमारे पास व्यंजनों की सूची और संभावनाएं हैं कि प्रत्येक घटक दूसरे घटक के साथ, और किस मात्रा में होगा। हमारे पास यह डेटा होने के बाद आपके पास प्रोग्राम को बेतरतीब ढंग से नए व्यंजनों को बनाना होगा। पहले यह सभी ज्ञात अवयवों की एक सूची के माध्यम से चक्र करता है, फिर बेतरतीब ढंग से एक मुख्य घटक का चयन करता है, वहां से यह एक घटक की संभावनाओं का उपयोग करता है जो किसी अन्य घटक को अधिक यादृच्छिक अवयवों में फेंकना शुरू करता है, सभी मात्राओं और संगत के लिए उपयुक्त प्रशिक्षित डेटा से मेल खाता है। सामग्री।

हो सकता है कि मैं सुझाव दूं कि एक नई रेसिपी बनाते समय कार्यक्रम की जानकारी दी जाए, जैसे मुझे कुछ मीठा, या कुछ खट्टा चाहिए, या उदाहरण के लिए कुछ ऐसा जो ज्यादातर गेहूं से बना हो।

उम्मीद है कि यह थोड़ा मदद करता है।


3

लगभग 2000 व्यंजनों की एक व्यापक यूएस-केंद्रित डेटासेट के लिए आप सशस्त्र सेना नुस्खा सेवा देख सकते हैं । यह आपके प्रश्न का उत्तर नहीं देता है, लेकिन आपको वास्तविक दुनिया प्रशिक्षण डेटा प्रदान करेगा।

समस्या के लिए आवश्यकताओं को ज्यादातर लोगों के लिए स्पष्ट करना मुश्किल है और चयनित दृष्टिकोण संभवतः आपके द्वारा सुझाए गए तरीके से फिटनेस को समायोजित करने की संभावना को समाप्त कर देगा। जिनेरल में खाद्य पदार्थ बहुत ही संस्कृति-विशिष्ट हैं और दृष्टिकोण संभवतः व्यापक ट्यूनिंग के बिना बहुत खराब यात्रा करेगा।

इसके लिए केवल सामग्री की एक सूची से अधिक तैयार करने के लिए पर्याप्त अर्धचालक और डोमेन, ज्ञान की आवश्यकता होती है। आखिरकार, वफ़र, कैफे औ लाइट और एक क्रोइसैन और टीरा मिसू के साथ कॉफी-स्वाद वाली आइसक्रीम अन्यथा अप्रभेद्य होगी।


"यह आपके प्रश्न का उत्तर नहीं देता है" - बिल्कुल, इसलिए यह एक टिप्पणी होनी चाहिए। मैं देख रहा हूँ कि आपको अभी तक टिप्पणी करने की अनुमति नहीं है; मैंने धर्म परिवर्तन के लिए झंडी दिखाई।
राफेल

@ राफेल: इसे परिवर्तित नहीं करना, क्योंकि यह बहुत लंबा है और - हालांकि यह एक आदर्श उत्तर नहीं हो सकता है - एक पूरे के रूप में यह समस्या का समाधान करने का प्रयास करता है। अगर आपको लगता है कि यह अनहेल्दी है, तो कृपया इसे वोट करें। पाइका, हालांकि यह नई पाक कला का सबसे उत्पादक स्रोत नहीं हो सकता है, यह एक दिलचस्प - और relatable - समस्या है ... यदि आप इस तरह के एक एल्गोरिथ्म को विकसित करने की बारीकियों पर चर्चा करने के लिए अपने जवाब का विस्तार कर सकते हैं, तो यह अधिक स्वीकार्य हो सकता है।
शोग

3

पकाने की विधि का उपयोग आमतौर पर केस आधारित रीज़निंग सिस्टम के लिए एक उदाहरण अनुप्रयोग के रूप में किया जाता है। इसका उपयोग विकिपीडिया पृष्ठ पर एक उदाहरण के रूप में भी किया जाता है । "केस आधारित रीज़निंग रेसिपी" के लिए एक Google खोज के कई परिणाम मिलते हैं।


1

आप जिस एल्गोरिदम की तलाश कर रहे हैं वह डाकुओं का वर्ग है। उनका उपयोग आमतौर पर एक वर्गीकरण समस्या के अन्वेषण भाग को संभालने के लिए किया जाता है।

घटकों के एक समूह का चयन करने के लिए घटकों के एक सीमित बैग के रूप में व्यंजनों का प्रतिनिधित्व करने के लिए एक मूल बूलियन (सबसे अधिक के 0 गैर मूल्यों के साथ एक वेक्टर) और LinUCB का उपयोग करने के लिए एक मूल दृष्टिकोण होगा। फिर फीडबैक 'लाइक' या 'नॉट लाइक' होगा। बेशक अगर आप एक बाइसेबियन हैं तो आप ट्रूस्किल (Adpredictor वैरिएंट का उपयोग करके) का उपयोग करना पसंद कर सकते हैं।

कुछ कम बुनियादी को रैखिक पृथक्करण के बजाय कर्नेल का उपयोग करना होगा। कर्नेल ucb उस हिस्से को संभालने में मदद कर सकता है। लेकिन कुछ बिंदु पर मुझे लगता है कि यह अल्टिमेट की रासायनिक रचनाओं पर ध्यान देने के लिए उपयोगी हो जाएगा क्योंकि अंत में आप शायद विभिन्न मूल स्वादों के बीच संतुलन हासिल करना चाहते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.