اطلاعیه

Collapse
No announcement yet.

الگوریتم معروف 8 وزیر

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • الگوریتم معروف 8 وزیر

    سلام بر دوستان،
    توی گوگل هرچقدر دنبال الگوریتم درست و حسابی برای این بودم نتونستم پیدا کنم، هرچه بود همش برنامه به زبانهای مختلف بود!!!

    از دوستان کسی هست الگوریتم این رو بهم بده ؟
    شدیدا بهش نیاز دارم.

    متشکرم

    the quieter you become, the more you are able to hear

  • #2
    این رو یک نگاهی بش بنداز
    فایل های پیوست شده
    خونه
    www.parspishro.ir
    ذهن آشفته ای من
    www.literature.blogfa.com

    Comment


    • #3
      سلام دوست خوبم،
      بنده بدنبال برنامه نیستم، بلکه بدنبال یه الگوریتم هستم که وقتی بخوام به هر زبان برنامه نویسی خودم روش حل رو پیاده سازی کنم...

      در صورت امکان بیشتر توضیح بدین.

      متشکرم

      the quieter you become, the more you are able to hear

      Comment


      • #4
        با جستجو مي تونستي خيلي مطالب پيدا كني مثل اين كه تو سايت برنامه نويس هست

        مسئله هشت وزير
        صورت مسئله : هشت وزير را در هشت خانه شطرنج (8*8) طوري قرار دهيد كه هيچكدام يكديگر را تهديد نكنند. وزير در خانه هاي شطرنج به صورت عرضي،طولي و قطري مي تواند حركت كند. اين مسئله قابل تعميم به مسئله N وزير در يك شطرنج N*N است.

        تاريخچه: اين مسئله در سالي 1848 توسط شطرنج بازي به نام Max Bezzel عنوان شد و رياضي دانان بسياري ازجمله Gauss و Georg Cantor بر روي اين مسئله كار كرده و در نهايت آنرا به N وزير تعميم دادند. اولين راه حل توسط Franz Nauck در سال 1850 ارائه شد كه به همان مسئله N وزير تعميم داده شد. پس از آن Gunther راه حلي با استفاده از دترمينان ارائه داد كه J.W.L. Glaisher آنرا كامل نمود.
        در سال 1979 ، Edsger Dijkstra با استفاده از الگوريتم عقب گرد اول عمق اين مسئله را حل كرد.

        راه حل: براي حل اين مسئله كه داراي 92 جواب است ، بايد تكنيكهايي جهت كاهش حالات ،روش Brute Force يا امتحان تك تك جواب ها انجام شود. تعداد همه حالاتي كه مي تواند در روش Brute Force چك شود برابر 16,777,216 يا هشت به توان هشت است!
        يكي از روش هاي حل اين مسئله براي n>=4 يا n=1 استفاده از روش مكاشفه اي (heuristic) است:
        1- عدد n را بر عدد 12 تقسيم كن و باقي مانده را يادداشت كن
        2- به ترتيب اعداد زوج 2 تا n را در ليستي بنويس
        3- اگر باقي مانده 3 يا 9 بود ، عدد 2 را به انتهاي ليست انتقال بده.
        4- به ليست اعداد فرد 1 تا N را به ترتيب اضافه كن، اما اگر باقي مانده 8 بود اعداد را دو به دو باهم عوض كند (مثلا 1و3و5و7و9 تبديل به 3و1و7و5و9 ميشه)
        5- اگر باقي مانده 2 بود جاي 1 و3 را با هم عوض كن و 5 را به انتهاي ليست ببر
        6- اگر باقي مانده 3 يا 9 بود ، اعداد 1 و 3 را به انتهاي ليست ببر.
        7- حال با استفاده از ليست بدست آمده وزير ها در صفحه شطرنج چيده مي شوند، بطوريكه جاي وزير ستون اول ،اولين عدد ليست ،جاي وزير ستون دوم ، دومين عدد ليست و ...
        اين الگوريتم يك راه حل براي حل اين مسئله است، براي بدست آوردن همه حالات از روشهاي ديگري مي توان استفاده كرد.
        روش حل مسئله 12 راه حل يكتا دارد كه با در نظر گيري تقارن و چرخش به 92 حالت قابل تبديل است.

        اگه يادم باشه توي كتاب الگوريتم نعيمي و نيو.. در مورد بحث شده


        __________________
        Last edited by m2000; 05-21-2009, 06:23 AM.
        چه کسی میگوید که گرانی اینجاست؟؟؟
        همه جا ارزانی است...
        چه شرافت ارزان
        تن عریان ارزان
        و دروغ از همه ارزان تر
        وچه تخفیف بزرگی خورده است قیمت هر انسان

        Comment


        • #5
          یه چیز خیلی جالب شما یک کد رو میخونی آلگاریتم داخل شو درک نمی کنی ؟!! کد که درکش خیلی ساده تر از آلگاریتم ! تمامه حلقه ها پوشته ها و وریبلا تو معلومه
          لگوریتم به این صورت :
          در ردیف اول به دنبال یه خانه برای وزیر اول میگردید که خانه اول است بعد خانه هایی را که این وزیر میتواند مورد هدف قرار دهد را علامت گذاری میکنید سپس به دنباله اولین خانه برای وزیر دوم در ردیف دوم می گردید که تحدید نشود که خانه سوم است سپس خانه هایی را که این وزیر مورد هدف خود قرار میدهد را علامت گذاری می کنید سپس وزیر سوم و به همین ترتیب ادامه می دهید تا هیچ خانه ای برای وزیر شما پیدا نشود (اگه اشتباه نکنم در جای گذاری وزیر 6 یا 5 م این اتفاق میافتد ) در این زمان شما یک وزیر به عقب بر میگردید (یعنی اگه برای وزیر مثلا 6 جایی پیدا نکردید بر می گردید به وزیر 5 ام ) اگه خاطرتون باشه شما وزیر را در اولین خانه که پیدا می کردید قرار میدادید ، حالا شما باید خانه بعد را که امکان قرار گرفتن این وزیر هست رو انتخاب میکنید و میروید به وزیر بعدی اگه جایی بود که خوب وزیر رو قرار میدهید و ادامه میدهید اگه نبود دوباره به وزیر قبل برمیگردید و همین طور ادامه میدهید تا تمام حالات را باه شما بدهد
          http://www.barnamenevis.org/forum/sh...ad.php?t=41308
          ==========================
          http://www.barnamenevis.org/forum/showthread.php?t=3029
          ===============================
          http://forum.majidonline.com/showthread.php?t=112425
          خونه
          www.parspishro.ir
          ذهن آشفته ای من
          www.literature.blogfa.com

          Comment


          • #6
            برنامه گرافیکی شو هم من با سی نوشتم

            الگوریتمشم دوستان واضح گفتن

            خواستی بگو واست بفرستم

            Comment


            • #7
              نوشته اصلی توسط rasep1983 نمایش پست ها
              برنامه گرافیکی شو هم من با سی نوشتم

              الگوریتمشم دوستان واضح گفتن

              خواستی بگو واست بفرستم
              سلام لطقا فایل رو برای من قرار بدین اگه میشه با Comment هر چند خط و برام توضیح بدین که چه کاری رو انجام میده !

              Comment

              Working...
              X