Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Антикомпьютерный контроль (АКК)   Найти похожие ветки 

 
xayam ©   (2010-05-26 12:25) [0]

Вот такая тема. Есть запись партии в шахматы, нужно определить использовалась ли помощь программ или нет? Интересуют естественно алгоритмы, идеи, исходники, если есть. Компьютерных движков навалом, АКК не нашел.


 
Думкин ©   (2010-05-26 12:31) [1]

1.e2-e4

Дисквалификация! Вы используете программу!


 
xayam ©   (2010-05-26 12:33) [2]

если бы еще все партии выигрывались бы одним этим ходом ;)


 
xayam ©   (2010-05-26 12:42) [3]

кстати вот и код :)
<?php
function ACC($moves) {

 if ( $moves[0]["from"] == "e2"  &&  $moves[0]["to"] == "e4" )
  return true;  //используется прога
else
  return false; //не используется прога

}
?>


 
oldman ©   (2010-05-26 12:47) [4]


> Есть запись партии в шахматы, нужно определить использовалась
> ли помощь программ или нет?


Если существует запись, программа использовалась!
:)


 
brother ©   (2010-05-26 13:02) [5]

> Если существует запись, программа использовалась!

VHS кассета? Пленка 12мм, там какая программа? ;)


 
xayam ©   (2010-05-26 13:10) [6]


> oldman ©   (26.05.10 12:47) [4]
> Если существует запись, программа использовалась!

тогда так :)

<?php
function ACC($notation = false) {

 return $notation;

}
?>

PS А по делу есть что сказать?


 
brother ©   (2010-05-26 13:12) [7]

имхо, на докторскую тянет...


 
xayam ©   (2010-05-26 13:21) [8]

судя по ответам - тянет как минимум на 5 страниц флейма :)


 
Медвежонок Пятачок ©   (2010-05-26 13:21) [9]

идеи, исходники, если есть.

Есть идея, что даже если кто-то получит исходник и вычислит, что я пользовался программой, то доказать это он не сможет, а я всегда смогу отвертеться от того, что использовалась программа. (даже если у меня найдут запущенный процесс этой программы и даже если это будет документально зафиксировано).

Я скажу, что все ходы мои, а в программу я даже не смотрел, либо смотрел, но после того, как сделаю самостоятельный ход.


 
Медвежонок Пятачок ©   (2010-05-26 13:26) [10]

Иными словами получение знания о том, что программа работала во время матча ничего не дает.

И даже знание того, что программа НЕ работала во время матча - тоже ничего не дает (она не была запущена компе с которого играли, но была запущена на другом компе, к которому у проверяющего исходника нет доступа).


 
xayam ©   (2010-05-26 13:27) [11]


> Медвежонок Пятачок ©   (26.05.10 13:21) [9]
> Я скажу, что все ходы мои, а в программу я даже не смотрел,
>  либо смотрел, но после того, как сделаю самостоятельный ход.

ну как бы... иногда люди хотят играть только с людьми, а что ты скажешь не имеет особого значения - тебя просто пометят как компьютер и будешь играть с копмьютерами. Подобное притягивает подобное! (Это наш секрет!)


 
Медвежонок Пятачок ©   (2010-05-26 13:32) [12]

Что хотят и чего не хотят - это другой вопрос.
А пометить игрока как комп легче легкого:

"я его пометил как бота потому что он у меня слишком часто выигрывает"

и не волнует ни разу что там на самом деле человек был, а не бот.


 
RWolf ©   (2010-05-26 13:33) [13]

с началом матча запускаем кластер из компьютеров, на которых запущены все возможные шахматные программы. Каждый ход игрока посылается, кроме оппонента, ещё и всем компьютерам. Ответные ходы программ сравниваем с ответом оппонента. Если видим совпадение с одной из программ — вероятно, ей оппонент и пользуется.


 
xayam ©   (2010-05-26 13:33) [14]


> Медвежонок Пятачок ©   (26.05.10 13:32) [12]
> "я его пометил как бота потому что он у меня слишком часто
> выигрывает"
> и не волнует ни разу что там на самом деле человек был,
> а не бот.

почему это не волнует? Как раз волнует, раз алгоритмы спрашиваю. Если бы не волновало, то как бы и проблемы не было бы. Не?


 
Медвежонок Пятачок ©   (2010-05-26 13:34) [15]

ну как бы... иногда люди хотят играть только с людьми, а что ты скажешь не имеет особого значения

