نمایش نتایج 1 تا 40 از 40

نام تاپیک: الگوریتم هشت وزیر

  1. #1
    کاربر جدید
    تاریخ عضویت
    آذر 1384
    پست
    5
    تشکر کردن
    0
    6 بار تشکر شده در 2 پست

    Tick الگوریتم هشت وزیر

    سلام
    کسی حل مسئله n وزیر با روش backtracking را برای حالتیکه n=4 است را داره؟؟؟؟؟؟؟؟؟؟؟؟؟

  2. #2
    کاربر دائمی آواتار aidin300
    تاریخ عضویت
    آذر 1384
    محل زندگی
    Tehran,Iran
    سن
    31
    پست
    307
    تشکر کردن
    0
    164 بار تشکر شده در 92 پست

    الگوریتم

    سلام
    برنامه + الگوریتم
    فایل های ضمیمه فایل های ضمیمه

  3. 22 کاربر از aidin300 به خاطر این مطلب مفید تشکر کرده اند:


  4. #3
    کاربر جدید
    تاریخ عضویت
    اسفند 1384
    پست
    4
    تشکر کردن
    0
    یک بار تشکر شده در یک پست

    Tick الگوریتم هشت وزیر

    الگوریتم هشت وزیر چه جوریه؟

  5. کاربرانی که به خاطر مطلب مفید saye263000 از وی تشکر کرده‌اند:


  6. #4
    کاربر دائمی آواتار shobair
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    سن
    34
    پست
    339
    تشکر کردن
    3
    56 بار تشکر شده در 39 پست
    سلام
    اگه از الگوریتم صحبت میکنیم دیگه زبان برنامه نویسی مطرح نیست. الگوریتم سختی نداره. می توانید از یک ماتریس 8 در 8 از اعداد استفاده کنید. مقدار اولیه همه رو صفر کنید. با قرار دادن هر وزیر در هر خانه ،خانه های هم طول و هم عرض و قطری آن را یک واحد اضافه کنید. بعد از 8 بار قرار دادن چک کنید که مقدار هیچ خانه ای از 1 بیشتر نباشد. در این صورت یک وضعیت مورد نظر پیش آمده
    شبیر

  7. کاربرانی که به خاطر مطلب مفید shobair از وی تشکر کرده‌اند:


  8. #5
    کاربر دائمی
    تاریخ عضویت
    خرداد 1384
    پست
    826
    تشکر کردن
    31
    40 بار تشکر شده در 12 پست
    دوستمون seyedof حق دارن این چندمین باره که این الگوریتم بحث میشه !

    به هر حال

    خانم مریم شفقتی

    بله این مسئله 92 حالت داره (البته با درنظر گرفتن قرینه ها)
    من یه الگوریتم بلدم که خیلی خیلی ساده هست ولی برای حالتهایی مثل 20 وزیر یا بیشتر بسیار کنده !

    الگوریتم به این صورت :
    در ردیف اول به دنبال یه خانه برای وزیر اول میگردید که خانه اول است بعد خانه هایی را که این وزیر میتواند مورد هدف قرار دهد را علامت گذاری میکنید سپس به دنباله اولین خانه برای وزیر دوم در ردیف دوم می گردید که تحدید نشود که خانه سوم است سپس خانه هایی را که این وزیر مورد هدف خود قرار میدهد را علامت گذاری می کنید سپس وزیر سوم و به همین ترتیب ادامه می دهید تا هیچ خانه ای برای وزیر شما پیدا نشود (اگه اشتباه نکنم در جای گذاری وزیر 6 یا 5 م این اتفاق میافتد ) در این زمان شما یک وزیر به عقب بر میگردید (یعنی اگه برای وزیر مثلا 6 جایی پیدا نکردید بر می گردید به وزیر 5 ام ) اگه خاطرتون باشه شما وزیر را در اولین خانه که پیدا می کردید قرار میدادید ، حالا شما باید خانه بعد را که امکان قرار گرفتن این وزیر هست رو انتخاب میکنید و میروید به وزیر بعدی اگه جایی بود که خوب وزیر رو قرار میدهید و ادامه میدهید اگه نبود دوباره به وزیر قبل برمیگردید و همین طور ادامه میدهید تا تمام حالات را باه شما بدهد

    این روش ، روش صحیح و خطا ست که برای این حالت(8 وزیر) خیلی سریع عمل میکنه ولی برای حالته های دیگه مثل 20 وزیر کنده !



    این هم برنامه این الگریتم که در ++C نوشتمش

    این برنامه و بسیاری برنامه های دیگر برنامه هایی هستند که بهتر است خودتون بنویسید و یاد بگیرید وگرنه با یه جستجوی ساده در Google به راحتی میشه 100 ها الگوریتم و برنامه مختلف به زبان های مختلف پیدا کنید ؛ این در خواست کمک کنید برای راهنمایی نه در خواست کمک برای انجام تکالیفتون .
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله hamed jalili : پنجشنبه 31 فروردین 1385 در 13:14 بعد از ظهر
    It would be easier for the Devil to go to church and cross himself with holy water than for these people to comprehend the ideas which are accepted facts to us today
    Adolf Hitler - speech in Berlin, 10 December 1940

  9. 16 کاربر از hamed jalili به خاطر این مطلب مفید تشکر کرده اند:


  10. #6
    کاربر دائمی آواتار mohandese_hiclass
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    ارومیه
    پست
    132
    تشکر کردن
    0
    8 بار تشکر شده در 7 پست
    سورس کدش تو لینک زیر هست
    www.tafrihi.com/delphi
    بی تو هرگز با تو اما....
    www.algorithmnevis.com

  11. 2 کاربر از mohandese_hiclass به خاطر این مطلب مفید تشکر کرده اند:


  12. #7
    کاربر دائمی آواتار powerboy2988
    تاریخ عضویت
    تیر 1385
    محل زندگی
    تهران
    سن
    27
    پست
    1,292
    تشکر کردن
    246
    727 بار تشکر شده در 270 پست
    برنامه 8 وزیر در c

    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<complex.h>

    #define TRUE 1
    #define FALSE 0

    unsigned int a,b,c,d,e,f,g,h;
    void main(void)
    {
    unsigned char chk_crash(unsigned char,unsigned char,unsigned char);
    void draw_puzzle(void);
    clrscr();
    for (a=1;a<=8;a++);
    for (b=1;b<=8;b++);
    if (chk_crash(a,b,1))
    for (c=1;c<=8;C++‎)
    if ((chk_crash(c,b,1)) && (chk_crash(c,a,2)))
    for (d=1;d<=8;d++)
    if ((chk_crash(d,c,1)) && (chk_crash(d,b,2)) && (chk_crash(d,a,3)))
    for(e=1;e<=8;e++)
    if ((chk_crash(e,d,1)) && (chk_crash(e,c,2)) && (chk_crash(e,b,3)) && (chk_crash(e,a,4)))
    for (f=1;f<=8;f++)
    if ((chk_crash(f,e,1)) && (chk_crash(f,d,2)) && (chk_crash(f,c,3)) && (chk_crash(f,b,4)) && (chk_crash(f,a,5)))
    for (g=1;g<=8;g++)
    if ((chk_crash(g,f,1)) && (chk_crash(g,e,2)) && (chk_crash(g,d,3)) && (chk_crash(g,c,4)) && (chk_crash(g,b,5)) && (chk_crash(g,a,6)))
    for (h=1;h<=8;h++)
    if ((chk_crash(h,g,1)) && (chk_crash(h,f,2)) && (chk_crash(h,e,3)) && (chk_crash(h,d,4)) && (chk_crash(h,c,5)) && (chk_crash(h,b,6)) && (chk_crash(h,a,7)))
    {
    draw_puzzle();
    getch();
    }
    getch();
    }
    unsigned char chk_crash(unsigned char i,unsigned char j,unsigned char d)
    {
    if ((i==j) || (abs(i-j)==d))
    return(FALSE);
    else
    return(TRUE);
    }
    void draw_puzzle(void)
    {
    unsigned char a1,b1,a2,b2,i,v;
    clrscr();
    for (a1=1;a1<=16;a1++)
    for (b1=18;b<=65;b1++)
    {
    gotoxy(b1,a1+d);
    a2=(a1-1)/2+1;
    b2=(b1-18)/6+1;
    if (((a2+b2)%2)==0)
    textcolor(11);
    else
    textcolor(1);
    cprintf("A\0");
    for (i=0;i<8;i++)
    {
    switch(i)
    {
    case 0:{v=a;break;}
    case 1:{v=b;break;}
    case 2:{v=c;break;}
    case 3:{v=d;break;}
    case 4:{v=e;break;}
    case 5:{v=f;break;}
    case 6:{v=g;break;}
    case 7:{v=h;break;}
    }
    gotoxy(15+6*v,5+i*2);
    cprintf("*\0");
    }
    }
    }

  13. 10 کاربر از powerboy2988 به خاطر این مطلب مفید تشکر کرده اند:


  14. #8
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1384
    پست
    49
    تشکر کردن
    3
    17 بار تشکر شده در 2 پست

    برنامه جستجوی تپه نوردی(برای هشت وزیر) نوشته شده با زبان C#‎

    تپه نوردی Hill Climbing Searching یکی از الگوریتم های هوش مصنوعی می باشد که برای مسائل پیچیده به کار میرود به گونه ای که بجای اینکه برای حل مسئله از کل گراف استفاده کند.به صورت اتفاقی از یک قسمت از گراف استفاده میکند.
    این برنامه برای مثال هشت وزیر نوشته شده است.
    http://www.speedyshare.com/940413615.html
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله whitehat : شنبه 14 اردیبهشت 1387 در 10:22 قبل از ظهر دلیل: اضافه كردن ضميمه

  15. 8 کاربر از Goeezor به خاطر این مطلب مفید تشکر کرده اند:


  16. #9
    کاربر جدید
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تبریز
    پست
    3
    تشکر کردن
    2
    6 بار تشکر شده در 2 پست
    مسئله n وزیر همه جوابهای ممکن را چاپ کند و در آخر تعداد آنها را چاپ کند با استفاده از الگوریت جستجوی فضای حالاترا هم بلدی؟

  17. کاربرانی که به خاطر مطلب مفید aramis_paeez از وی تشکر کرده‌اند:


  18. #10
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,172
    تشکر کردن
    297
    1,077 بار تشکر شده در 414 پست

    مسئله هشت وزير

    صورت مسئله : هشت وزير را در هشت خانه شطرنج (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 حالت قابل تبديل است.
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  19. 16 کاربر از whitehat به خاطر این مطلب مفید تشکر کرده اند:


  20. #11
    کاربر جدید
    تاریخ عضویت
    آذر 1387
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    اقاي مدير بخش من اين الگريتم شما را انجام دادم اما به نتيجه اي نرسيدم
    لطفا بيشتر توضيح بدهيد

  21. #12
    کاربر دائمی آواتار en.kamali.ir
    تاریخ عضویت
    آذر 1387
    محل زندگی
    یک جای آروم توی وب
    سن
    27
    پست
    106
    تشکر کردن
    63
    35 بار تشکر شده در 17 پست

    نقل قول: الگوریتم هشت وزیر

    بسیا عالی بود
    اما فکر کنم یک سری مطالب رو حذف کردید چون با این الگوریتم به جواب نرسیدیم .البته من خودم این برنامه رو نوشتم
    زنگی آنقدر کوتاه است که یک لحظه بیشتر با هم بودن را باید جشن گرفت

  22. #13
    کاربر جدید
    تاریخ عضویت
    تیر 1387
    پست
    4
    تشکر کردن
    1
    0 بار تشکر شده در 0 پست

    نقل قول: مسئله هشت وزير

    نقل قول نوشته شده توسط whitehat مشاهده تاپیک
    صورت مسئله : هشت وزير را در هشت خانه شطرنج (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 حالت قابل تبديل است.
    كسي از دوستان اين الگوريتم رو كد نكرده؟ (البته اصلا كار سختي نيست ولي من الان در موقعيتي هستم كه فرصت انجامش رو ندارم.)
    مثلا به يكي از زبانهاي C , C++‎ , C#‎ ... ؟
    ممنون ميشم اگه تو همين يكي 2 روزه جواب بديد.

  23. #14
    کاربر جدید
    تاریخ عضویت
    دی 1387
    پست
    3
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    با سلام .من برنامه 9 وزیر را میخواهم کسی میتونه کمک ام کنه یعنی خانه های جدول 9*9 می شوند.مرسی

  24. پنجشنبه 27 فروردین 1388, 22:49 بعد از ظهر


  25. #15
    کاربر جدید
    تاریخ عضویت
    شهریور 1387
    پست
    2
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    سلام به طور اتفاقی دیدم درباره ان وزیر بحث میکنید گشتم و سورکدشو که خیلی وقت پیش از طریق backtaracking حل کرده بودم پیدا کردم اینم سورسش


    // in the name of god
    #include<iostream>
    #include<string>
    #include<sstream>
    using namespace std;
    int q[8];
    int main()
    {
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    string str;
    int i;
    bool check;
    while(getline(cin,str))
    {
    check=0;
    stringstream inp(str);
    for(int t=0;t<8;t++)
    inp>>q[t];
    for(int ind=1;ind<8;ind++)
    {
    i=1;
    while(i<=ind)
    {
    if(q[ind]-i == q[ind-i] || q[ind]+i == q[ind-i] || q[ind] == q[ind-i])
    {
    check=1;
    goto end;
    }
    i++;
    }
    }
    end:
    if(check==0)
    cout<<str<<endl;

    }
    return 0;
    }

    آخرین ویرایش به وسیله whitehat : شنبه 12 اردیبهشت 1388 در 15:25 بعد از ظهر دلیل: از تگ کد برای کدهایتان استفاده کنید

  26. #16
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران کوچیک
    پست
    1
    تشکر کردن
    5
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    سلام دستتون درد نکنه
    من تازه عضو این سایت شدم
    .
    الان حسرت می خورم که چرا زودتر این اتفاق نیفتاده بود
    خدا خیرتون بده
    3نمره ی ++c رو می گیرم
    فدای همتون

  27. #17
    کاربر دائمی آواتار kashaneh
    تاریخ عضویت
    آبان 1383
    محل زندگی
    در همین نزدیکی
    پست
    537
    تشکر کردن
    39
    244 بار تشکر شده در 191 پست

    نقل قول: الگوریتم هشت وزیر

    دوست عزیز به کد زیر دقت کن :

    #include<iostream.h>
    #include<math.h>
    #include<conio.h>

    int *col,n, count=0;

    bool promising(int);

    void queens(int i)
    {
    int j;
    if(promising(i))
    if (i==n){
    for(int index=1;index<=n;index++)
    cout<<col[index]<<" ";
    cout<<endl;
    count++;
    }
    else
    for(j=1;j<=n;j++)
    {
    col[i+1] = j;
    queens(i+1) ;
    }
    }

    bool promising(int i)
    {
    int k;
    bool myswitch;
    k=1;
    myswitch = true;
    while (k<i && myswitch)
    {
    if(col[i]==col[k]||abs(col[i]-col[k])==(i-k))
    myswitch = false;
    k++;
    }
    return myswitch;
    }

    void main()
    {
    clrscr();
    cout<<"Enter Number Of Queens : ";
    cin>>n;
    col=new int[n];
    queens(0);
    cout<<"\nNumber Of Result : "<<count;
    getch();
    }


    موفق باشی
    ... فقط همین

    WwW.VeTvaT.CoM

  28. #18
    کاربر جدید
    تاریخ عضویت
    آبان 1388
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    سلام 3 حالت مختلف حل الگوريتم n وزير با توضيح و الگوريتمش ميخوام به صورت مقاله باشه

  29. #19
    کاربر دائمی آواتار Reyhane7
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    سن
    28
    پست
    187
    تشکر کردن
    27
    300 بار تشکر شده در 102 پست

    Wink نقل قول: الگوریتم هشت وزیر

    آخرین ویرایش به وسیله Reyhane7 : جمعه 17 اردیبهشت 1389 در 19:37 بعد از ظهر
    http://www.tinypic.com/280pr9d.jpgتکیه بر تقوا و دانش در طریقت کافریست
    راهرو گر صد هنر دارد توکل بایدشhttp://www.tinypic.com/280pr9d.jpg


    اولين انجمن تخصصي هوش مصنوعي در ايران!


    http://artificial.ir/logo/ai88x31.gif

  30. 5 کاربر از Reyhane7 به خاطر این مطلب مفید تشکر کرده اند:


  31. #20
    کاربر جدید آواتار معصومه ارفعی
    تاریخ عضویت
    فروردین 1386
    پست
    19
    تشکر کردن
    4
    2 بار تشکر شده در 2 پست

    نقل قول: الگوریتم هشت وزیر

    include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<complex.h>

    #define TRUE 1
    #define FALSE 0

    unsigned int a,b,c,d,e,f,g,h;
    void main(void)
    {
    unsigned char chk_crash(unsigned char,unsigned char,unsigned char);
    void draw_puzzle(void);
    clrscr();
    for (a=1;a<=8;a++);
    for (b=1;b<=8;b++);
    if (chk_crash(a,b,1))
    for (c=1;c<=8;C++‎‎‎)
    if ((chk_crash(c,b,1)) && (chk_crash(c,a,2)))
    for (d=1;d<=8;d++)
    if ((chk_crash(d,c,1)) && (chk_crash(d,b,2)) && (chk_crash(d,a,3)))
    for(e=1;e<=8;e++)
    if ((chk_crash(e,d,1)) && (chk_crash(e,c,2)) && (chk_crash(e,b,3)) && (chk_crash(e,a,4)))
    for (f=1;f<=8;f++)
    if ((chk_crash(f,e,1)) && (chk_crash(f,d,2)) && (chk_crash(f,c,3)) && (chk_crash(f,b,4)) && (chk_crash(f,a,5)))
    for (g=1;g<=8;g++)
    if ((chk_crash(g,f,1)) && (chk_crash(g,e,2)) && (chk_crash(g,d,3)) && (chk_crash(g,c,4)) && (chk_crash(g,b,5)) && (chk_crash(g,a,6)))
    for (h=1;h<=8;h++)
    if ((chk_crash(h,g,1)) && (chk_crash(h,f,2)) && (chk_crash(h,e,3)) && (chk_crash(h,d,4)) && (chk_crash(h,c,5)) && (chk_crash(h,b,6)) && (chk_crash(h,a,7)))
    {
    draw_puzzle();
    getch();
    }
    getch();
    }
    unsigned char chk_crash(unsigned char i,unsigned char j,unsigned char d)
    {
    if ((i==j) || (abs(i-j)==d))
    return(FALSE);
    else
    return(TRUE);
    }
    void draw_puzzle(void)
    {
    unsigned char a1,b1,a2,b2,i,v;
    clrscr();
    for (a1=1;a1<=16;a1++)
    for (b1=18;b<=65;b1++)
    {
    gotoxy(b1,a1+d);
    a2=(a1-1)/2+1;
    b2=(b1-18)/6+1;
    if (((a2+b2)%2)==0)
    textcolor(11);
    else
    textcolor(1);
    cprintf("A\0");
    for (i=0;i<8;i++)
    {
    switch(i)
    {
    case 0:{v=a;break;}
    case 1:{v=b;break;}
    case 2:{v=c;break;}
    case 3:{v=d;break;}
    case 4:{v=e;break;}
    case 5:{v=f;break;}
    case 6:{v=g;break;}
    case 7:{v=h;break;}
    }
    gotoxy(15+6*v,5+i*2);
    cprintf("*\0");
    }
    }
    }
    آخرین ویرایش به وسیله MIDOSE : چهارشنبه 04 آذر 1388 در 17:20 بعد از ظهر
    رایزنی با خردمندان ، پیروزی در پی دارد

  32. #21
    کاربر جدید آواتار aminipour
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    9
    تشکر کردن
    5
    18 بار تشکر شده در 5 پست

    نقل قول: الگوریتم هشت وزیر

    این برنامه ی NQueen که n رو از کاربر می خواد و بعدش تمام جوابهای موجود رو چاپ میکنه
    http://barnamenevis.org/attach...1&d=1259154994
    با TC بازش کن Ctrl+F9 رو بزن حالشو ببر
    فایل های ضمیمه فایل های ضمیمه

  33. 3 کاربر از aminipour به خاطر این مطلب مفید تشکر کرده اند:


  34. #22
    کاربر دائمی آواتار sarakh
    تاریخ عضویت
    فروردین 1389
    پست
    101
    تشکر کردن
    23
    6 بار تشکر شده در 5 پست

    نقل قول: الگوریتم هشت وزیر

    سلام می شه راهنماییم کنین از چه روشی برای حل 8 وزیر استفاده کنیم بهتره؟؟؟؟
    مثلا برای مسئله پازل 8 روش جستجوی A* زود به جواب می رسونه.برای 8 وزیر چه روشی بهتره؟؟؟؟؟؟؟؟
    ممنون

  35. #23
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227
    تشکر کردن
    15
    83 بار تشکر شده در 73 پست

    نقل قول: الگوریتم هشت وزیر

    اگر به دست آوردن تمام جواب ها مورد نظر هستش راهی غیر از backtrack وجود نداره.

    اما اگر به دست آوردن فقط یه جواب مورد نظر هستش راه حل O(n) l هم وجود داره.
    IF U R First, U R First
    IF U R Second, U R NOTHING

    پروژه ی دانشجویی مبانی، پیشرفته، ساختمان داده و طراحی الگوریتم
    انجام میدم... just pm me

  36. کاربرانی که به خاطر مطلب مفید qwerty11 از وی تشکر کرده‌اند:


  37. #24
    کاربر دائمی آواتار sarakh
    تاریخ عضویت
    فروردین 1389
    پست
    101
    تشکر کردن
    23
    6 بار تشکر شده در 5 پست

    Question نقل قول: الگوریتم هشت وزیر

    نقل قول نوشته شده توسط qwerty11 مشاهده تاپیک
    اگر به دست آوردن تمام جواب ها مورد نظر هستش راهی غیر از backtrack وجود نداره.

    اما اگر به دست آوردن فقط یه جواب مورد نظر هستش راه حل O(n) l هم وجود داره.

    این راه حل که می گین o(n) چی هست؟چه جوریه؟؟؟؟ممنون می شم اگه در موردش توضیح بدین.

  38. کاربرانی که به خاطر مطلب مفید sarakh از وی تشکر کرده‌اند:


  39. #25
    کاربر دائمی آواتار sarakh
    تاریخ عضویت
    فروردین 1389
    پست
    101
    تشکر کردن
    23
    6 بار تشکر شده در 5 پست

    نقل قول: الگوریتم هشت وزیر

    کسی نمی خواد راهنمااییم کنه که از چه روشی برای حل این مسئله استفاده کنم؟؟؟؟؟؟من نمونه برنامه نمی خوام اگه می شه در مورد الگوریتم های حل این مسئله راهنماییم کنین می خوام خودمو تو زمینه ی برنامه نوییسی تقویت کنم.لطفا راهنماییم کنین.

  40. کاربرانی که به خاطر مطلب مفید sarakh از وی تشکر کرده‌اند:


  41. #26
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    229
    تشکر کردن
    74
    36 بار تشکر شده در 33 پست

    نقل قول: الگوریتم هشت وزیر

    ايني كه ميگن o(n) منظور پيچيدگي زماني الگوريتم هست.و نوعي الگوريتم يا اسم الگوريتم خاصي نيست.
    مسئله n وزير راه حلهاي زيادي داره اگه به كتاب هوش مصنوعي رامين رهنمون مراجعه كني چندتا از اونا را با توضيحات پيدا مي كني
    موفق باشي
    با تشکر
    موفق باشید

  42. کاربرانی که به خاطر مطلب مفید afi_program از وی تشکر کرده‌اند:


  43. #27
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    229
    تشکر کردن
    74
    36 بار تشکر شده در 33 پست

    نقل قول: الگوریتم هشت وزیر

    البته تمام جواب ها را از راه حل غير از backtrack هم ميشه پيدا كرد. مثلا جستجوي اول سطح bfs
    با تشکر
    موفق باشید

  44. 2 کاربر از afi_program به خاطر این مطلب مفید تشکر کرده اند:


  45. پنجشنبه 06 آبان 1389, 15:43 بعد از ظهر

    دلیل
    درخواست پروژه آماده

  46. شنبه 22 آبان 1389, 18:25 بعد از ظهر

    دلیل
    درخواست پروژه آماده

  47. #28
    کاربر دائمی آواتار firststep
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران-خواستم از جنبه تفاهم باهم بگم
    پست
    482
    تشکر کردن
    228
    172 بار تشکر شده در 115 پست

    نقل قول: الگوریتم هشت وزیر

    صورت مساله
    http://4tmu.ir/forum/index.php?topic=3410.0
    و
    http://www.pcpedia.ir/ViewArticle.aspx?ID=80

    ولی کاشکی بسشتر راجب نهوه حلش بحث می شد
    چرا بهلول بین این همه شخصیت ها دیوانگی را برای خود انتخاب کرد؟..؟.؟.؟.؟.؟.؟

    هم دوست دارم و هم خوشحال می شم نظراتتون رو در این باره بشنوم > یا از طریق پیغام خوصوصی یا از طرق ایمیل من



  48. کاربرانی که به خاطر مطلب مفید firststep از وی تشکر کرده‌اند:


  49. #29
    کاربر جدید
    تاریخ عضویت
    آبان 1390
    پست
    1
    تشکر کردن
    6
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    با عرض سلام و خسته نباشید
    عید غدیر رو تبریک میگم به همه شما دوستان عزیز
    یک سوال راجع به مسئله n وزیر؟
    چجوری این مسئله رو با الگوریتم ژنتیک میشه حل کرد؟

  50. #30
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    بابل
    پست
    46
    تشکر کردن
    47
    2 بار تشکر شده در 2 پست

    نقل قول: الگوریتم هشت وزیر



    /********************
    * Eghit Queen *
    * By: *
    * Hassan Rezazadeh *
    * *
    ********************/
    #include <conio.h>
    #include <iostream.h>
    #include <iomanip.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <dos.h>

    const int m=20;
    int k[m][m];
    int Count=0;
    int v=8 , n=8 , i=0 , j=0 , state=0,z,y;

    void remove(int i,int j)
    {
    clrscr();
    int p,q;
    k[i][j]=0;
    Count--;
    for(p=0;p<n;p++)
    if(p!=i)
    k[p][j]--;
    for(p=0;p<n;p++)
    if(p!=j)
    k[i][p]--;
    p=i+1;
    q=j+1;
    while(p<n && q<n)
    {
    k[p++][q++]--;
    }
    p=i-1;
    q=j-1;
    while(p>=0 && q>=0)
    {
    k[p--][q--]--;
    }
    p=i+1;
    q=j-1;
    while(p<n && q>=0)
    {
    k[p++][q--]--;
    }
    p=i-1;
    q=j+1;
    while(p>=0 && q<n)
    {
    k[p--][q++]--;
    }
    }

    void apply(int i,int j)
    {
    int p,q;
    k[i][j]=1;
    Count++;
    for(p=0;p<n;p++)
    if(p!=i)
    k[p][j]++;
    for(p=0;p<n;p++)
    if(p!=j)
    k[i][p]++;
    p=i+1;
    q=j+1;
    while(p<n && q<n)
    {
    k[p++][q++]++;
    }
    p=i-1;
    q=j-1;
    while(p>=0 && q>=0)
    {
    k[p--][q--]++;
    }
    p=i+1;
    q=j-1;
    while(p<n && q>=0)
    {
    k[p++][q--]++;
    }
    p=i-1;
    q=j+1;
    while(p>=0 && q<n)
    {
    k[p--][q++]++;
    }

    }

    void draw()
    {
    clrscr();
    for(int p=0;p<n;p++)
    {
    for(int q=0;q<n;q++)
    {
    if(k[p][q]!=1)
    cout<<setw(3)<<" "<<'.';
    else
    {
    cout<<setw(3)<<" "<<'X';

    }
    cout<<" ("<<q+1<<"-"<<p+1<<")";


    }
    cout<<endl<<endl;
    }

    cout<<endl<<endl<<" Total states founded for "<<n<<"*"<<n<<" boards and "<<v<<" Queens: "<<state<<endl;
    }

    void check()
    {
    if(Count==v)
    {
    state++;
    draw();
    cout<<endl<<endl<<" Press Esc to exit or press Enter to continue...";
    cout<<"\n\n\n By: Hassan Rezazadeh";
    start:
    int c=getch();
    if(c==27)exit(0);
    if(c!=13) goto start;
    }
    }

    void move(int p,int q)
    {
    apply(p,q);
    check();
    for(int i=p;i<n;i++)
    {
    for(int j=0;j<n;j++)
    if(k[i][j]==0)
    move(i,j);
    }
    remove(p,q);
    }

    void main()
    {
    cout<<"**************Queens******************"<<en dl<<endl;
    clrscr();
    draw();
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    move(i,j);

    clrscr();
    cout<<" Total states:"<<state<<endl;
    gotoxy(35,25);
    textcolor(2);
    cout<<"By: Hassan Rezazadeh\n\n"<<"\n\n\n THE END";
    delay(100);
    getch();

    }


  51. کاربرانی که به خاطر مطلب مفید حسن رضازاده از وی تشکر کرده‌اند:


  52. #31
    کاربر جدید
    تاریخ عضویت
    دی 1388
    پست
    11
    تشکر کردن
    2
    12 بار تشکر شده در 3 پست

    نقل قول: الگوریتم هشت وزیر

    با سلام
    دوستان کسی میتونه مسئله 8 وزیر رو به 8 "رخ" تغییر بده... در واقع میخواهم تمامی حالت هایی که 8 رخ در صفحه شطرنج قرار میگیرند و همدیگر رو نزنند رو بدونم که بتونم مقادیر ارزش خانه هایی که رخ دارند رو برگردونم...

  53. پنجشنبه 14 اردیبهشت 1391, 15:43 بعد از ظهر


  54. #32
    کاربر جدید
    تاریخ عضویت
    آبان 1390
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    سلام. ببخشید برنامه hill climbing را دانلود کردم .حالا چه جوری باید اجراش کنم ؟؟؟

  55. #33
    کاربر جدید
    تاریخ عضویت
    فروردین 1391
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    با سلام و خسته نباشید من الگوریتم 8وزیر روش کلاسیک و ژنتیک و با توضیحات در نرم افزار مطلب میخوام

  56. یکشنبه 01 اردیبهشت 1392, 19:55 بعد از ظهر


  57. #34
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1390
    پست
    74
    تشکر کردن
    7
    یک بار تشکر شده در یک پست

    نقل قول: الگوریتم هشت وزیر

    سلام دوستان

    می خواستم بدونم کسی می تونه مساله 8 وزیر رو به وسیله DFS برام پیاده سازی کنه و یه مقدار توضیح بده؟؟

    با تشکر

  58. #35
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1390
    پست
    74
    تشکر کردن
    7
    یک بار تشکر شده در یک پست

    نقل قول: الگوریتم هشت وزیر

    خسته نباشید دوستان

    من می خواستم مسئله 8 وزیر را به وسیله dfs پیاده سازی کنم کمک می خواستم؟ لطفا راهنمایی کنید
    با تشکر

  59. #36
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1390
    پست
    74
    تشکر کردن
    7
    یک بار تشکر شده در یک پست

    نقل قول: الگوریتم هشت وزیر

    سلام

    دوستان می خواستم پیاده سازی 8 وزیر را با dfs برام توضیح بدین؟
    با سپاس

  60. #37
    کاربر جدید آواتار reza123654
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    برازجان
    پست
    10
    تشکر کردن
    3
    یک بار تشکر شده در یک پست

    نقل قول: الگوریتم هشت وزیر

    سلام دوستان
    نیاز ب کمک فوری دارم
    من الگوریتم 8 وزیر به زبان vb را به استاد ارائه دادم حالا بهونه کرده که باید سه تابع اصلی از برنامه رو واسم توضیح بدی و منم اصلا نمیدونم ازم چی میخواد
    دوستان هرکس میدونه منظورش چیه لطفا کمک کنید شیش نمره داره
    لینک : http://artificial.ir/intelligence/at...-queentest-rar
    التماس دعا..

  61. #38
    کاربر جدید
    تاریخ عضویت
    آذر 1392
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    سلام آقا جلیل
    اگه امکانش هست این برنامه که آپلود کردید رو سورسش هم تو سایت برامون بزارید
    تشکر

  62. #39
    کاربر جدید
    تاریخ عضویت
    خرداد 1393
    پست
    1
    تشکر کردن
    2
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

    نقل قول نوشته شده توسط powerboy2988 مشاهده تاپیک
    برنامه 8 وزیر در c

    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<complex.h>

    #define TRUE 1
    #define FALSE 0

    unsigned int a,b,c,d,e,f,g,h;
    void main(void)
    {
    unsigned char chk_crash(unsigned char,unsigned char,unsigned char);
    void draw_puzzle(void);
    clrscr();
    for (a=1;a<=8;a++);
    for (b=1;b<=8;b++);
    if (chk_crash(a,b,1))
    for (c=1;c<=8;C++‎‎)
    if ((chk_crash(c,b,1)) && (chk_crash(c,a,2)))
    for (d=1;d<=8;d++)
    if ((chk_crash(d,c,1)) && (chk_crash(d,b,2)) && (chk_crash(d,a,3)))
    for(e=1;e<=8;e++)
    if ((chk_crash(e,d,1)) && (chk_crash(e,c,2)) && (chk_crash(e,b,3)) && (chk_crash(e,a,4)))
    for (f=1;f<=8;f++)
    if ((chk_crash(f,e,1)) && (chk_crash(f,d,2)) && (chk_crash(f,c,3)) && (chk_crash(f,b,4)) && (chk_crash(f,a,5)))
    for (g=1;g<=8;g++)
    if ((chk_crash(g,f,1)) && (chk_crash(g,e,2)) && (chk_crash(g,d,3)) && (chk_crash(g,c,4)) && (chk_crash(g,b,5)) && (chk_crash(g,a,6)))
    for (h=1;h<=8;h++)
    if ((chk_crash(h,g,1)) && (chk_crash(h,f,2)) && (chk_crash(h,e,3)) && (chk_crash(h,d,4)) && (chk_crash(h,c,5)) && (chk_crash(h,b,6)) && (chk_crash(h,a,7)))
    {
    draw_puzzle();
    getch();
    }
    getch();
    }
    unsigned char chk_crash(unsigned char i,unsigned char j,unsigned char d)
    {
    if ((i==j) || (abs(i-j)==d))
    return(FALSE);
    else
    return(TRUE);
    }
    void draw_puzzle(void)
    {
    unsigned char a1,b1,a2,b2,i,v;
    clrscr();
    for (a1=1;a1<=16;a1++)
    for (b1=18;b<=65;b1++)
    {
    gotoxy(b1,a1+d);
    a2=(a1-1)/2+1;
    b2=(b1-18)/6+1;
    if (((a2+b2)%2)==0)
    textcolor(11);
    else
    textcolor(1);
    cprintf("A\0");
    for (i=0;i<8;i++)
    {
    switch(i)
    {
    case 0:{v=a;break;}
    case 1:{v=b;break;}
    case 2:{v=c;break;}
    case 3:{v=d;break;}
    case 4:{v=e;break;}
    case 5:{v=f;break;}
    case 6:{v=g;break;}
    case 7:{v=h;break;}
    }
    gotoxy(15+6*v,5+i*2);
    cprintf("*\0");
    }
    }
    }

    میشه ی توضیح در مورد دستورا بدید
    ممنون میشم

  63. #40
    کاربر جدید
    تاریخ عضویت
    خرداد 1393
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: الگوریتم هشت وزیر

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

برچسب های این تاپیک

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •