सबसे पहले, मैं एक नोब हूं। मैं एक जानीटर भी हूं जिसने कभी डाइम लेखन कोड नहीं बनाया है। यह सिर्फ कुछ है जो मुझे करना पसंद है। यह मजेदार है :) यह कहा जा रहा है कि, मैंने इस कंसोल आधारित टिक-टेक-टो गेम लिखा है जिसमें प्रत्येक गेम को खोने के लिए पर्याप्त ऐआई नहीं है। (मुझे लगता है कि एआई वह है जिसे इसे बुलाया जाना चाहिए।) यदि कंप्यूटर के लिए बयान बदलते हैं तो इसमें 70 की तरह कुछ है। मैंने 3 int arrays का उपयोग किया:यदि(), और अगर() सी ++ में विकल्प (क्या यह एआई है?)
int L[2], M[2], R[2];
0 = खाली; 1 = एक्स; 2 = ओ;
बोर्ड तब 'दिखता है' जैसे
एल [0] | एम [0] | आर [0]
एल [1] | एम [1] | आर [1]
एल [2] | एम [2] | आर [2]
तो मैं मूल रूप से बाहर हर संभव परिदृश्य मैं की तरह कुछ सोच सकता है लिखा है:
if(M[0]==1 & M[1]==1 & M[2]==0){M[2] = 2;}//here the computer prevents a win
else if(L[0] ==2&M[1]==2&R[2]==0){R[2]=2;}//here the computer wins
//and so on....68 more times!
मैं अपने प्रश्न (रों) है (हैं) लगता है:
वहाँ एक बेहतर तरीका है?
क्या कोड के कम लाइनों के साथ एक ही परिणाम प्राप्त करने का कोई तरीका है?
क्या यह आर्टिफिशियल इंटेलिजेंस माना जाता है?
एक छवि-मैक्रो के रूप में संभवतः एक टिक-टैक-टो-प्लेइंग एल्गोरिदम का एक दिलचस्प कार्यान्वयन, पीएनजी छवि को http://xkcd.com/832/ (यानी wget http: //imgs.xkcd पर पढ़ा जाएगा। कॉम/कॉमिक्स/tic_tac_toe_large.png) और इससे अपना जवाब निकालें ... कोई भी लेने वाला? –
मज़ेदार रहें! स्पष्ट रूप से, प्रतिक्रियाओं के आधार पर, आपके लिए सीखने के लिए बहुत सी चीजें हैं। इसकी सुंदरता यह है कि नीचे फैंसी buzzwords में से एक सीखना और भी खेलने के लिए और अधिक सामान खुलता है। समस्या के कुछ दृष्टिकोण खोजने के लिए "टिक-टैक-टो एआई" पर एक खोज करें। और इसलिए आप जानते हैं, सही प्रतिक्रिया है "क्या यह प्रोग्राम करने का एक बेहतर तरीका है?" है "हाँ, मेरा रास्ता।" :) – gregg
जीतने के लिए खेल खेल रहे कंप्यूटरों का अध्ययन कृत्रिम बुद्धि के क्षेत्र का हिस्सा है। खेल वास्तव में कृत्रिम बुद्धि में पहला केस अध्ययन किया गया था। कहा जा रहा है कि, हर संभव कदम के लिए एक डिब्बाबंद प्रतिक्रिया प्रदान करना वास्तव में एआई नहीं है। :-) आप बुद्धिमानी प्रदान कर रहे हैं; कंप्यूटर खुद के लिए "figuring" नहीं है। किसी भी प्रारंभिक एआई पाठ्यपुस्तक के बारे में कॉलिन के उत्तर में वर्णित मिनिमैक्स एल्गोरिदम पर चर्चा होगी। –