Witam
Potrzebuje pomocy w napisaniu programu w Wolfram Mathematica. Program ma rozwiązywać problem dominacji skoczka/gońca w szachach.
Dzięki za wszelką pomoc.
#1
Napisano 31.01.2016 - 21:58
Napisano 25.09.2011 - 17:55
#2
Napisano 31.01.2016 - 23:29
1. Zapoznaj się z problemem.
2. Pomyśl co chcesz napisać.
3. Napisz jakiś pseudokod.
4. Przetłumacz na WL.
Ja służę pomocą w kroku 4 lub wcześniejszych, ale musisz wrzucić jakieś swoje przemyslenia, cokolwiek żeby było o czym dyskutować
#3
Napisano 02.02.2016 - 19:52
W dominacji skoczka trzeba tak rozłożyć figury na planszy, żeby każde wolne pole było bite. Wiem, że minimalna liczba skoczków na planszy to 12. Udało się napisać coś takiego
#4
Napisano 03.02.2016 - 01:15
Generalnie taka uwaga - jakbyś mogła nie wrzucać zdjeć z kodem, tylko skopiować go i wkleić w treśc posta i sformatować, żeby był czytelny. Albo jak Ci się nie chce, to po prostu załącz plik .nb do posta.
Co do samego zadania, to Twój kod ma znajdować optymalne ustawienie skoczków (czyli równo 12) czy dowolne? Bo jak dowolne, to możesz po prostu ustawić skoczka na każdym polu W Twoim kodzie nie widzę żadnego ograniczenia na liczbę skoczków. Kolejna sprawa jest taka, że Ty teraz losowo umieszczasz skoczków na planszy, więc jak dodasz ograniczenie na ich liczbę, to nie ma gwarancji, że Twój program znajdzie dobre ustawienie.
#5
Napisano 04.02.2016 - 00:13
Nie chodzi o to, że mi się nie chce Ograniczenia na liczbę skoczków raczej nie było, ale nie wiem czy chodziłoby o to w zadaniu żeby postawić ich na każdym polu.
nie wiem czy o to chodziło ale wklejam kod i jeszcze dodatkowo załączę plik
#6
Napisano 04.02.2016 - 22:34
Sporo było źle, zarówno koncepcyjnie, jak i jeśli chodzi o sam Wolfram Language. Poprawiłem ten kod i zoptymalizowałem
Ogólnie działa tak jak Ty planowałaś, ale dodatkowo można mu powiedzieć ile chce się mieć skoczków na planszy i on szuka dobrego ustawienia, dopóki nie znajdzie takiego z żądaną liczbą skoczków. Z tym, że dla 12, to on będzie szukał niemal w nieskończoność, ale np już dla 16 da się szybciutko znaleźć
Tu znajdziesz plik https://www.dropbox..../szachy.nb?dl=0
Jakby były jakies pytania, to oczywiście pytaj śmiało.
Jeśli nie, to generalnie muszę przyznać, że chwilę nad tym spędziłem, więc jeśli mogłabyś przy moich postach w tym temacie kliknąć na "zielony plus" to będę się czuł w pełni doceniony
#7
Napisano 04.02.2016 - 23:07
Dzięki wielkie
#8
Napisano 04.02.2016 - 23:43
https://www.dropbox.... goniec.nb?dl=0
Użytkownik Clxa100 edytował ten post 05.02.2016 - 00:12
#9
Napisano 05.02.2016 - 20:01
Dobra wiadomość jest taka, że z Twoim kodem wszystko jest ok tzn da się pewnie napisać to trochę krócej, ale działa dobrze.
Z tym ileChceMiećGońców to jest taka sprawa, że program ma znaleźć ustawienie, w którym jest nie więcej gońców, niż wskazuje ta zmienna, więc np dla ileChceMiećGońców = 15 jeśli program znajdzie ustawienie z 11 gońcami, to je zaakceptuje i zakończy działanie.
Jeśli chcesz napisać wersję, w której program znajduje ustawienie z dokładnie taką liczbą gońców jak ileChceMiećGońców, to trzeba coś zmienić. Spróbuj sama pokombinować i ew. służę dalszą pomocą.