इस प्रोजेक्ट के बारे में

MarkovJunior एक प्रोबेबिलिस्टिक प्रोग्रामिंग भाषा है जिसमें प्रोग्राम रीराइट नियमों के संयोजन होते हैं और अनुमान कंस्ट्रेंट प्रोपगेशन के माध्यम से किया जाता है। इसका नाम गणितज्ञ आंद्रेय आंद्रेयेविच मार्कोव के नाम पर रखा गया है, जिन्होंने मार्कोव एल्गोरिदम परिभाषित किए थे। अपने मूल रूप में, एक MarkovJunior प्रोग्राम रीराइट नियमों की एक क्रमबद्ध सूची है। उदाहरण के लिए, MazeBacktracker मॉडल दो नियमों का उपयोग करता है: `RBB=GGR` और `RGG=WWR`। प्रत्येक निष्पादन चरण पर, इंटरप्रेटर ग्रिड पर मेल खाने वाला पहला नियम ढूंढता है, सभी मेल ढूंढता है, और एक यादृच्छिक नियम लागू करता है। इंटरप्रेटर तब रुक जाता है जब कोई नियम मेल नहीं खाता। प्रोबेबिलिस्टिक अनुमान भविष्य की स्थितियों पर कंस्ट्रेंट लगाने की अनुमति देता है, केवल उन रनों को उत्पन्न करता है जो कंस्ट्रेंट भविष्य की ओर ले जाते हैं। उदाहरण के लिए, सोकोबन नियमों में अनुमान एजेंटों को क्रेट को निर्दिष्ट आकार में व्यवस्थित करने के लिए बनाता है। रिपॉजिटरी में डंगऑन, आर्किटेक्चर, पज़ल और सिमुलेशन के लिए कई प्रोबेबिलिस्टिक जनरेटर शामिल हैं। मुख्य अवधारणाओं में शामिल हैं: - **रीराइट नियम**: सरल नियम जैसे `(B=W)` यादृच्छिक काले वर्गों को सफेद में बदलते हैं। अधिक जटिल नियम जैसे `(WBB=WAW)` एक पंक्ति कोड के साथ मेज़ उत्पन्न करते हैं। वाइल्डकार्ड (`*`) इनपुट में किसी भी रंग या अपरिवर्तित आउटपुट की अनुमति देते हैं। - **रूलनोड्स**: कई नियमों को जोड़ते हैं, जैसे लूप-इरेज़्ड रैंडम वॉक या एल्डस-ब्रॉडर मेज़ जनरेशन के लिए। - **सीक्वेंस नोड्स**: रूलनोड्स को एक के बाद एक चलाते हैं, जैसे नदी घाटियों के लिए वोरोनोई आरेख बनाना। - **मार्कोव नोड्स**: पिछले नोड्स पर लौटने की अनुमति देते हैं, जिससे बॉब निस्ट्रॉम के डंगऑन जनरेशन जैसे एल्गोरिदम सक्षम होते हैं। - **अनुमान**: स्थितियों को जोड़ने के लिए कंस्ट्रेंट प्रोपगेशन (यूनिडायरेक्शनल या बिडायरेक्शनल) का उपयोग करता है, सख्ती के लिए तापमान पैरामीटर के साथ। यह सोकोबन जैसे पज़ल हल कर सकता है या हैमिल्टनियन पथ उत्पन्न कर सकता है। अतिरिक्त सामग्री में XML सिंटैक्स अवलोकन, उच्च-रिज़ॉल्यूशन स्क्रीनशॉट और अनौपचारिक तकनीकी नोट्स शामिल हैं। परियोजना प्रोसीजरल जनरेशन के लिए प्रोग्राम संश्लेषण और उदाहरणों से मॉडल संश्लेषण जैसी खुली समस्याओं पर चर्चा करती है। यह मार्कोव एल्गोरिदम, इमेजग्राम, REFAL, डिज्क्स्ट्रा मैप्स और A* खोज जैसे क्लासिक एल्गोरिदम से प्रभावों का उल्लेख करती है। इंटरप्रेटर मल्टीडायमेंशनल बॉयर-मूर एल्गोरिदम के साथ तेज़ पैटर्न मिलान का उपयोग करता है और ग्रेडिएंट-आधारित अनुकूलन के लिए स्टोकेस्टिक रिलैक्सेशन का समर्थन करता है।