इस वर्ग कोष्ठक और कोष्ठक कोष्ठक संकेतन का अर्थ क्या है [प्रथम 1, अंतिम 1)?


137

मैंने संख्या सीमाएँ देखी हैं जैसे कि [first1,last1)और [first2,last2)

मैं जानना चाहूंगा कि इस तरह के नोटेशन का क्या मतलब है।


3
[first, last)एक आधा खुला अंतराल है जैसा कि अन्य ने नोट किया है। कुछ पाठ्यपुस्तकों में, यह भी लिखा गया है [first, last>और इसका बिल्कुल वही अर्थ है, केवल वाक्यविन्यास अलग है।
दारारियो

8
इस प्रश्न के लिए एक बेहतर स्थान math.stackexchange.com (IMHO) होगा। लेकिन कोई बात नहीं! :)
xk0der

8
Mnemonic के रूप में, उस मूल्य पर वर्ग ब्रैकेट पकड़ें, जिसका अर्थ "ऊपर और सहित" है। और गोल कोष्ठक नरम और कम प्रतिबंधक अर्थ है: "अप करने के लिए लेकिन शामिल नहीं"।
एरिक लेसचिंस्की

- एक प्रोग्रामर जब भी मैं वर्ग कोष्ठक देखना यह मुझे हमेशा विस्तारित बैकस-नौर रूप का स्मरण देता है के रूप में en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form
RBT

2
मैं math.SE को यह पलायन करने की सलाह देते
बेन Leggiero

जवाबों:


227

ब्रैकेट का मतलब है कि सीमा का अंत समावेशी है - इसमें सूचीबद्ध तत्व शामिल है। एक कोष्ठक का अर्थ है कि अंत अनन्य है और इसमें सूचीबद्ध तत्व शामिल नहीं है। तो [first1, last1), के लिए सीमा के साथ शुरू होता है first1(और यह भी शामिल है), लेकिन पहले ही समाप्त होता है last1

पूर्णांक मानकर:

  • (0, 5) = 1, 2, 3, 4
  • (0, 5] = 1, 2, 3, 4, 5
  • [०, ५) = ०, १, २, ३, ४
  • [०, ५] = ०, १, २, ३, ४, ५

3
यह ग्रेड स्कूल के पूर्व-बीजगणित से विकसित होता है, जहाँ आप फ़ंक्शन f (x) और फ़ंक्शन के डोमेन और श्रेणी के बारे में सीखते हैं, जहाँ f (x) = x ^ 2 जैसे फ़ंक्शन, में 0 से लेकर सकारात्मक अनंत तक की सीमा होगी, जिसे इसके साथ निरूपित किया जाता है। [0, ∞)।
जॉनमेरलिनो

1
@ टिम्बो ∞ एक संख्या नहीं है।
जेकड

2
@ साइकोडर आपकी संख्या की परिभाषा अनावश्यक रूप से सीमित लगती है। en.wikipedia.org/wiki/Surreal_number
टिम्बो

2
@JakeD आपकी प्रारंभिक टिप्पणी के बारे में, आप सही तरीके से कह रहे हैं कि अनंत एक संख्या नहीं है, इसलिए सेट [0, arding) को शामिल क्यों नहीं किया गया।
वेजेंड्रिया

1
∞ उस प्रकार की क्रमिक संख्या नहीं है, जिसके साथ आप अंकगणित कर सकते हैं। लेकिन "कितने पूर्णांक हैं?" जैसे सवालों के जवाब देते समय यह एक मान्य कार्डिनल संख्या है। यह भी है, इस मामले में, एक सीमा के
केविन राइट

37

यह एक आधा खुला अंतराल है

  • एक बंद अंतराल [a,b] में अंत बिंदु शामिल हैं।
  • एक खुला अंतराल उन्हें (a,b) बाहर करता है।

आपके मामले में अंतराल की शुरुआत में अंत बिंदु शामिल है, लेकिन अंत को बाहर रखा गया है। तो इसका मतलब है कि अंतराल "पहले 1 <= x <last1"।

आधा खुला अंतराल प्रोग्रामिंग में उपयोगी है क्योंकि वे लूपिंग के लिए सामान्य मुहावरे के अनुरूप हैं:

for (int i = 0; i < n; ++i) { ... } 

यहाँ मैं सीमा में हूँ [0, n)।


15

