خوارزمية :: evolve :: util

بعض وظائف الأداة المساعدة المفيدة للاستخدام في الخوارزميات التطورية.
التحميل الان

خوارزمية :: evolve :: util الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Mike Rosulek
  • موقع ويب الناشر:
  • http://search.cpan.org/~rosulek/Weather-Bug-0.01/lib/Weather/Bug.pm

خوارزمية :: evolve :: util العلامات


خوارزمية :: evolve :: util وصف

بعض وظائف الأداة المساعدة المفيدة للاستخدام في الخوارزميات التطورية. خوارزمية :: Evolve :: Util هي وحدة بيرل مع بعض وظائف الأداة المساعدة المفيدة للاستخدام في الخوارزميات التطورية. استخدام الخوارزمية :: Evolve :: Util ': Str'؛ استخدام الخوارزمية :: evolve :: util ': arr'؛ syntaxat اللحظة، توفر هذه الوحدة فقط الأدوات المساعدة متعددة الوصفات. يمكن استيرادها باستخدام وسيطات الاستخدام ': str' و ': arr' على التوالي. في الأوصاف التالية، يشير الجين إلى سلسلة أو مرجع صفيف. يشير الموقف في الجين إلى حرف واحد لجينات السلسلة وعنصر صفيف للمصفيف Genes.Strossover ($ String1، $ String2 ) arr_crossover (@ array1، @ array2 ) إرجاع عشوائي N-Point Crossover بين الجينات الوظيفتين. $ N الافتراضي إلى 2. يجب أن يكون المدخلات هو نفس الطول، على الرغم من عدم تطبيق هذا. يجب أن تكون $ n أقل من حجم الجينات. إذا كنت غير مألوفة في عملية كروس، فإنها تعمل مثل هذا: وضع الجينتين فوق بعضهما البعض. اختر مواقف N عشوائيا، وقطع كل من الجينات في كل موقف. الآن تبديل كل زوج آخر من القطاعات، وشريط الجينات احتياطيا. لذلك سينتج أحد بروسوفر 2-النقطة الممكنة على جينات السلسلة AAAAAA و BBBBBB الجينتين عباء وبعبب (كان "التخفيضات" هنا بعد المواقف الأولى والثالثة) .str_agreement ($ string1، $ string2) arr_agreement (@ @ array1 ، @ Array2) إرجاع عدد المناصب التي يتفق فيها الجينات. لا يفرض أن لديهم نفس الحجم، على الرغم من أن النتيجة لا معنى لها إلى حد ما في تلك الحالة. تتم مقارنة الجينات بطريقة إلى حد ما بطريقة من غير حكود. لتجاوز هذا واستخدام مقارنة سلسلة سلسلة (أبطأ) Unicode، قم بتعيين خوارزمية $ :: Evolve :: Util :: Unicode_Strings إلى قيمة حقيقية. في جينات الصفيف، تتم مقارنة العناصر الفردية مع EQ.Note أن هذا هو Mericric Hamming، وليس مقياس المسافة تحرير. قد تكون المسافة تحرير لياقة مثيرة للاهتمام لاستخدامها أيضا. هناك وحدتين على الأقل (النص :: Levenshtein والنص :: LevenshteInxs) الذي أعرفه الذي يحسب مسافة التعديل من سلنتين. Sterstr_mutate ($ String1 ]) arr_mutate (@ array1 ]) إرجاع طفرة عشوائية للجين وفقا للحروف الأبجدية المعينة (الافتراضي إلى {0،1}). إذا كانت الأسطوانات $ أقل من 1، فهي تنفذ طفرة احتمالية، مع كل موقف لديه احتمال $ الأسطو. إذا كان Num $ أكبر من أو يساوي 1، فإنه ينفذ طفرة N-Point: يتم اختيار مواقف NUM بالضبط بشكل عشوائي ومحمول. $ numpaults إلى 1. تبدأ قاعدة ملائمة للإبهام بمعدل طفرة من 1 / gene_length. سوف تغير الطفرة دائما الحرف المعني: لن يتم اختيار "A" لاستبدال "A" في طفرة موجودة وبعد تحتفظ الهوية التالية بطبقة N-Point: str_agreement (str_mutate ($ some_string، $ n، alph)، $ some_string) == طول ($ some_string) - $ n؛ الأبجدية يجب أن تتكون الجينات سلسلة من أحرف واحدة فقط إلا إذا كنت تعرف ما تفعله. من المتصور، يمكنك تنفيذ طفرة "إضافة" و "إزالة" باستخدام الأبجدية التي تحتوي على سلاسل مع الطول! = 1. ولكن هذا يبدو اخترقني قليلا بالنسبة لي. بالنسبة لجينات الصفيف، يمكن أن يكون الأبجدية مجرد أي شيء مفيد بالنسبة لك. Strstr_random (حجم $ ) arr_random (حجم $ ) إرجاع جين عشوائي من الحجم المحدد على الأبجدية المعينة، الافتراضي إلى {0،1}. متطلبات: perl.


خوارزمية :: evolve :: util برامج ذات صلة