Probability | Counting Methods

منتدى يحوي البرامج و الألعاب التي قام بعض أعضاء الموقع المتميزين ببرمجتها .

المشرف: Mohammad_807

Probability | Counting Methods

مشاركة غير مقروءةبواسطة Karam » الاثنين ديسمبر 20, 2010 3:37 pm

مرجبا .. :ism:

هي خوارزميات لطرائق العدّ ..
  • التباديل Principle :
    CODE: تحديد الكل
    def Priciple( Choice ):
       '''Priciple(Choice <list> of probabilities)
       return: 1 . digit of the probabilities.
            2 . the probabilitis.'''

       if not isinstance(Choice, list) and not isinstance(Choice, tuple) or not _alone(Choice): raise ProbabilityInputError
       if 0 < len(Choice) == 1:
          return 1, tuple(Choice)
       elif 0 < len(Choice) == 2:
          return 2, ((Choice[0], Choice[1]), (Choice[1], Choice[0]))

       _probabilities = None, ## all the probabilities

       for eachOne in Choice:
          tail = [block for block in Choice if block != eachOne] ## catch the rest
          for movement in xrange(math.factorial(len(tail))): ## move & replace
             for index in xrange(len(tail) - 1):
                tail[index], tail[index + 1] = tail[index + 1], tail[index]
                _probabilities += (tuple([eachOne] + tail), )
                ## Choice = [1, 2, 3, 4]
                ## eachOne = 1, tail = [2, 3, 4]
                ## movment <tail>: [2, 4, 3] :(4 <--> 3): "4" move to "3" place
                ##          [4, 2, 3] :(4 <--> 2): "4" move to "2" palce
                ##          [4, 3, 2] :(3 <--> 2): "3" move to "2" place
                ##          [3, 4, 2] :(3 <--> 4): "3" move to "4" place
                ##          [3, 2, 4] :(2 <--> 4): "2" move to "4" place
                ##          [2, 3, 4] :(2 <--> 3): "2" move to "3" place

       return math.factorial(len(Choice)), _probabilities[1 :] ## delete <None>



  • التراتيب Permutation :
    CODE: تحديد الكل
    def Permutation( Choice, r ):
       '''Permutation(Choice <list> of probabilities, r)
       return: 1 . digit of the probabilities.
            2 . the probabilitis.'''

       if not isinstance(Choice, list) and not isinstance(Choice, tuple) or not _alone(Choice) or r > len(Choice): raise ProbabilityInputError

       if 0 < len(Choice) == 1:
          return 1, tuple(Choice)
       elif 0 < len(Choice) == 2:
          return 2, ((Choice[0], Choice[1]), (Choice[1], Choice[0]))

       _probabilities = None, ## all the probabilities

       def _here(prob, stx):
          for eachOne in prob:
             if stx == eachOne:
                return True
          return False

       for _stx in Priciple( Choice )[1]:
          if not _here(_probabilities, _stx[:len(_stx) - (len(Choice) - r)]):
             _probabilities += (_stx[:len(_stx) - (len(Choice) - r)], )

       return int(float(math.factorial(len(Choice))) / math.factorial(len(Choice) - r)), _probabilities[1 :] ## delete <None>



  • التوافيق Combination :
    CODE: تحديد الكل
    def Combination( Choice, r ):
       '''Combination(Choice <list> of probabilities, r)
       return: 1 . digit of the probabilities.'''

       if not isinstance(Choice, list) and not isinstance(Choice, tuple) or not _alone(Choice) or r > len(Choice): raise ProbabilityInputError

       _probabilities = None, ## all the probabilities

       return int(float(math.factorial(len(Choice))) / (math.factorial(r) * math.factorial(len(Choice) - r))), _probabilities



وهي البرنامج كامل Open Source كاتبو بلغة Python:
probability.py.rar
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

العودة إلى إبداعات

الموجودون الآن

المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر

cron