समान और विषम संख्याओं के बीच अंतर करने के लिए एक न्यूरल नेटवर्क को प्रशिक्षित करें


14

प्रश्न: क्या किसी एनएन को प्रशिक्षित करना संभव है कि वह विषम और सम संख्याओं के बीच अंतर कर सके और केवल संख्याओं को इनपुट के रूप में उपयोग कर सके?

मेरे पास निम्नलिखित डेटासेट हैं:

Number Target
1      0
2      1
3      0
4      1
5      0
6      1
...   ...
99     0
100    1

मैंने दो इनपुट न्यूरॉन्स के साथ एक एनएन को प्रशिक्षित किया (एक चर संख्या होने के नाते, दूसरा पूर्वाग्रह न्यूरॉन होने के नाते), छिपे हुए परत में नौ न्यूरॉन्स और एक आउटपुट न्यूरॉन एक बहुत ही सरल आनुवंशिक एल्गोरिथ्म का उपयोग करते हुए: प्रत्येक युग में, वजन के दो सेट '' " एक दूसरे के खिलाफ; उच्चतम त्रुटि वाला व्यक्ति हार जाता है और इसे विजेता के संशोधित संस्करण द्वारा बदल दिया जाता है।

स्क्रिप्ट आसानी से AND, OR और XOR ऑपरेटरों जैसी सरल समस्याओं को हल करती है लेकिन विषम और सम संख्याओं को वर्गीकृत करने की कोशिश करते हुए अटक जाती है। अभी जो सबसे अच्छा करने में कामयाब रहा, वह 100 में से 53 नंबरों की पहचान करना है और इसमें कई घंटे लग गए। मैं सामान्य करता हूं या नहीं, इनपुट से कोई फर्क नहीं पड़ता है।

अगर मैं धोखा देना चाहता था तो मैं इनपुट के रूप में एनएन को% 2 को पूर्व-संसाधित कर सकता था और% 2 को खिला सकता था, लेकिन मैं ऐसा नहीं करना चाहता; NN मॉडुलो ऑपरेटर (मेरा मानना ​​है ) सहित हर फ़ंक्शन को अनुमानित करने में सक्षम होना चाहिए । मैं क्या गलत कर रहा हूं?


1
ऐसा लगता है कि आप एक तंत्रिका नेटवर्क के साथ "मॉड" फ़ंक्शन को अनुमानित करने की कोशिश कर रहे हैं। यह समस्या की मेरी पसंदीदा कक्षाओं में से एक है - "जब एक चिकन को एक गोले के रूप में अनुमानित करना सही है"। परिमित तत्व मॉडल इसके लिए एक महान स्थान हैं। तंत्रिका नेटवर्क के इस बारे में पूछने पर, मैं "आधार" के संदर्भ में सोचना पसंद करता हूं। हम जानते हैं कि सटीक उत्तर में 2 से विभाजन है, और ट्रंकेशन है जबकि क्लासिक नेटवर्क वेक्टर गुणा और सिग्मोइड फ़ंक्शन है। एनएन के प्रक्षेप के लिए सबसे अच्छा उपयोग किया जाता है, एक्सट्रपलेशन नहीं - तो क्या आपका डोमेन बाध्य है?
EngrStudent

4
मुझे लगता है कि आपका प्रश्न वर्तमान में स्वीकृत उत्तर की तुलना में अधिक गहरा है। निम्नलिखित सामान्यीकरण पर विचार करें: एक तंत्रिका नेटवर्क का निर्माण करें (केवल उन ऑपरेशनों का उपयोग करके जो मस्तिष्क में होने की उम्मीद की जा सकती है) जो n mod k की गणना करेगा, जहां n और k इसके इनपुट हैं। मुझे आश्चर्य है कि अगर यह निश्चित आकार के फीडफोवर्ड नेटवर्क के साथ संभव है।
user66081

जवाबों:


7

किसी भी मशीन सीखने के कार्य के साथ, आपके इनपुट का प्रतिनिधित्व एक महत्वपूर्ण भूमिका निभाता है कि आप कितनी अच्छी तरह सीखते और सामान्य करते हैं।

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

मैं निम्नलिखित कोशिश करूँगा:

  1. एक बेहतर लर्निंग अल्गोरिद्म (बैक-प्रोपगेशन / ग्रेडिएंट डिसेंट और उसके वेरिएंट) आज़माएँ।

  2. एक निश्चित लंबाई परिशुद्धता का उपयोग करके बाइनरी में संख्याओं का प्रतिनिधित्व करने का प्रयास करें।

  3. यदि आपका इनपुट प्रतिनिधित्व एक बी-बिट संख्या है, तो मैं यह सुनिश्चित करूंगा कि आपका प्रशिक्षण सेट छोटी या बड़ी संख्या के लिए पक्षपाती न हो। ऐसी संख्याएँ हैं जो समान रूप से हैं, और स्वतंत्र रूप से श्रेणी से यादृच्छिक पर चुनी गई हैं ।[0,2b1]

  4. जैसा कि आपने किया है, एक मल्टी-लेयर नेटवर्क का उपयोग करें (पहले 2 लेयर्स का प्रयास करें: यानी, छिपी + आउटपुट, अधिक लेयर्स का उपयोग करने से पहले)।

  5. एक अलग प्रशिक्षण + परीक्षण सेट का उपयोग करें। प्रशिक्षण सेट पर अपने प्रदर्शन का मूल्यांकन न करें।


मैं सोच रहा था कि प्राकृतिक लॉगरिथम की गणना करने वाले इनपुट पर परिवर्तन करना मूल्यवान हो सकता है।
EngrStudent

ये हो सकता है। वास्तव में, यहां उत्तर जानना (modulo 2 सिर्फ अंतिम बिट है), कच्चे नंबर का द्विआधारी प्रतिनिधित्व बहुत अच्छा काम करेगा। बस आउटपुट के अंतिम बिट को आउटपुट से कनेक्ट करें। :) यह देखना दिलचस्प होगा कि क्या मोडुलो (नॉट-पॉवर ऑफ -2) तंत्रिका नेटवर्क के साथ अच्छा काम करता है। यह भी काम नहीं कर सकता है।
विमल

हाय @ विमल, उत्तर के लिए धन्यवाद। क्या आप जानते हैं कि क्या बाइनरी में इनपुट का प्रतिनिधित्व करना हमेशा एक अच्छा विचार है या यह सिर्फ इस विशिष्ट मामले में सहायक होने के लिए हुआ है?
एडगर डर्बी

@NnoysParrot - कोई "चांदी की गोलियां" नहीं हैं। कोई एकल सार्वभौमिक सर्वश्रेष्ठ प्रतिनिधित्व नहीं है क्योंकि सर्वश्रेष्ठ का मतलब अलग और पारस्परिक रूप से अनन्य चीजें हो सकती हैं। बाइनरी प्रतिनिधित्व इस मामले में उपयोगी है, लेकिन बहुत सारे हैं जहां यह नहीं है। दृश्य डेटा पर गहन-शिक्षण पर विचार करें। यदि आपके पास प्रत्येक अद्वितीय इनपुट बिट के लिए एक अलग इनपुट न्यूरॉन है, तो आपको 5 मेगापिक्सेल छवि के लिए लगभग 256 * 5.2 मिलियन इनपुट की आवश्यकता होगी।
EngrStudent

2
यहां @EngrStudent से सहमत हैं। बहुत से पूर्व ज्ञान एक उपयुक्त इनपुट प्रतिनिधित्व और साथ ही तंत्रिका नेटवर्क टोपोलॉजी को डिजाइन करने में चला जाता है। चूंकि एक तंत्रिका नेटवर्क एक डिजिटल सर्किट के लगभग एक निरंतर, अलग-अलग प्रकार के बराबर है, इसलिए आप इसके अलावा / गुणा / भाग / मोडुलो / आदि के लिए डिजिटल सर्किट से प्रेरणा का उपयोग करके नेटवर्क की टोपोलॉजी को अनुकूलित कर सकते हैं। टोपोलॉजी पर यह (पूरी तरह से कनेक्टेड परत के बजाय) पहले तेज प्रशिक्षण, बेहतर सामान्यीकरण आदि के लिए ले जा सकता है, बहुत कुछ इस तरह से कि प्राकृतिक चित्रों के लिए कॉननेट ने कितना अच्छा काम किया।
विमल

6

विषम संख्याओं और सम संख्याओं को वर्गीकृत करना सीखना एक कठिन समस्या है। एक साधारण पैटर्न अनंत बार दोहराता रहता है। 2,4,6,8 ..... 1,3,5,7 .....

नॉनलाइनियर एक्टिवेशन फंक्शन जैसे पाप (x) और कॉस (x) समान व्यवहार करते हैं। इसलिए, यदि आप अपने सक्रियण कार्यों जैसे तान या रेलू के बजाय पाप और कॉस को लागू करने के लिए अपने न्यूरॉन्स को बदलते हैं, तो मुझे लगता है कि आप एकल न्यूरॉन का उपयोग करके इस समस्या को काफी आसानी से हल कर सकते हैं।

रैखिक परिवर्तन हमेशा नॉनलाइनियर परिवर्तनों से पहले होते हैं। इसलिए एक एकल न्यूरॉन सीखने के पाप को समाप्त कर देगा (कुल्हाड़ी + बी) जो कि ए और बी के सही संयोजन के लिए 0 की आउटपुट देगा और 1 को वांछित आवृत्ति में वैकल्पिक रूप से हम चाहते हैं जो इस मामले में 1 है।

मैंने पहले कभी अपने तंत्रिका नेटवर्क में पाप या कॉस की कोशिश नहीं की। इसलिए, यदि यह एक बहुत बुरा विचार है तो माफी मांगता है।


5

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

input = [
  [0, 0, 0, 1], // 1
  [0, 0, 1, 0], // 2
  [0, 0, 1, 1], // 3
  [0, 1, 0, 0]  // 4
]
output = [
  [1, 0], // odd
  [0, 1], // even
  [1, 0], // odd
  [0, 1]  // even
]

उम्मीद है की यह मदद करेगा!


1
आपके उत्तर के आधार पर मैंने यहां मॉडल बनाया है stackoverflow.com/questions/53671491/…
prosti

उत्तम! यह दिखाता है कि किसी भी एमएल एल्गोरिथ्म के लिए डेटा का प्रतिनिधित्व कैसे महत्वपूर्ण है। जब मैंने दशमलव प्रतिनिधित्व का उपयोग किया, तो मुझे बिल्कुल 50% सटीकता प्राप्त हुई, लेकिन इस विचार का पालन करते हुए, मुझे अनदेखी डेटा पर भी 100% सटीकता प्राप्त हुई। धन्यवाद। यहां लागू किया गया है: colab.research.google.com/drive/…
Kaushal28

2
बाइनरी में, यहां तक ​​कि संख्या हमेशा 0 में समाप्त होती है और विषम संख्या हमेशा 1 में समाप्त होती है। यह आश्चर्य की बात नहीं है कि मॉडल काम करता है, क्योंकि यह संभावना है कि यह सिर्फ आखिरी अंक के मूल्य को थूकना सीखा है।
सिंक्रोनास

2

मैं यहाँ मिलता हूँ जहाँ इसी तरह की समस्या से जूझ रहा था। इसलिए मैं वही लिखता हूं जो मैंने प्रबंधित किया है।

जहां तक ​​मुझे पता है कि एक परत परसेप्ट्रॉन हर समस्या को हल करने में सक्षम है, जो कि सीधी रेखा का उपयोग करके किसी भी ज्यामिति में वस्तुओं को विभाजित करने के लिए सरल बनाया जा सकता है। और इस तरह की समस्या है। यदि आप कागज पर द्विआधारी प्रतिनिधित्व के अंतिम बिट आकर्षित करते हैं तो आप लाइन भी खींच सकते हैं, और सभी ऑड नंबर एक तरफ हैं, और यहां तक ​​कि दूसरे पर भी। उसी कारण से एक परत नेटवर्क के साथ xor समस्या को हल करना असंभव है।

ठीक है। यह समस्या बहुत सरल लगती है, इसलिए सक्रियण फ़ंक्शन के रूप में हीविसाइड कदम उठाएं। जब मैंने अपने नंबर के साथ थोड़ा खेला तो मुझे एहसास हुआ कि यहाँ समस्या पूर्वाग्रह के साथ है। मैं थोड़ा सा Google करता हूं, और जो मैंने पाया वह यह है कि यदि आप ज्यामिति प्रतिनिधित्व के साथ बने रहते हैं, तो पूर्वाग्रह आपको समन्वय प्रणाली में सक्रियण के स्थान को बदलने में सक्षम बनाता है।

बहुत शैक्षिक समस्या है


1

यह सर्वविदित है कि लॉजिक गेट्स न, और, या सभी को बहुत ही सरल तंत्रिका नेटवर्क (एनएन) के साथ किया जा सकता है, और आप इनपुट के रूप में बाइनरी नंबर का उपयोग करके लॉजिक गेट्स के साथ एक पूर्ण अंकगणितीय कैलकुलेटर का निर्माण कर सकते हैं। इसलिए आपको आधार 2 में व्यक्त n और k संख्याओं के लिए n modulo k की गणना करने के लिए NN बनाने में सक्षम होना चाहिए।

यदि आप एक निश्चित k संख्या के लिए n modulo k की गणना करना चाहते हैं (उदाहरण k = 4 के लिए) तो आप वास्तव में एक अत्यंत सरल NN बना सकते हैं जो ऐसा करता है: आधार k में इनपुट संख्या n को व्यक्त करें, और निम्नतम रैंक के अलावा अन्य सभी अंकों को अनदेखा करें। अंक, और आपके पास जवाब है!


0

इनपुट में स्पष्ट "मॉड 2" का उपयोग करने वाले एक विचार को पिक्सेल के अनुक्रम के रूप में संख्या को संहिताबद्ध किया जा सकता है, फिर समस्या को यह पहचानने के लिए कि क्या खंड को दो समान खंडों में विभाजित किया जा सकता है। यह एक मशीन विज़न समस्या है और जिसे पारंपरिक नेटवर्क द्वारा सीखा जा सकता है।

दूसरे चरम पर, यदि संख्या को एक फ्लोट के रूप में संग्रहीत किया जाता है, तो यह मानने के लिए कि प्रश्न कम हो जाता है (या सामान्य हो जाता है) कि फ्लोट संख्या लगभग पूर्णांक है।


दिलचस्प विचार। क्या आप विस्तार से बता सकते हैं कि आप पिक्सेल में संख्या को कैसे कोडित करना चाहेंगे?
Jan Kukacka

ठीक है, सोचो "आधार 1"। N को संहिताबद्ध करने के लिए, n पिक्सल्स वाली काली पट्टी खींचें। मेरा अनुमान है कि दृढ़ संकल्प गुठली एक विषम और पिक्सेल की एक समान संख्या के बीच अंतर को नोटिस करेगी।
अरिवेरो

0

मैंने यहां इस तरह का नेटवर्क बनाया है

प्रतिनिधित्वillilliam Gottschalk दिया नींव था।

यह सिर्फ 32 इनपुट के साथ पहली छिपी परत में 1 न्यूरॉन का उपयोग करता है। आउटपुट परत में 0 और 1 के एक-गर्म एन्कोडिंग के लिए सिर्फ 2 न्यूरॉन्स हैं।


0

मेरा समाधान

import numpy as np


def layer_1_z(x, w1, b1):
    return 1 / w1 * x + b1


def layer_2(x, w1, b1, w2, b2):
    y1 = layer_1_z(x, w1, b1)
    y2 = y1 - np.floor(y1)
    return w2 * y2 + b2


def layer_2_activation(x, w1, b1, w2, b2):
    y2 = layer_2(x, w1, b1, w2, b2)
    # return 1 / (1 + np.exp(-y2))
    return (y2 > 0) * 1


def loss(param):
    w1, b1, w2, b2 = param
    x = np.arange(0, 1000, 1)
    y_hat = layer_2_activation(x, w1, b1, w2, b2)
    y_true = (x % 2 > 0) * 1
    return sum(np.square(y_hat - y_true))


# %%

from sko.GA import GA

ga = GA(func=loss, n_dim=4, size_pop=50, max_iter=100, lb=[1, 0, 1, 0], ub=[32, 1, 2, 1], precision=1)
best_x, best_y = ga.run()
print('best_x:', best_x, '\n', 'best_y:', best_y)

for x in range(1001, 1200):
    y_hat = layer_2_activation(x, *best_x)
    print('input:{},divide by 2:{}'.format(x, y_hat == 0))

इनपुट: 1001, 2 से विभाजित करें: गलत इनपुट: 1002, 2 से विभाजित करें: सच्चा इनपुट: 1003, 2 से विभाजित करें: गलत इनपुट: 1004, 2 से विभाजित: सही इनपुट: 1005, 2 से विभाजित करें: गलत इनपुट: 1006 से विभाजित करें 2 से: सही इनपुट: 1007, 2 से विभाजित करें: गलत इनपुट: 1008, 2 से विभाजित करें: सच्चा इनपुट: 1009, 2 से विभाजित करें: गलत इनपुट: 1010, 2 से विभाजित करें: सही इनपुट: 1011, 2 से विभाजित करें: गलत इनपुट : 1012, 2 से विभाजित करें: सच्चा इनपुट: 1013, 2 से विभाजित करें: गलत इनपुट: 1014, 2 से विभाजित करें: सच्चा इनपुट: 1015, 2 से विभाजित करें: गलत इनपुट: 1016, 2 से विभाजित करें: सही इनपुट: 1017, से विभाजित करें 2: गलत इनपुट: 1018, 2 से विभाजित करें: सच्चा इनपुट: 1019, 2 से विभाजित करें: गलत इनपुट: 1020, 2 से विभाजित करें: सच्चा इनपुट: 1021, 2 से विभाजित करें: गलत इनपुट: 1022, 2 से विभाजित करें: सही इनपुट: 1023, 2 से विभाजित करें: गलत इनपुट: 1024, 2 से विभाजित करें: सही इनपुट: 1025, 2 से विभाजित करें: गलत इनपुट: 1026, 2 से विभाजित करें: सच्चा इनपुट: 1027, 2 से विभाजित करें: गलत इनपुट: 1028, 2 से विभाजित करें : ट्रू इनपुट: 1029, 2 से भाग दें:गलत इनपुट: 1030, 2 से विभाजित करें: सच्चा इनपुट: 1031, 2 से विभाजित करें: गलत इनपुट: 1032, 2 से विभाजित करें: सच्चा इनपुट: 1033, 2 से विभाजित करें: गलत इनपुट: 1034, 2 से विभाजित करें: सही इनपुट: 1035, 2 से विभाजित करें: गलत इनपुट: 1036, 2 से विभाजित करें: सही इनपुट: 1037, 2 से विभाजित करें: गलत इनपुट: 1038, 2 से विभाजित करें: ट्रू इनपुट: 1039, 2 से विभाजित करें: गलत इनपुट: 1040, 2 से विभाजित करें: True इनपुट: १०४१, डिवाइड २: फाल्स इनपुट: १०४२, डिवाइड २: ट्रू इनपुट: १०४३, डिवाइड २: फॉल्स इनपुट: १०४४, डिवाइड २: ट्रू इनपुट: १०४५, डिवाइड बाय २: फॉल्स इनपुट: १०४६, डिवाइड 2 से: सही इनपुट: 1047, 2 से विभाजित करें: गलत इनपुट: 1048, 2 से विभाजित करें: सही इनपुट: 1049, 2 से विभाजित करें: गलत इनपुट: 1050, 2 से विभाजित करें: सही इनपुट: 1051, 2 से विभाजित करें: गलत इनपुट : 1052, 2 से विभाजित करें: सच्चा इनपुट: 1053, 2 से विभाजित करें: गलत इनपुट: 1054, 2 से विभाजित करें: सच्चा इनपुट: 1055, 2 से विभाजित करें: गलत इनपुट: 1056, 2 से विभाजित करें: सही इनपुट: 1057, से विभाजित करें 2: गलत इनपुट: 1058, 2 से विभाजित करें:सच्चा इनपुट: 1059, 2 से विभाजित करें: गलत इनपुट: 1060, 2 से विभाजित करें: सही इनपुट: 1061, 2 से विभाजित करें: गलत इनपुट: 1062, 2 से विभाजित करें: सही इनपुट: 1063, 2 से विभाजित करें: गलत इनपुट: 1064, 2 से विभाजित करें: सच्चा इनपुट: 1065, 2 से विभाजित करें: गलत इनपुट: 1066, 2 से विभाजित करें: सही इनपुट: 1067, 2 से विभाजित करें: गलत इनपुट: 1068, 2 से विभाजित करें: सही इनपुट: 1069, 2 से विभाजित करें: गलत इनपुट इनपुट: 1070, 2 से विभाजित करें: सही इनपुट: 1071, 2 से विभाजित करें: गलत इनपुट: 1072, 2 से विभाजित करें: सच्चा इनपुट: 1073, 2 से विभाजित करें: गलत इनपुट: 1074, 2 से विभाजित करें: सही इनपुट: 1075, विभाजित करें 2 द्वारा: गलत इनपुट: 1076, 2 से विभाजित करें: सही इनपुट: 1077, 2 से विभाजित करें: गलत इनपुट: 1078, 2 से विभाजित करें: सही इनपुट: 1079, 2 से विभाजित करें: गलत इनपुट: 1080, 2 से विभाजित: सही इनपुट : 1081, 2 से विभाजित करें: गलत इनपुट: 1082, 2 से विभाजित करें: सच्चा इनपुट: 1083, 2 से विभाजित करें: गलत इनपुट: 1084, 2 से विभाजित करें: सही इनपुट: 1085, 2 से विभाजित करें: गलत इनपुट: 1086, से विभाजित करें 2: सही इनपुट: 1087, 2 से विभाजित करें:गलत इनपुट: 1088, 2 से विभाजित करें: सही इनपुट: 1089, 2 से विभाजित करें: गलत इनपुट: 1090, 2 से विभाजित करें: ट्रू इनपुट: 1091, 2 से विभाजित करें: गलत इनपुट: 1092, 2 से विभाजित करें: सही इनपुट: 1093, 2 से विभाजित करें: गलत इनपुट: 1094, 2 से विभाजित करें: सच्चा इनपुट: 1095, 2 से विभाजित करें: गलत इनपुट: 1096, 2 से विभाजित करें: सच्चा इनपुट: 1097, 2 से विभाजित करें: गलत इनपुट: 1098, 2 से विभाजित करें: True इनपुट: 1099, 2 से विभाजित करें: गलत इनपुट: 1100, 2 से विभाजित करें: सही इनपुट: 1101, 2 से विभाजित करें: गलत इनपुट: 1102, 2 से विभाजित करें: सही इनपुट: 1103, 2 से विभाजित: गलत इनपुट: 1104, से विभाजित करें 2 से: सही इनपुट: 1105, 2 से विभाजित करें: गलत इनपुट: 1106, 2 से विभाजित करें: सही इनपुट: 1107, 2 से विभाजित करें: गलत इनपुट: 1108, 2 से विभाजित करें: सही इनपुट: 1109, 2 से विभाजित: गलत इनपुट : 1110, 2 से विभाजित करें: सच्चा इनपुट: 1111, 2 से विभाजित करें: गलत इनपुट: 1112, 2 से विभाजित करें: सही इनपुट: 1113, 2 से विभाजित करें: गलत इनपुट: 1114, 2 से विभाजित करें: ट्रू इनपुट: 1115, से विभाजित करें 2: गलत इनपुट: 1116, 2 से विभाजित करें:सच्चा इनपुट: 1117, 2 से विभाजित करें: गलत इनपुट: 1118, 2 से विभाजित करें: सही इनपुट: 1119, 2 से विभाजित करें: गलत इनपुट: 1120, 2 से विभाजित करें: सही इनपुट: 1121, 2 से विभाजित करें: गलत इनपुट: 1122, से विभाजित करें। 2 से विभाजित करें: सही इनपुट: 1123, 2 से विभाजित करें: गलत इनपुट: 1124, 2 से विभाजित करें: सही इनपुट: 1125, 2 से विभाजित करें: गलत इनपुट: 1126, 2 से विभाजित करें: सही इनपुट: 1127, 2 से विभाजित करें: गलत इनपुट इनपुट: ११२:, डिवाइड २: ट्रू इनपुट: ११२ ९, डिवाइड २: फाल्स इनपुट: ११३०, डिवाइड २: ट्रू इनपुट: ११३१, डिवाइड २: फाल्स इनपुट: ११३२, डिवाइड २: ट्रू इनपुट: ११३३, डिवाइड 2 द्वारा: गलत इनपुट: 1134, 2 से विभाजित करें: सही इनपुट: 1135, 2 से विभाजित करें: गलत इनपुट: 1136, 2 से विभाजित करें: सही इनपुट: 1137, 2 से विभाजित करें: गलत इनपुट: 1138, 2 से विभाजित करें: सही इनपुट : 1139, 2 से विभाजित करें: गलत इनपुट: 1140, 2 से विभाजित करें: सच्चा इनपुट: 1141, 2 से विभाजित करें: गलत इनपुट: 1142, 2 से विभाजित करें: सच्चा इनपुट: 1143, 2 से विभाजित करें: गलत इनपुट: 1144, से विभाजित करें 2: सही इनपुट: 1145, 2 से विभाजित करें:गलत इनपुट: 1146, 2 से विभाजित करें: सही इनपुट: 1147, 2 से विभाजित करें: गलत इनपुट: 1148, 2 से विभाजित करें: ट्रू इनपुट: 1149, 2 से विभाजित करें: गलत इनपुट: 1150, 2 से विभाजित करें: सही इनपुट: 1151, 2 से विभाजित करें: गलत इनपुट: 1152, 2 से विभाजित करें: सही इनपुट: 1153, 2 से विभाजित करें: गलत इनपुट: 1154, 2 से विभाजित करें: ट्रू इनपुट: 1155, 2 से विभाजित करें: गलत इनपुट: 1156, 2 से विभाजित करें: True इनपुट: 1157, 2 से विभाजित करें: गलत इनपुट: 1158, 2 से विभाजित करें: सही इनपुट: 1159, 2 से विभाजित करें: गलत इनपुट: 1160, 2 से विभाजित करें: सही इनपुट: 1161, 2 से विभाजित करें: गलत इनपुट: 1162 से विभाजित करें 2: ट्रू इनपुट: 1163, 2 से विभाजित करें: गलत इनपुट: 1164, 2 से विभाजित करें: ट्रू इनपुट: 1165, 2 से विभाजित करें: गलत इनपुट: 1166, 2 से विभाजित: ट्रू इनपुट: 1167, 2 से विभाजित करें: गलत इनपुट : 1168, 2 से विभाजित करें: सच्चा इनपुट: 1169, 2 से विभाजित करें: गलत इनपुट: 1170, 2 से विभाजित करें: सच्चा इनपुट: 1171, 2 से विभाजित करें: गलत इनपुट: 1172, 2 से विभाजित करें: सही इनपुट: 1173, से विभाजित करें 2: गलत इनपुट: 1174, 2 से विभाजित करें:सच्चा इनपुट: 1175, 2 से विभाजित करें: गलत इनपुट: 1176, 2 से विभाजित करें: सही इनपुट: 1177, 2 से विभाजित करें: गलत इनपुट: 1178, 2 से विभाजित करें: सही इनपुट: 1179, 2 से विभाजित करें: गलत इनपुट: 1180, 2 से विभाजित करें: सही इनपुट: 1181, 2 से विभाजित करें: गलत इनपुट: 1182, 2 से विभाजित करें: ट्रू इनपुट: 1183, 2 से विभाजित करें: गलत इनपुट: 1184, 2 से विभाजित करें: सही इनपुट: 1185, 2 से विभाजित करें: गलत इनपुट इनपुट: ११ :६, डिवाइड २: ट्रू इनपुट: ११ div div, डिवाइड २: फाल्स इनपुट: ११, 2, डिवाइड २: ट्रू इनपुट: ११, ९, डिवाइड २: फाल्स इनपुट: ११ ९ ०, डिवाइड २: ट्रू इनपुट: ११ ९ १, डिवाइड 2 द्वारा: गलत इनपुट: 1192, 2 से विभाजित करें: सही इनपुट: 1193, 2 से विभाजित करें: गलत इनपुट: 1194, 2 से विभाजित करें: सही इनपुट: 1195, 2 से विभाजित करें: गलत इनपुट: 1196, 2 से विभाजित करें: सही इनपुट : 1197, 2 से विभाजित करें: गलत इनपुट: 1198, 2 से विभाजित करें: सही इनपुट: 1199, 2 से विभाजित करें: गलत इनपुटसच्चा इनपुट: 1179, 2 से विभाजित करें: गलत इनपुट: 1180, 2 से विभाजित करें: सही इनपुट: 1181, 2 से विभाजित करें: गलत इनपुट: 1182, 2 से विभाजित करें: सच्चा इनपुट: 1183, 2 से विभाजित करें: गलत इनपुट: 1184, 2 से विभाजित करें: सही इनपुट: 1185, 2 से विभाजित करें: गलत इनपुट: 1186, 2 से विभाजित करें: सच्चा इनपुट: 1187, 2 से विभाजित करें: गलत इनपुट: 1188, 2 से विभाजित करें: सही इनपुट: 1189, 2 से विभाजित करें: गलत इनपुट इनपुट: ११ ९ ०, २ से विभाजित करें: सही इनपुट: ११ ९ १, डिवाइड २: फाल्स इनपुट: ११ ९ २, डिवाइड २: ट्रू इनपुट: ११ ९ ३, डिवाइड २: फाल्स इनपुट: ११ ९ ४, डिवाइड २: ट्रू इनपुट: ११ ९ ५, विभाजित 2 द्वारा: गलत इनपुट: 1196, 2 से विभाजित करें: सही इनपुट: 1197, 2 से विभाजित करें: गलत इनपुट: 1198, 2 से विभाजित करें: सही इनपुट: 1199, 2 से विभाजित करें: गलत इनपुटसच्चा इनपुट: 1179, 2 से विभाजित करें: गलत इनपुट: 1180, 2 से विभाजित करें: सही इनपुट: 1181, 2 से विभाजित करें: गलत इनपुट: 1182, 2 से विभाजित करें: सच्चा इनपुट: 1183, 2 से विभाजित करें: गलत इनपुट: 1184, 2 से विभाजित करें: सही इनपुट: 1185, 2 से विभाजित करें: गलत इनपुट: 1186, 2 से विभाजित करें: सच्चा इनपुट: 1187, 2 से विभाजित करें: गलत इनपुट: 1188, 2 से विभाजित करें: सही इनपुट: 1189, 2 से विभाजित करें: गलत इनपुट इनपुट: ११ ९ ०, २ से विभाजित करें: सही इनपुट: ११ ९ १, डिवाइड २: फाल्स इनपुट: ११ ९ २, डिवाइड २: ट्रू इनपुट: ११ ९ ३, डिवाइड २: फाल्स इनपुट: ११ ९ ४, डिवाइड २: ट्रू इनपुट: ११ ९ ५, विभाजित 2 द्वारा: गलत इनपुट: 1196, 2 से विभाजित करें: सही इनपुट: 1197, 2 से विभाजित करें: गलत इनपुट: 1198, 2 से विभाजित करें: सही इनपुट: 1199, 2 से विभाजित करें: गलत इनपुटसच्चा इनपुट: 1187, 2 से विभाजित करें: गलत इनपुट: 1188, 2 से विभाजित करें: सही इनपुट: 1189, 2 से विभाजित करें: गलत इनपुट: 1190, 2 से विभाजित करें: सही इनपुट: 1191, 2 से विभाजित करें: गलत इनपुट: 1192, 2 से विभाजित करें: सच्चा इनपुट: 1193, 2 से विभाजित करें: गलत इनपुट: 1194, 2 से विभाजित करें: सही इनपुट: 1195, 2 से विभाजित करें: गलत इनपुट: 1196, 2 से विभाजित करें: सही इनपुट: 1197, 2 से विभाजित करें: गलत इनपुट इनपुट: 1198, 2 से विभाजित करें: सही इनपुट: 1199, 2 से विभाजित करें: गलतसच्चा इनपुट: 1187, 2 से विभाजित करें: गलत इनपुट: 1188, 2 से विभाजित करें: सही इनपुट: 1189, 2 से विभाजित करें: गलत इनपुट: 1190, 2 से विभाजित करें: सही इनपुट: 1191, 2 से विभाजित करें: गलत इनपुट: 1192, 2 से विभाजित करें: सच्चा इनपुट: 1193, 2 से विभाजित करें: गलत इनपुट: 1194, 2 से विभाजित करें: सही इनपुट: 1195, 2 से विभाजित करें: गलत इनपुट: 1196, 2 से विभाजित करें: सही इनपुट: 1197, 2 से विभाजित करें: गलत इनपुट इनपुट: 1198, 2 से विभाजित करें: सही इनपुट: 1199, 2 से विभाजित करें: गलत


इसके अलावा, अन्य संख्याओं से विभाजित करें (कहते हैं, 7) अच्छी तरह से है:

import numpy as np


def layer_1_z(x, w1, b1):
    return 1 / w1 * x + b1


def layer_2(x, w1, b1, w2, b2):
    y1 = layer_1_z(x, w1, b1)
    y2 = y1 - np.floor(y1)
    return w2 * y2 + b2


def layer_2_activation(x, w1, b1, w2, b2):
    y2 = layer_2(x, w1, b1, w2, b2)
    # return 1 / (1 + np.exp(-y2))
    return (y2 > 0) * 1


def loss(param):
    w1, b1, w2, b2 = param
    x = np.arange(0, 1000, 1)
    y_hat = layer_2_activation(x, w1, b1, w2, b2)
    y_true = (x % 7 > 0) * 1
    return sum(np.square(y_hat - y_true))


# %%

from sko.GA import GA

ga = GA(func=loss, n_dim=4, size_pop=50, max_iter=100, lb=[1, 0, 1, 0], ub=[32, 1, 2, 1], precision=1)
best_x, best_y = ga.run()
print('best_x:', best_x, '\n', 'best_y:', best_y)

for x in range(1001, 1200):
    y_hat = layer_2_activation(x, *best_x)
    print('input:{},divide by 7:{}'.format(x, y_hat == 0))