गणित और कंप्यूटर विज्ञान दोनों में अंतराल अंकन की अवधारणा सामने आती है । गणितीय संकेतन , , , अर्थ है डोमेन (या सीमा एक अंतराल के)।[]()

  • कोष्ठक [और ]साधन:

    1. संख्या शामिल है ,
    2. अंतराल का यह हिस्सा बंद है ,
  • लघुकोष्ठक (और )साधन:

    1. संख्या को बाहर रखा गया है ,
    2. अंतराल का यह पक्ष खुला है

मिश्रित राज्यों के साथ अंतराल को "आधा-खुला" कहा जाता है ।

उदाहरण के लिए, 1 (10 (समावेशी) से लगातार पूर्णांकों की सीमा को इस प्रकार सूचित किया जाएगा :

  • [1,10]

ध्यान दें कि शब्द inclusiveका उपयोग कैसे किया गया था। यदि हम अंतिम बिंदु को बाहर करना चाहते हैं , लेकिन उसी सीमा को "कवर" करते हैं, जिसे हमें अंत-बिंदु को स्थानांतरित करने की आवश्यकता है:

  • [1,11)

अंतराल के बाएँ और दाएँ दोनों किनारों के लिए वास्तव में 4 क्रमपरिवर्तन हैं:

(1,10) =   2,3,4,5,6,7,8,9       Set has  8 elements
(1,10] =   2,3,4,5,6,7,8,9,10    Set has  9 elements
[1,10) = 1,2,3,4,5,6,7,8,9       Set has  9 elements
[1,10] = 1,2,3,4,5,6,7,8,9,10    Set has 10 elements

यह गणित और कंप्यूटर विज्ञान से कैसे संबंधित है?

ऐरे इंडेक्स एक अलग ऑफसेट का उपयोग करते हैं, जिसके आधार पर आप किस क्षेत्र में हैं:

  • गणित एक- आधारित होता है।
  • कुछ प्रोग्रामिंग भाषाएं शून्य- आधारित हैं, जैसे कि C, C ++, जावास्क्रिप्ट, पायथन, जबकि अन्य भाषाएं जैसे Mathematica, Fortran, Pascal एक-आधारित हैं।

इन अंतरों से सूक्ष्म बाड़ पोस्ट त्रुटियां , उर्फ, ऑफ-बाय-वन बग हो सकती हैं जब गणितीय एल्गोरिदम जैसे कि लूप्स को लागू करते हैं।

पूर्णांकों

यदि हमारे पास एक सेट या सरणी है, तो पहले कुछ अपराधों के बारे में कहें [ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ], गणितज्ञ पहले तत्व को 1st पूर्ण तत्व के रूप में संदर्भित करेंगे । इंडेक्स को निरूपित करने के लिए सबस्क्रिप्ट नोटेशन का उपयोग करना:

  • एक 1 = 2
  • एक 2 = 3
  • :
  • एक 10 = 29

कुछ प्रोग्रामिंग भाषाएं, अंतर्विरोध में, zero'th रिश्तेदार तत्व के रूप में पहले तत्व को संदर्भित करती हैं ।

  • एक [०] = २
  • एक [१] = ३
  • :
  • [९] = २ ९

चूंकि सरणी अनुक्रमित सीमा [0, N-1] में हैं, तो स्पष्टता प्रयोजनों के लिए सीमा 0 के लिए समान संख्यात्मक मान रखने के लिए "अच्छा" होगा क्योंकि पूर्वाग्रह जैसे पाठकीय शोर को जोड़ने के बजाय -1

उदाहरण के लिए, सी या जावास्क्रिप्ट में, एन तत्वों की एक सरणी पर पुनरावृति करने के लिए एक प्रोग्रामर i = 0, i < Nअंतराल के साथ सामान्य मुहावरे को लिखेगा [0, एन) के बजाय थोड़ा और अधिक क्रिया [0, एन -1]:

function main() {
    var output = "";
    var a = [ 2, 3, 5, 7,  11, 13, 17, 19, 23, 29 ];
    for( var i = 0; i < 10; i++ ) // [0,10)
       output += "[" + i + "]: " + a[i] + "\n";

    if (typeof window === 'undefined') // Node command line
        console.log( output )
    else
        document.getElementById('output1').innerHTML = output;
}
 <html>
     <body onload="main();">
         <pre id="output1"></pre>
     </body>
 </html>

गणितज्ञ, चूंकि वे 1 पर गिनना शुरू करते हैं, वे इसके बजाय i = 1, i <= Nनामकरण का उपयोग करेंगे लेकिन अब हमें शून्य-आधारित भाषा में सरणी ऑफसेट को सही करने की आवश्यकता है।

जैसे

function main() {
    var output = "";
    var a = [ 2, 3, 5, 7,  11, 13, 17, 19, 23, 29 ];
    for( var i = 1; i <= 10; i++ ) // [1,10]
       output += "[" + i + "]: " + a[i-1] + "\n";

    if (typeof window === 'undefined') // Node command line
        console.log( output )
    else
        document.getElementById( "output2" ).innerHTML = output;
}
<html>
    <body onload="main()";>
        <pre id="output2"></pre>
    </body>
</html>

एक तरफ :

भाषाओं कि 0-आधारित हैं प्रोग्रामिंग में आप एक की जरूरत हो सकती kludge एक गणितीय 1 आधारित एल्गोरिथ्म का उपयोग करने के एक डमी zero'th तत्व की। जैसे पायथन इंडेक्स स्टार्ट

तैरनेवाला स्थल

सूक्ष्म बग से बचने के लिए फ्लोटिंग-पॉइंट नंबरों के लिए अंतराल अंकन भी महत्वपूर्ण है।

जब विशेष रूप से कंप्यूटर ग्राफिक्स (रंग रूपांतरण, कम्प्यूटेशनल ज्यामिति, एनीमेशन सहजता / सम्मिश्रण, आदि) में फ्लोटिंग-पॉइंट नंबरों के साथ काम करते हैं, तो अक्सर सामान्यीकृत संख्याओं का उपयोग किया जाता है। यानी 0.0 और 1.0 के बीच की संख्या।

यदि एंडपॉइंट समावेशी या अनन्य हैं, तो किनारे के मामलों को जानना महत्वपूर्ण है :

  • (0,1) = 1e-M .. 0.999 ...
  • (0,1] = 1e-M .. 1.0
  • [0,1) = 0.0 .. 0.999 ...
  • [०,१] = ०.० .. १.०

जहाँ M कुछ मशीन एप्सिलॉन है । यही कारण है कि आप कभी-कभी const float EPSILON = 1e-#सी-कोड (जैसे 1e-6) को 32-बिट फ्लोटिंग पॉइंट नंबर के लिए देख सकते हैं। यह SO प्रश्न EPSILON कुछ भी गारंटी देता है? कुछ प्रारंभिक विवरण हैं। अधिक व्यापक उत्तर के लिए देखें FLT_EPSILONऔर डेविड गोल्डबर्ग की व्हाट एवरी कंप्यूटर साइंटिस्ट को फ्लोटिंग-पॉइंट अरिथमेटिक के बारे में पता होना चाहिए

एक यादृच्छिक संख्या जनरेटर के कुछ कार्यान्वयन, random()रेंज में मान का उत्पादन कर सकते हैं 0.0 .. 0.999 ... अधिक सुविधाजनक 0.0 .. 1.0 के बजाय। कोड में उचित टिप्पणियां इसे [०.०,१.०) या [०.०,१.०] के रूप में प्रलेखित करेंगी ताकि उपयोग की कोई अस्पष्टता न हो।

उदाहरण:

  • आप random()रंग उत्पन्न करना चाहते हैं। आप लाल, हरे और नीले चैनलों के साथ क्रमशः 24-बिट पिक्सेल उत्पन्न करने के लिए तीन फ़्लोटिंग-पॉइंट मानों को 8-बिट मानों में बदल देते हैं। random()आपके द्वारा अंतराल उत्पादन के आधार पर near-white(254,254,254) या white(255,255,255) के साथ समाप्त हो सकता है ।
     +--------+-----+
     |random()|Byte |
     |--------|-----|
     |0.999...| 254 | <-- error introduced
     |1.0     | 255 |
     +--------+-----+

अंतराल के साथ फ्लोटिंग-पॉइंट परिशुद्धता और मजबूती के बारे में अधिक जानकारी के लिए, क्रिसिस्टर के रियल-टाइम कोलिजन डिटेक्शन , अध्याय 11 न्यूमेरिकल रोबस्टनेस , सेक्शन 11.3 रोबॉट फ्लोटिंग-पॉइंट उपयोग देखें


1

यह एक अंतराल की परिभाषा में एक गणितीय सम्मेलन हो सकता है जहां वर्ग कोष्ठक का अर्थ है "चरम समावेशी" और गोल कोष्ठक "अति विशिष्ट"।

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