Ну вот тебе ситуация.
Играешь ты, и играю я.
Рядом со мной пролиант 580 с четырьмя зионами и шахматной программой.
Я всегда делаю тебя.

Твои действия? (при условии что у тебя есть волшебный детектор упомянутый выше)


 
brother ©   (2010-05-26 13:34) [16]

> на которых запущены все возможные шахматные программы

такая же мысль была... иначе никак...)


 
12 ©   (2010-05-26 13:36) [17]

на 100%, даже на 80, невозможно, имхо, такое сделать

идея - подсовывать компьютерным движкам, позиции смотреть как сыграют они и как сыграли на самом деле.

Особенно:
цейтнотные
жертвы, когда ничего не видать от них на первый взгляд

в любом случае нужен совет квалифицированного игрока-человека, не ниже 1го разряда/кмс, имхо


 
Думкин ©   (2010-05-26 13:37) [18]


> вероятно, ей оппонент и пользуется.


 
Медвежонок Пятачок ©   (2010-05-26 13:37) [19]

Другая ситуация:

Играешь ты и играет каспаров (ну допустим, что ему скучно и он вышел в инет)
И он тоже постоянно тебя делает.

"Какие ваши доказательства?" - /* как однажды спросили у губернатора калифорнии в красной жаре */


 
xayam ©   (2010-05-26 13:37) [20]


> RWolf ©   (26.05.10 13:33) [13]
> с началом матча запускаем кластер из компьютеров

это как бы не алгоритм. Интересует программная реализация, а не техническая. Тем более где взять кластер? Все ли программы учтутся?


 
xayam ©   (2010-05-26 13:41) [21]


> Медвежонок Пятачок ©   (26.05.10 13:34) [15]
> Ну вот тебе ситуация.
> Играешь ты, и играю я.
> Рядом со мной пролиант 580 с четырьмя зионами и шахматной
> программой.
> Я всегда делаю тебя.
> Твои действия? (при условии что у тебя есть волшебный детектор
> упомянутый выше)

некорректные условия, скорей так:
играют двое через сайт
я админю сервер
у меня есть волшебный детектор
Мои действия? Забанить тебя или перенести в отдельную песочницу для прог :)


 
RWolf ©   (2010-05-26 13:42) [22]


> xayam ©   (26.05.10 13:37) [20]

а эту задачу все равно можно решить лишь оценочно.
Мало ли, вдруг у противника шахматная мысль так устроена, что выдаёт одни результаты с компьютером.

> Тем более где взять кластер? Все ли программы учтутся?

Не так уж и много хороших компьютерных программ.
И по железу верхняя граница есть — сомневаюсь, что у оппонента Deep Blue под боком.


 
Медвежонок Пятачок ©   (2010-05-26 13:43) [23]

некорректные условия, скорей так:
играют двое через сайт
я админю сервер
у меня есть волшебный детектор
Мои действия? Забанить тебя или перенести в отдельную песочницу для прог :)


Именно так. Двое и через сайт.
Но у меня рядом сервер. Причем отдельно стоящий, с моим компом никак не связанный (кроме визуальной доступности)


 
xayam ©   (2010-05-26 13:43) [24]


> 12 ©   (26.05.10 13:36) [17]
> на 100%, даже на 80, невозможно, имхо, такое сделать

на Шахматной Планете есть АКК, и работает я проверял несколько раз.


 
RWolf ©   (2010-05-26 13:44) [25]


[22]
> компьютерных

шахматных, конечно


 
xayam ©   (2010-05-26 13:46) [26]


> Медвежонок Пятачок ©   (26.05.10 13:43) [23]
> Но у меня рядом сервер. Причем отдельно стоящий, с моим
> компом никак не связанный

а причем здесь это. Вход для АКК - запись партии, выход - true или false. А как ты там играешь - через другой комп или нет, не имеет значения.


 
12 ©   (2010-05-26 13:46) [27]

интересно бы взглянуть на график минимаксной функции ИИ при игре - может из него чего видно?


 
Медвежонок Пятачок ©   (2010-05-26 13:47) [28]

вообще это классический пример, когда имеют ввиду одно, задачу формулирую другую, а решение пробуют программное.

а на самом деле здесь все не так.
задача не в том, чтобы выявить читера.
задача в том, чтобы не играть с тем, с кем не интересно играть.

а с кем не интересно играть?

с тем кто всегда проигрывает (в том числе если это человек).
с тем кто всегда выигрывает (в том числе если это человек).
возможно еще есть варианты.

вот и все.


 
xayam ©   (2010-05-26 13:49) [29]


> 12 ©   (26.05.10 13:46) [27]
> интересно бы взглянуть на график минимаксной функции ИИ
> при игре - может из него чего видно?

т.е. по-любому нужен свой движок для оценки? И как график строить?


 
Медвежонок Пятачок ©   (2010-05-26 13:49) [30]

а причем здесь это. Вход для АКК - запись партии, выход - true или false.

Ну положим я каспаров или просто помню много партий наизусть.
Меня твой детектор пометит? (По сильной корреляции моих ходов с известными комбинациями)


 
RWolf ©   (2010-05-26 13:50) [31]


> Медвежонок Пятачок ©   (26.05.10 13:47) [28]

а если субъект использует программу, но слабую?


 
xayam ©   (2010-05-26 13:51) [32]


> т.е. по-любому нужен свой движок для оценки

и с чего ты взял, что оценка моего движка совпадет с оценкой проверяемой играющего прогой?


 
Медвежонок Пятачок ©   (2010-05-26 13:51) [33]

а если субъект использует программу, но слабую?

Дык в том то и дело!

см. [28]


 
Медвежонок Пятачок ©   (2010-05-26 13:56) [34]

Смысл любой игры - в недетерминированности ее результата.

Интересно - это когда можно и проиграть и когда можно выиграть.

При этом неважно - использует противник чит или нет. Или там вообще нет противника, а работает бот.

И не надо говорить, что с ботом играть всегда неинтересно.
Иначе бы не было партий с тем самым дипблю.

Один играл, а куча народа наблюдала за процессом.
Если бы это было неинтересно, ничего бы подобного не было бы.


 
12 ©   (2010-05-26 14:02) [35]

да, движок полюбому нужен, имхо
и не один или один но глубину перебора разную ставить

Имеем Н графиков минимакса на разных глубинах для каждого хода
Оцениваем график ходов, смотрим отклонения от каждого.
При наличии большого количества отклонений на глубине более 4-5-6 полуходов и выше, особенно в миттельшпиле - я бы поставил оценку "не используется программа"


 
xayam ©   (2010-05-26 14:06) [36]

да, но оценочная функция разная, соответственно как можно полагаться на мою оценку, если она не будет соответствовать оценке играющего прогой. Об этом несоответствии я конечно не узнаю, поскольку неизвестен алгоритм оцен.функции.


 
Медвежонок Пятачок ©   (2010-05-26 14:12) [37]

я бы поставил оценку "не используется программа"

Имеется 500 аккаунтов на которых играют чайники.
У них нет программы, и они всегда проигрывают "матом в два хода"

им ставится оценка "нет программы"

Иным читерам, кто попал под раздачу, оценка выставлена "используется программа"

Что в итоге:
знаем с кем играть не стоит.
но, тем не менее, все еще не знаем, с кем играть стоит.

/* Не думаю, что играть с чайником более интересно, чем с читером */


 
Омлет ©   (2010-05-26 14:18) [38]

Все, кто выигрывает, жулики.


 
12 ©   (2010-05-26 14:18) [39]


> но оценочная функция разная,

нет

оценивать ходы Подопытного опять же движком, что и построил "идеальные" графики.
Все программы похожи - различаются только глубиной перебора, и эвристикой отсечения неперспективных ветвей.

Компьютер оценивает ходы Подопытного - строится график
Компьютер на разных уровнях глубины перебора строит "идеальный" график.

Человек может заглянуть вперед намного дальше ИИ, и сыграть сильнее, на перспективу, но ИИ оценит это как слабость. Точка будет ниже чем его точки.

И надо посчитать такие точки, с учетом смещения к концу игры(больше весят такие)


 
Медвежонок Пятачок ©   (2010-05-26 14:24) [40]

И надо посчитать такие точки, с учетом смещения к концу игры(больше весят такие)


эти соображения заточены на предположении, что если у противника есть программа, то он всю партию играет с помощью ее.



Страницы: 1 2 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.05 c
2-1273664604
Дмитро
2010-05-12 15:43
2010.08.27
delphi


2-1271426478
davinchi
2010-04-16 18:01
2010.08.27
Как получить TEvent.WaitFor(<timeout>) с результатом wrError?


2-1271927010
Rail
2010-04-22 13:03
2010.08.27
меню


2-1274530341
Delphist2
2010-05-22 16:12
2010.08.27
method insert класса range завершен неверно


2-1275547550
My__Nick__Name
2010-06-03 10:45
2010.08.27
Unicode в Open Office 3