इनपुट: १००१,: से भाग दें: सही इनपुट: १००२, डिवाइड से div: फाल्स इनपुट: १००३, डिवाइड से div: गलत इनपुट: १००४, डिवाइड से div: फाल्स इनपुट: १००५, डिवाइड से:: गलत इनपुट: १००६ 7 द्वारा: गलत इनपुट: 1007, 7 से विभाजित करें: गलत इनपुट: 1008, 7 से विभाजित करें: सही इनपुट: 1009, 7 से विभाजित करें: गलत इनपुट: 1010, 7 से विभाजित करें: गलत इनपुट: 1011, 7 से विभाजित करें: गलत इनपुट : 1012, 7 से विभाजित करें: गलत इनपुट: 1013, 7 से विभाजित करें: गलत इनपुट: 1014, 7 से विभाजित करें: गलत इनपुट: 1015, 7 से विभाजित: सही इनपुट: 1016, 7 से विभाजित करें: गलत इनपुट: 1017, से विभाजित करें 7: गलत इनपुट: 1018, 7 से विभाजित करें: गलत इनपुट: 1019, 7 से विभाजित करें: गलत इनपुट: 1020, 7 से विभाजित करें: गलत इनपुट: 1021, 7 से विभाजित: गलत इनपुट: 1022, 7 से विभाजित करें: सही इनपुट: 1023, 7 से विभाजित करें: गलत इनपुट: 1024, 7 से विभाजित करें: गलत इनपुट: 1025, 7 से विभाजित करें: गलत इनपुट: 1026, 7 से विभाजित करें: गलत इनपुट: 1027, 7 से विभाजित: गलत इनपुट: 1028, 7 से विभाजित करें : गलत इनपुट: 1029, 7 से भाग दें:सही इनपुट: 1030, 7 से विभाजित करें: गलत इनपुट: 1031, 7 से विभाजित करें: गलत इनपुट: 1032, 7 से विभाजित करें: गलत इनपुट: 1033, 7 से विभाजित करें: गलत इनपुट: 1034, 7 से विभाजित: गलत इनपुट: 1035 7 से विभाजित करें: गलत इनपुट: 1036, 7 से विभाजित करें: सही इनपुट: 1037, 7 से विभाजित करें: गलत इनपुट: 1038, 7 से विभाजित करें: गलत इनपुट: 1039, 7 से विभाजित: गलत इनपुट: 1040, 7 से विभाजित करें: गलत इनपुट: 1041, 7 से विभाजित करें: गलत इनपुट: 1042, 7 से विभाजित करें: गलत इनपुट: 1043, 7 से विभाजित करें: सही इनपुट: 1044, 7 से विभाजित: गलत इनपुट: 1045, 7 से विभाजित करें: गलत इनपुट: 1046, से विभाजित करें 7 द्वारा: गलत इनपुट: 1047, 7 से विभाजित करें: गलत इनपुट: 1048, 7 से विभाजित करें: गलत इनपुट: 1049, 7 से विभाजित करें: गलत इनपुट: 1050, 7 से विभाजित: सही इनपुट: 1051, 7 से विभाजित करें: गलत इनपुट : 1052, 7 से विभाजित करें: गलत इनपुट: 1053, 7 से विभाजित करें: गलत इनपुट: 1054, 7 से विभाजित करें: गलत इनपुट: 1055, 7 से विभाजित करें: गलत इनपुट: 1056, 7 से विभाजित करें: गलत इनपुट: 1057, से विभाजित करें 7: सही इनपुट: 1058,7 से विभाजित करें: गलत इनपुट: 1059, 7 से विभाजित करें: गलत इनपुट: 1060, 7 से विभाजित करें: गलत इनपुट: 1061, 7 से विभाजित करें: गलत इनपुट: 1062, 7 से विभाजित: गलत इनपुट: 1063, 7 से विभाजित करें: गलत इनपुट इनपुट: 1064, 7 से विभाजित करें: सही इनपुट: 1065, 7 से विभाजित करें: गलत इनपुट: 1066, 7 से विभाजित करें: गलत इनपुट: 1067, 7 से विभाजित: गलत इनपुट: 1068, 7 से विभाजित करें: गलत इनपुट: 1069, विभाजित 7 द्वारा: गलत इनपुट: 1070, 7 से विभाजित करें: गलत इनपुट: 1071, 7 से विभाजित करें: सही इनपुट: 1072, 7 से विभाजित करें: गलत इनपुट: 1073, 7 से विभाजित करें: गलत इनपुट: 1074, 7 से विभाजित करें: गलत इनपुट : 1075, 7 से विभाजित करें: गलत इनपुट: 1076, 7 से विभाजित करें: गलत इनपुट: 1077, 7 से विभाजित करें: गलत इनपुट: 1078, 7 से विभाजित: सही इनपुट: 1079, 7 से विभाजित करें: गलत इनपुट: 1080, से विभाजित करें 7: गलत इनपुट: 1081, 7 से विभाजित करें: गलत इनपुट: 1082, 7 से विभाजित करें: गलत इनपुट: 1083, 7 से विभाजित करें: गलत इनपुट: 1084, 7 से विभाजित: गलत इनपुट: 1085, 7 से विभाजित करें: सही इनपुट: 1086, 7 से विभाजित करें:गलत इनपुट: 1087, 7 से विभाजित करें: गलत इनपुट: 1088, 7 से विभाजित करें: गलत इनपुट: 1089, 7 से विभाजित करें: गलत इनपुट: 1090, 7 से विभाजित करें: गलत इनपुट: 1091, 7 से विभाजित: गलत इनपुट: 1092 7 से विभाजित करें: सही इनपुट: 1093, 7 से विभाजित करें: गलत इनपुट: 1094, 7 से विभाजित करें: गलत इनपुट: 1095, 7 से विभाजित करें: गलत इनपुट: 1096, 7 से विभाजित करें: गलत इनपुट: 1097, 7 से विभाजित करें: गलत इनपुट इनपुट: 1098, 7 से विभाजित करें: गलत इनपुट: 1099, 7 से विभाजित करें: सही इनपुट: 1100, 7 से विभाजित करें: गलत इनपुट: 1101, 7 से विभाजित: गलत इनपुट: 1102, 7 से विभाजित करें: गलत इनपुट: 1103, से विभाजित करें 7 द्वारा: गलत इनपुट: 1104, 7 से विभाजित करें: गलत इनपुट: 1105, 7 से विभाजित करें: गलत इनपुट: 1106, 7 से विभाजित करें: सही इनपुट: 1107, 7 से विभाजित: गलत इनपुट: 1108, 7 से विभाजित करें: गलत इनपुट : 1109, 7 से विभाजित करें: गलत इनपुट: 1110, 7 से विभाजित करें: गलत इनपुट: 1111, 7 से विभाजित करें: गलत इनपुट: 1112, 7 से विभाजित करें: गलत इनपुट: 1113, 7 से विभाजित करें: सही इनपुट: 1114, से विभाजित करें 7: गलत इनपुट: 1115,7 से विभाजित करें: गलत इनपुट: 1116, 7 से विभाजित करें: गलत इनपुट: 1117, 7 से विभाजित करें: गलत इनपुट: 1118, 7 से विभाजित करें: गलत इनपुट: 1119, 7 से विभाजित करें: गलत इनपुट: 1120, 7 से विभाजित करें: सही इनपुट: 1121, 7 से विभाजित करें: गलत इनपुट: 1122, 7 से विभाजित करें: गलत इनपुट: 1123, 7 से विभाजित करें: गलत इनपुट: 1124, 7 से विभाजित करें: गलत इनपुट: 1125, 7 से विभाजित: गलत इनपुट: 1126, विभाजित 7 द्वारा: गलत इनपुट: 1127, 7 से विभाजित करें: सही इनपुट: 1128, 7 से विभाजित करें: गलत इनपुट: 1129, 7 से विभाजित करें: गलत इनपुट: 1130, 7 से विभाजित: गलत इनपुट: 1131, 7 से विभाजित करें: गलत इनपुट : 1132, 7 से विभाजित करें: गलत इनपुट: 1133, 7 से विभाजित करें: गलत इनपुट: 1134, 7 से विभाजित करें: सही इनपुट: 1135, 7 से विभाजित करें: गलत इनपुट: 1136, 7 से विभाजित करें: गलत इनपुट: 1137, से विभाजित करें 7: गलत इनपुट: 1138, 7 से विभाजित करें: गलत इनपुट: 1139, 7 से विभाजित करें: गलत इनपुट: 1140, 7 से विभाजित करें: गलत इनपुट: 1141, 7 से विभाजित करें: सही इनपुट: 1142, 7 से विभाजित करें: गलत इनपुट: 1143, 7 से विभाजित करें: गलत इनपुट:1144, 7 से विभाजित करें: गलत इनपुट: 1145, 7 से विभाजित करें: गलत इनपुट: 1146, 7 से विभाजित करें: गलत इनपुट: 1147, 7 से विभाजित करें: गलत इनपुट: 1148, 7 से विभाजित करें: सही इनपुट: 1149, 7 से विभाजित करें : गलत इनपुट: 1150, 7 से विभाजित करें: गलत इनपुट: 1151, 7 से विभाजित करें: गलत इनपुट: 1152, 7 से विभाजित करें: गलत इनपुट: 1153, 7 से विभाजित करें: गलत इनपुट: 1154, 7 से विभाजित करें: गलत इनपुट: 1155 , 7 से विभाजित करें: सही इनपुट: 1156, 7 से विभाजित करें: गलत इनपुट: 1157, 7 से विभाजित करें: गलत इनपुट: 1158, 7 से विभाजित करें: गलत इनपुट: 1159, 7 से विभाजित करें: गलत इनपुट: 1160, 7 से विभाजित करें: गलत इनपुट: 1161, 7 से विभाजित करें: गलत इनपुट: 1162, 7 से विभाजित करें: सही इनपुट: 1163, 7 से विभाजित करें: गलत इनपुट: 1164, 7 से विभाजित: गलत इनपुट: 1165, 7 से विभाजित: गलत इनपुट: 1166, 7 से विभाजित करें: गलत इनपुट: 1167, 7 से विभाजित करें: गलत इनपुट: 1168, 7 से विभाजित करें: गलत इनपुट: 1169, 7 से विभाजित करें: सही इनपुट: 1170, 7 से विभाजित: गलत इनपुट: 1171, 7 से विभाजित करें: गलत इनपुट इनपुट: 1172, 7 से विभाजित:गलत इनपुट: 1173, 7 से विभाजित करें: गलत इनपुट: 1174, 7 से विभाजित करें: गलत इनपुट: 1175, 7 से विभाजित करें: गलत इनपुट: 1176, 7 से विभाजित: सही इनपुट: 1177, 7 से विभाजित: गलत इनपुट: 1178 7 से विभाजित करें: गलत इनपुट: 1179, 7 से विभाजित करें: गलत इनपुट: 1180, 7 से विभाजित करें: गलत इनपुट: 1181, 7 से विभाजित करें: गलत इनपुट: 1182, 7 से विभाजित करें: गलत इनपुट: 1183, 7 से विभाजित करें: सही इनपुट: 1184, 7 से विभाजित करें: गलत इनपुट: 1185, 7 से विभाजित करें: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित करें: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट: 1189, विभाजित करें 7 द्वारा: गलत इनपुट: 1190, 7 से विभाजित करें: सही इनपुट: 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित: गलत इनपुट: 1194, 7 से विभाजित करें: गलत इनपुट : 1195, 7 से विभाजित करें: गलत इनपुट: 1196, 7 से विभाजित करें: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुट7 से विभाजित करें: गलत इनपुट: 1175, 7 से विभाजित करें: गलत इनपुट: 1176, 7 से विभाजित करें: सही इनपुट: 1177, 7 से विभाजित करें: गलत इनपुट: 1178, 7 से विभाजित करें: गलत इनपुट: 1179, 7 से विभाजित करें: गलत इनपुट इनपुट: 1180, 7 से विभाजित करें: गलत इनपुट: 1181, 7 से विभाजित करें: गलत इनपुट: 1182, 7 से विभाजित करें: गलत इनपुट: 1183, 7 से विभाजित: सही इनपुट: 1184, 7 से विभाजित करें: गलत इनपुट: 1185, से विभाजित करें 7 द्वारा: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित करें: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट: 1189, 7 से विभाजित: गलत इनपुट: 1190, 7 से विभाजित करें: सही इनपुट : 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, 7 से विभाजित करें: गलत इनपुट: 1195, 7 से विभाजित करें: गलत इनपुट: 1196, से विभाजित करें 7: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुट7 से विभाजित करें: गलत इनपुट: 1175, 7 से विभाजित करें: गलत इनपुट: 1176, 7 से विभाजित करें: सही इनपुट: 1177, 7 से विभाजित करें: गलत इनपुट: 1178, 7 से विभाजित करें: गलत इनपुट: 1179, 7 से विभाजित करें: गलत इनपुट इनपुट: 1180, 7 से विभाजित करें: गलत इनपुट: 1181, 7 से विभाजित करें: गलत इनपुट: 1182, 7 से विभाजित करें: गलत इनपुट: 1183, 7 से विभाजित: सही इनपुट: 1184, 7 से विभाजित करें: गलत इनपुट: 1185, से विभाजित करें 7 द्वारा: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित करें: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट: 1189, 7 से विभाजित: गलत इनपुट: 1190, 7 से विभाजित करें: सही इनपुट : 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, 7 से विभाजित करें: गलत इनपुट: 1195, 7 से विभाजित करें: गलत इनपुट: 1196, से विभाजित करें 7: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुटगलत इनपुट: 1178, 7 से विभाजित करें: गलत इनपुट: 1179, 7 से विभाजित करें: गलत इनपुट: 1180, 7 से विभाजित करें: गलत इनपुट: 1181, 7 से विभाजित करें: गलत इनपुट: 1182, 7 से विभाजित: गलत इनपुट: 1183 7 से विभाजित करें: सही इनपुट: 1184, 7 से विभाजित करें: गलत इनपुट: 1185, 7 से विभाजित करें: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट इनपुट: 1189, 7 से विभाजित करें: गलत इनपुट: 1190, 7 से विभाजित करें: सही इनपुट: 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, से विभाजित करें 7 द्वारा: गलत इनपुट: 1195, 7 से विभाजित करें: गलत इनपुट: 1196, 7 से विभाजित करें: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुटगलत इनपुट: 1178, 7 से विभाजित करें: गलत इनपुट: 1179, 7 से विभाजित करें: गलत इनपुट: 1180, 7 से विभाजित करें: गलत इनपुट: 1181, 7 से विभाजित करें: गलत इनपुट: 1182, 7 से विभाजित: गलत इनपुट: 1183 7 से विभाजित करें: सही इनपुट: 1184, 7 से विभाजित करें: गलत इनपुट: 1185, 7 से विभाजित करें: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट इनपुट: 1189, 7 से विभाजित करें: गलत इनपुट: 1190, 7 से विभाजित करें: सही इनपुट: 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, से विभाजित करें 7 द्वारा: गलत इनपुट: 1195, 7 से विभाजित करें: गलत इनपुट: 1196, 7 से विभाजित करें: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुट7 से विभाजित करें: गलत इनपुट: 1185, 7 से विभाजित करें: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित करें: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट: 1189, 7 से विभाजित करें: गलत इनपुट इनपुट: 1190, 7 से विभाजित करें: सही इनपुट: 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, 7 से विभाजित करें: गलत इनपुट: 1195, से विभाजित करें 7 द्वारा: गलत इनपुट: 1196, 7 से विभाजित करें: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुट7 से विभाजित करें: गलत इनपुट: 1185, 7 से विभाजित करें: गलत इनपुट: 1186, 7 से विभाजित करें: गलत इनपुट: 1187, 7 से विभाजित करें: गलत इनपुट: 1188, 7 से विभाजित करें: गलत इनपुट: 1189, 7 से विभाजित करें: गलत इनपुट इनपुट: 1190, 7 से विभाजित करें: सही इनपुट: 1191, 7 से विभाजित करें: गलत इनपुट: 1192, 7 से विभाजित करें: गलत इनपुट: 1193, 7 से विभाजित करें: गलत इनपुट: 1194, 7 से विभाजित करें: गलत इनपुट: 1195, से विभाजित करें 7 द्वारा: गलत इनपुट: 1196, 7 से विभाजित करें: गलत इनपुट: 1197, 7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित: गलत इनपुट: 1199, 7 से विभाजित करें: गलत इनपुट7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत7 से विभाजित करें: सही इनपुट: 1198, 7 से विभाजित करें: गलत इनपुट: 1199, 7 से विभाजित करें: गलत


स्पष्टीकरण:

मुझे 2 अलग-अलग समाधान मिलते हैं। वे दोनों अच्छे हैं:
1. सक्रियता के रूप में पाप
2. सक्रियता के रूप में मंजिल (या इंट)

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


हाय मैन, CV में आपका स्वागत है और आपके विस्तृत उत्तर के लिए धन्यवाद। क्या आप कृपया अपने द्वारा लिखे गए कोड में कुछ स्पष्टीकरण जोड़ सकते हैं?
फेरी

मुझे 2 अच्छे समाधान मिलते हैं , यहां देखें , 1. सक्रियता के रूप में पाप 2. मंजिल (या इंट) सक्रियण के रूप में
guofei9987
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.