Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.06 c
15-1266060403
GanibalLector
2010-02-13 14:26
2010.08.27
Транссиб


15-1264517700
Nucer
2010-01-26 17:55
2010.08.27
Proxy сервер на 1000+ соединений на Delphi с исходным кодом


3-1233731200
Mike Kouzmine
2009-02-04 10:06
2010.08.27
Не выполняется селект в хранимой процедуре


3-1240340701
VoznikVopros
2009-04-21 23:05
2010.08.27
Как произвести "выделение" в DBLookupListBox1 согласно № эл. в БД


2-1271749541
mick912
2010-04-20 11:45
2010.08.27
спрочные системы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский