لدي فكرة مجنونة ، من موقع SourceForge

Wednesday, August 13, 2008 | Labels: | |

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

فكرة وجدتها وانا اتصفح موقع الفريق العربي للبرمجة . الفكرة مطروحة ايضاً على موقع sourceforge بالاساس وسأحاول ان اوضحها للجميع هنا .

لنفترض ان لدينا صورة 4*4 بيكسل ، نريد ان نجرب فيها كل الاحتمالات بلونين فقط هما الابيض والاسود ، هل تعرف كم صورة سيكون الناتج ؟
الناتج سيكون 2 مرفوعة للاس 4*4 وهو ما يعني 2 مرفوعة للاس 16 وتساوي 65536 .
حيث ستجد اولاً البكسل الاول اسود والباقي ابيض ، ثم الثاني ، ثم الثالث ، ثم الاول والثاني ، ثم الاول والثالث .... الخ .

الآن سنفترض اننا نريد عمل صورة ملونة 16 مليون لون بحجم 640*480 ، هل تعرف كم الصور الناتجة ؟
طبعاً ، الناتج هو 16000000 مرفوع للاس 307200 ، وهو رقم كبير جداً ، يكفي ان تعلم ان 16 مليون مرفوعة للاس 2 ستحتوي على الاقل على ضعف عدد الاصفار اي 12 صفر ، للاس 3 سيصبح 24 صفر ، الاس الرابع سيصبح 48 اس ، بمعنى انه لن يزيد 6 اصفار في المرة بل ستتضاعف ، لذا لك ان تتخيل الرقم عند الاس الالف ومن ثم الرقم مرفوعاً للاس 307 آلاف ، ان حساب الرقم الناتج هو في حد ذاته مشكلة فما بالك بالحصول على الصور نفسها .
لكن هل تتخيل على ماذا ستحتوي هذه الصور ، بالواقع ستحتوي على كل الاحتمالات التي يمكن لكاميرا ما ان تلتقطها ، وهي بالتالي تحتوي على :

- صور جميع البشر سواء البشر الذين ولدوا او سيولدوا او الموجودين حالياً .
- جميع الكائنات الحية المكتشفة او التي لم تكتشف بعد .
- صور جميع الاختراعات ووسائل المواصلات التي اخترعت او ستخترع .
- صور جميع الكلمات المكتوبة ، هنا ستجد ايضاً افضل قصيدة قيلت او ستقال لإن القصيدة او بيت الشعر هو شيء يمكن تصويره .
- ستجد ايضاً الحل لكل المسائل الفيزيائية والهندسية والكيميائية ، حيث ان هذه الحلول هي صور ايضاً .
- ستجد ايضاً صور لجميع الدوائر الكهربية او الالكترونية الموجودة او تلك التي ستوجد .

باختصار شديد ، ستجد كل ما تريده وما اخترعناه وما سنخترعه ، ولكن المشكلة الاكبر هي العدد المهول من الصور الناتجة ، حيث ان انتاج هذه الصور يستغرق باقوى حاسباتنا الحالية ملايين السنين ، وحتى لو سلمنا جدلا باننا نستطيع انتاجها فمن ذا يستطيع خلال عمره كله استعراضها .

لذا سنختم ببعض النقاط :

- اغلب هذه الصور غير ذا جدى في الواقع ، حيث انك ستجد صورة تحتوي على نقطة واحدة فقط من لون ، وهكذا لمدة 16 مليون صورة ، ثم تحتوي على نقطتين ثم على ثلاث ، ستجد رقماً مهولاً من الصور بهذه الطريقة .
- نحتاج إلى الجوريزم لاستبعاد الصور غير المهمة ، ولكن هذا الالجوريزم لا بد ان يكون ذكياً ، ربما الصورة غير مهمة حالياً ولكنها شيء لم نكتشفه بعد !
- ستجد لنفسك فقط عدة مليارات من الصور إن لم تكن اكثر ، خد صورتك وحول لون احد شعر رأسك للأحمر ثم للاخضر وهكذا لمدة 16 مليون لون ، ثم انتقل للشعرة التالية ، ثم للشعرة الاولى مع الثانية ... وهكذا ، ثم حرك راسك بمقدار بيكسل واعد الحسابات ، هذا لو سلمنا ان الشعرة بيكسل فما بالك لو كانت الشعرة تحتوي على اكثر من بيكسل ، هنا سنجد مقدراً مهولاً من التكرارات ، ثم نفس الامر مع صورة زميلك ثم مع تغيير الخلفية لتحتوي على تلفزيون بدلاً من مكتب ، ثم مكتب ببيكسل احمر في المنتصف ... الخ .

النص التالي منقول من موقع الفريق العربي للبرمجة لشرح فقط فكرة تكوين الصور وعدد الاحتمالات - مهندس أسامة - :

http://www.arabteam2000-forum.com/index.php?showtopic=155674&st=20&p=782920&#entry782920

لو فرضنا أنك تريد أن تحسب الأحتمالات لصورة مكونة من لونين فقط، وحجمها هو 3 × 1 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (2) مرفوع للأس (3) (حجم الصوره)= 2 أس (3×1) = 8 صور

الصورة المرفقة

