Излезе домашно 5. То е по-творческо и надявам се интересно. Прегледайте го и кажете ако имате някакви коментари. (Например може ограниченията да не са добри за качествен турнир). Ако не може да понапишете нещо и да видите накрая как вашата програма ще се държи срещу останалите :).
Мисля, че има случаи, в които X-четата побеждават доста лесно.
Например:
Мисля, че първият случай е прекалено елементарен, за да се включва в състезание между програмите.
За втория не съм много сигурен. Ако един срещу друг играят двама души, тогава ми се вижда безсмислено, но схемата не е чак толкова проста и очевидна и най- вероятно няма да е лесно да се напише алгоритъмът, така че не знам- преценете дали си струва или не.
Например:
- размер >= 4, 3 еднакви
- размер >= 6, 4 еднакви
Мисля, че първият случай е прекалено елементарен, за да се включва в състезание между програмите.
За втория не съм много сигурен. Ако един срещу друг играят двама души, тогава ми се вижда безсмислено, но схемата не е чак толкова проста и очевидна и най- вероятно няма да е лесно да се напише алгоритъмът, така че не знам- преценете дали си струва или не.
Коментарът не е напълно верен, при изискване за 4 не е лесно да се победи колкото и да е голяма дъската.
Не мисля, че си прав. Не съм писал кодът на С++ и е напълно възможно да не е елементарен, но въпреки това при дъска с размер по- голям от 6, този който мести първи печели в 5 хода, което не е много, а и системата не е чак толкова сложна.
А между другото вариантите с размер 4 и 4 еднакви, размер 5 и 5 еднакви и т.н. и дори тези с размер 7 и 6 еднакви и размер 6 и 5 еднакви поне на мен ми струва, че винаги ще завършват с реми.
А между другото вариантите с размер 4 и 4 еднакви, размер 5 и 5 еднакви и т.н. и дори тези с размер 7 и 6 еднакви и размер 6 и 5 еднакви поне на мен ми струва, че винаги ще завършват с реми.
Това, че една игра би завършвала с реми, или че се печели лесно не означава, че това не би била валиден вход. Най-вероятно основно вниманието ще е за 3 в 3x3 дъска, 4 в 5x5 дъска или 5 в 7x7 дъска. Програмата ви обаче би трябвало да играе правилно при всички дъски. Също така можем да ви дадем някаква начална дъска, от която се започва и да трябва да спечелите в този случай.
Възможно ли е печелившата "редица" да не е част от главните диагонали
Например:
5 3
. . X O O
. . . X O
. . . . X
. . . . .
. . . . .
Ами в условието нищо не е казано значи би трябвало да мойе :-)
Хмм не виждам какво имаш предвид за главния диагонал (можеш да спечелиш на кой да е ред/стълб или диагонал стига да имаш необходимия брой съседни). Иначе внимавайте да спазвате формата стрикно (не слагайте интервали и т.н.) защото иначе автоматичното сбиване на програми няма да е възможно.
Един въпрос:
Какво става ако на входа се получи:
3 3
XXX
O..
.O.
т.е. някой вече е спечелил
или
3 3
XOX
XXO
OOX
т.е. всичко вече е запълнено и има реми?
Трябва ли да има някакъв изход? Може би същия като входа?
Какво става ако на входа се получи:
3 3
XXX
O..
.O.
т.е. някой вече е спечелил
или
3 3
XOX
XXO
OOX
т.е. всичко вече е запълнено и има реми?
Трябва ли да има някакъв изход? Може би същия като входа?
Ще ви бъдат подавани само позиции в които можете да направите ход (не са завършили), при това такива които са реално достижими (има равен брой хиксове и нули или хиксовете са с 1 повече).
Между другото, на някои хора явно им е интересно, който иска да пише по-сложна програма може да направи ограниченията да раобтят до 10 например (или ако искате и повече?). За оценяването няма да бъдат пускани тестове с големина повече от 7 както е в условието, но ако смятате че можете да напишете добро решение и за по-големи напишете го. Мога да пусна направя допълнителен турнир с по-големи дъски за ентусиасти.
Между другото, на някои хора явно им е интересно, който иска да пише по-сложна програма може да направи ограниченията да раобтят до 10 например (или ако искате и повече?). За оценяването няма да бъдат пускани тестове с големина повече от 7 както е в условието, но ако смятате че можете да напишете добро решение и за по-големи напишете го. Мога да пусна направя допълнителен турнир с по-големи дъски за ентусиасти.
И още един интересен въпрос - какво е ID-то на задачата?
"toto" ли е? Защото никъде не е уточнено или поне аз не виждам да е...
"toto" ли е? Защото никъде не е уточнено или поне аз не виждам да е...
Аз не съм много навътре в мудъл, но не знам за какво ти е това ID (не знам и какво е). Трябва ли ти за да предадеш решение? Защото вече има предадени без да съм го обявявал.
Имах предвид идентификатора на задачата, който трябва да включим в имета на файла който предаваме :) (fn(N)_(ID))
Аха :)
ами ползвай toto например.
ами ползвай toto например.
https://learn.fmi.uni-sofia.bg/mod/resource/view.php?id=456 :-D
Хайде де, напишете по едно тото :). Аз ще пусна един фиктивен random играч, така, че дори и само него да победите пак ще вземете точки. Имайте предвид, че тази задача има много висока максимална оценка, т.е. ако напишете добра програма, може да вземете доста точки.
Изчакай малко, има още 2 дена... :) Ще пратим
Ако не ме домързи както ме мързи с предното домашно - ще пратя решение.
Ти вземи да го провериш предното домашно, а остави тотото на нас :-D
A taka ..... vzemi se v ruce:)
Аз имам следния въпрос. Държите ли програмата да използва minimax и алфа-бета отсичане или може да я направим, без да използваме тези алгоритми?
Ако да, имаме ли шанс пак за максималния брой точки (ако програмата ни е на ниво, разбира се)?
И само още едно въпросче не много по темата. Знае ли се на колко ще се делят точките от домашните, в смисъл една точка от тестовете на колко точки от домашните е равна?
Ако да, имаме ли шанс пак за максималния брой точки (ако програмата ни е на ниво, разбира се)?
И само още едно въпросче не много по темата. Знае ли се на колко ще се делят точките от домашните, в смисъл една точка от тестовете на колко точки от домашните е равна?
Няма никакво изискване как да се направи, ако искате играете random :). Само трябва да работи достатъчно бързо и да спазва формата на входа и изхода. Пък после оценяването е на база на колко игри сте спечелили/равни/загубили.
Да помоля за 1-2 дена отсрочка. I have a truly marvellous algorithm that this page is too narrow to contain :)
Давам отсрочка до 15.06. Ако имате нужда може и повече да удължа... Смятам че задачата е интересна и творческа, така че агитирайте и други за да стане по-голям турнир.
Имам един леко странен въпрос: може ли да си разменим компилирани версии на програмките, за да ги тестваме една срещу друга? Или единствения начин да си тествам е да пусна програмата си сама срещу себе си? То така винаги се бия, което почти нищо не ми говори ;-)
Или пък преподавателите, ако им се занимава, да напишат един вариант (отново компилиран, за да не преписваме), колкото да тестваме набързо по няколко хиляди пъти :-) Иначе на ръка да повтарям действията на друга програма, която не е писана да работи в такъв формат е малко мъчително.
А и евалата за готината задачка.
Или пък преподавателите, ако им се занимава, да напишат един вариант (отново компилиран, за да не преписваме), колкото да тестваме набързо по няколко хиляди пъти :-) Иначе на ръка да повтарям действията на друга програма, която не е писана да работи в такъв формат е малко мъчително.
А и евалата за готината задачка.
Мен леко ме притеснява това ограничение от 2 секунди. Твърде относително е, защото изключително зависи от бързината на процесора. Можете ли да кажете ориентировачно на какъв процесор ще се правят тестовете?
Това е максимално ограничение и не е добре да сте "на ръба". Процесора най-вероятно ще е Pentium или Athlon поне на 1700MHz.
Мерси за информацията. Може би наистина не е добре да сме "на ръба", но все пак от времето за изпълнение зависи колко "добре играе" съответната програма и колко точки ще бъдат присъдени съответно
Леле супер си . Благодаря за отсрочката- точно ме беше яд, че не я направих. Сега сядам и ще изпапкам
Аз моля за отсрочка. До края на уикенда, ако не е твърде нагло...
Извинявам се, но просто първите дни от сесията бяха много натоварени. Извинявам се, също така, че пиша след 15ти (крайния срок), но нямах нет.
Аз имам следният конструктивен въпрос. Няма ли все пак да се провери тази задача поне за хората които все още не сме се явили на изпит и ще го направим в събота. Все пак аз силно разчитам на точките от тази задача за да си достигна точките които искам. Мисля че съм написал една доста простичка програма която ще ми донесе добро класиране в турнира.