وبالتالى: لو تريد أن تحسب الأحتمالات لصورة مكونة من لونين فقط، وحجمها هو 3 × 2 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (2) مرفوع للأس (6) (حجم الصوره)= 2 أس (3×2) = 64 صور = (2 أس 3) أس 2

الصورة المرفقة

إذن: تريد أن تحسب الأحتمالات لصورة مكونة من 256 لون، وحجمها هو 640 × 480 بيكسل، فيكون عدد الاحتمالات = عدد الألوان (256) مرفوع للأس (307200) (حجم الصوره)= 256 أس (640×480) = (256 أس 640) أس 480

الصورة المرفقة

أحسب الناتج، ولنفترض أن زمن تكوين الصوره يساوى 1 من مليون من الثانية (جدلاً)، فما الوقت الازم لتكوين جميع الاحتمالات؟؟؟

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ولحساب زمن تقريبي لتنفيذ هذه العملية ، هذا ايضاً من موقع الفريق العربي  للمهندس اسامة ايضاً :

 

هل حاولت حساب الوقت المستغرق لهذه العملية ؟ (عدد الأحتمالات تقريباً يساوى (10 أس 737280)، أى واحد وامامه 737280 صفر)

الصورة المرفقة

نفترض جدلاً ان لديك نظام يستطيع تكوين ألف مليار صورة فى الثانية، أى: 1.000.000.000.000، وهو تقريباً يساوى

أى عدد الثوانى التى تحتاجها لجميع الاحتمالات = 256 أس 307195، أى تقريباً (10 أس 737268) أى واحد وامامه 737268 صفر من الثوانى regular_smile.gif

الصورة المرفقة

وحيث أن السنه تحتوى تقريباً على 32.000.000 ثانية، أى كل 3 سنين تحتوى تقريباً على 10.000.000 ثانية (10 أس 7)
إذن تحتاج الى زمن قدره = 3 × (10 أس (737268-7)) = 3 × (10 أس 737261) سنة، 3 × (10 أس 737259) قرن
ولنفترض أن تكنولوجيا البرنامج تضاعفت سرعتها 3 مليون مليار مرة، اى اصبح ينتج: ثلاثة مليار مليار مليار صورة فى الثانية (أى واحد وامامه 24 صفر صورة فى الثانية). إذن ستحتاج لوقت يساوى (10 أس 737241) قرن
ولنفترض أنك ستختار صورة واحدة من كل مليار مليار مليار صورة (أى 0.000000000000000000000000000000000001%)، إذن ستحتاج لوقت يساوى (10 أس 737205) قرن أى (10 أس 737193) مليار قرن، أى (واحد وامامه 737207 صفر من السنين)
مع العلم أن عمر الأرض يقدر بحوالى (4.5 × 10 أس 9) سنة = 4.500.000.000 سنة
أى ستحتاج تقريباً إلى أكثر من (10 أس 737195) ضعف عمر الأرض regular_smile.gif ، ولو افترضنا بأننا (لا أدرى كيف؟) أنتقينا صورة واحدة من كل ((10 أس 30000) إلى (10 أس 40000)) صورة، لكانت المحصلة تساوى تقريباً (10 أس 700000) ضعف عمر الأرض، (واحد وامامه 700.000 صفر regular_smile.gif)
أى لو بدء البرنامج مع بدء عمر الأرض، وبقوة تصل إلى: ثلاثة مليار مليار مليار صورة فى الثانية، مع اختيار صورة واحدة من كل مليار مليار مليار صورة، وأن زمن اختيار واستبعاد الصور جدلاً يساوى صفر، وكان هناك حوالى (10 أس 700000) نظام بنفس القوه ويعملوا سوياً بالتوازى، لكنا الان نشاهد الرسالة regular_smile.gif

LEFT TO RIGHT

98% of task completed

ملاحظة: الحسابات بإفتراض الصورة 640 × 480 × 8 بت، وعليه:

  • 640 × 480 × 4 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000/2) = 10 أس 350.000
  • 640 × 480 × 16 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*2) = 10 أس 1.400.000
  • 640 × 480 × 24 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*3) = 10 أس 2.100.000
  • 640 × 480 × 32 بت، سيكون الناتج النهائى التقريبى = 10 أس (700000*4) = 10 أس 2.800.000
  • 640 × 480 × 4 بت = 320 × 480 × 8 بت = 640 × 240 × 8 بت = 320 × 240 × 16 بت، الناتج النهائى التقريبى = 10 أس (700000/2) = 10 أس 350.000
  • ... الخ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

في الواقع تبدو الفكرة مربكة إلى حد ما ، حيث انه من المستحيلات حالياً ايجاد مثل هذا التطبيق ، ولكني نقلته هنا ربما يستطيع احد تطبيق نفس المبدأ على افكار ومواضيع أخرى - قابلة للتحقيق هذه المرة - .

 

رابط الموضوع على منتدى الفريق العربي للبرمجة :
http://www.arabteam2000-forum.com/index.php?showtopic=155674

رابط الموضوع على فيجوال بيسك للعرب :

http://vb4arab.com/vb/showthread.php?t=13808


رابط الموضوع على sourceforge هنا :
http://sourceforge.net/community/forum/topic.php?id=451&page

 

0 comments: