СергейСПитер: К сожалению или нет, но многие здравые шахматисты осознали, что комп не просто лучше считает, а и понимает, трактует позиции, хоть и несколько особенно.Ща уже поставлена конкретная задача для компа - обыгрывать человека любым цветом , ну там и рейтинг типа скромных 4000. Не партией и правительством , а гораздо более авторитетным челом- Васей!
Причем не за счет увеличения быстродействия компов, а именно за счет усиления алгоритма.
Васе я доверяю
Осталась самая малость - добиться, чтобы компы наращивали силу без Васи.
СергейСПитер: К сожалению или нет, но многие здравые шахматисты осознали, что комп не просто лучше считает, а и понимает, трактует позиции, хоть и несколько особенно.Ща уже поставлена конкретная задача для компа - обыгрывать человека любым цветом , ну там и рейтинг типа скромных 4000. Не партией и правительством , а гораздо более авторитетным челом- Васей!
Причем не за счет увеличения быстродействия компов, а именно за счет усиления алгоритма.
Васе я доверяю
А нельзи ли об этом где-нибудь почитать? Не верится мне в это. Уж извините.
__________________________
Спасение там, где опасность.
арт.: У кого повернется язык утверждать, что компы превосходят белковых в понимании? Следовательно все эти матчи - чистой воды спорт. Очень странный спорт. Ибо кому-нибудь придет в голову мысль проверить, что крепче - собственный лоб или железный костыль? Кто быстрей преодолевает расстояния мотор или бегун?
Кто будет утверждать, что в последнем подобном матче фриц превзошел Крамника в понимании?
Несложный вывод - бессмысленность матчей человек-комп...
По-моему, для человечества еще не все потеряно.
Вот, например, сегодня ночью, реанимировав очередного клиентского железного друга [старенькую, но обожаемую мной удобную, малогабаритную и простенькую модель Dell OptiPlex(Pentium 4, 3.0 GHz, 512 MB)], решил его немного потестить, устроив блиц-матч (трехминутки) против Rybka 3 в оболочке Chess Assistant 10. Привожу [в текстовом формате без примечаний и несколько более развернуто ("комментировал" в Chess Base 10, попутно "подкопав" оттуда и чужой - Tsesarsky - коммент) в PGN-формате] одну, на мой взгляд, показательную (тьма "новинок"! ) партию...
По многочисленным просьбам трудящихся:
УБИТЬ STARУШКУ II
МяcоRybka 'SHE LOST IN TIME WITH EXTRA PAWN' Идя навстречу уважаемым зрителям, бурно обсуждавшим вчерашнюю премьеру (см. выше "P.S."),
вызвавшую немало восторженных откликов,
предлагаем трансляцию второй части чадыр-лунгского триллер-балета.
Jester_Buffoon - Rybka3 [E99]
Match 'JB vs Rybka3_CA10' Chadyr-Lunga (Admin-IT) (3), 15.04.2009
[Jester_Buffoon]
СергейСПитер: К сожалению или нет, но многие здравые шахматисты осознали, что комп не просто лучше считает, а и понимает, трактует позиции, хоть и несколько особенно.Ща уже поставлена конкретная задача для компа - обыгрывать человека любым цветом , ну там и рейтинг типа скромных 4000. Не партией и правительством , а гораздо более авторитетным челом- Васей!
Причем не за счет увеличения быстродействия компов, а именно за счет усиления алгоритма.
Васе я доверяю
То, что комп лучше считает (перебирает) - в этом давно нет никакого сомнения. Речь идет не о том, насколько хорошо комп "понимает". Он вообще не "понимает"! Речь идет о том, какой глубине перебора соответствует современное понимание игры человеком. И при какой глубине перебора наступает "насыщение", то есть такой уровень игры при котором программа не проигрывает ни кому и ни чему. Первая величина характеризует степень постижения законов игры человеком; вторая характеризует саму игру - ее объективную сложность. Игра в шахматы человека и программы есть всего лишь аттракцион (или опыт), но никак не спортивное соревнование...
Sad_Donkey: То, что комп лучше считает (перебирает) - в этом давно нет никакого сомнения. Речь идет не о том, насколько хорошо комп "понимает". Он вообще не "понимает"!
Не совсем точно - комп "понимает" постольку, поскольку отсекает и не считает варианты, которые забраковал на основании некоторых (относительно простых) позиционных принципов, закодированных в программе.
Sad_Donkey: Речь идет о том, какой глубине перебора соответствует современное понимание игры человеком. И при какой глубине перебора наступает "насыщение", то есть такой уровень игры при котором программа не проигрывает ни кому и ни чему. Первая величина характеризует степень постижения законов игры человеком; вторая характеризует саму игру - ее объективную сложность.
Дело осложняется тем, что наряду с пониманием коллективных фигурных (позиционных) закономерностей человек тоже "бездумно" считает . Перебор и понимание как-бы не связаны друг с другом - высокоуровневые коллективные (нелокальные) позиционные характеристики нельзя вывести из элементарных локальных ходов. Комп видит ходы-деревья, но слеп к лесу. Иногда (король и ладья против короля, крепости и т.д.) глубина понимания превосходит глубину-дальность любого перебора и насыщения того не бывает. Другой раз комп попросту досчитывается до нашего понимания и таким образом счет прослыл прозрением в наших глазах. К сожалению, у большинства стратегий (наших "пониманий") всегда бывает множество случайных пробоин, кои можно нащупать лишь счётом, в чем и преуспевает комп. Обычно потому и наступают "насыщение" и кирдык нам перебором . "Законы игры" всегда локальные, до поры до времени, возникают и рассасываются обычно случайно и внезапно (скажем, после некоего критического хода) и с глубиной перебора неоднозначно скоррелированные.
Sad_Donkey: То, что комп лучше считает (перебирает) - в этом давно нет никакого сомнения. Речь идет не о том, насколько хорошо комп "понимает". Он вообще не "понимает"!
Не совсем точно - комп "понимает" постольку, поскольку отсекает и не считает варианты, которые забраковал на основании некоторых (относительно простых) позиционных принципов, закодированных в программе.
Если под "пониманием" иметь в виду комплекс, позволяющий играть без конкретного счета вариантов, то добавил бы, что еще и дебютные библиотеки с эндшпильными базами помогают программам компенсировать человеческий "опыт" ..
... Другой раз комп попросту досчитывается до нашего понимания и таким образом счет прослыл прозрением в наших глазах. К сожалению, у большинства стратегий (наших "пониманий") всегда бывает множество случайных пробоин, кои можно нащупать лишь счётом, в чем и преуспевает комп. Обычно потому и наступают "насыщение" и кирдык нам перебором . "Законы игры" всегда локальные, до поры до времени, возникают и рассасываются обычно случайно и внезапно (скажем, после некоего критического хода) и с глубиной перебора неоднозначно скоррелированные.
Уважаемый Хайдук! Как программист (уж какой-никакой), я не вижу повода для "большой" филисофии в обсуждении работы шахматных программ. Для меня тут все ясно. И все, что хотел, я уже сказал по этому поводу...
Я думаю, что уже сейчас Человечество, при желании, может "закрыть" шахматы, составив таблицы, позволяющие программе играть, практически, абсолютно (см. выше, о насыщении).
Только это никому не надо, по большому счету. И люди от этого, полагаю, не перестанут в шахматы играть (в ближайшее время). Не перестали, ведь, соревноваться в беге, из-за того, что автомобиль сконструировали...
Вы правильно говорите о том, что можно сократить полный перебор, привнося в алгоритм шахматной программы что-то, специфичное именно для этой игры... Но если мы это сделали и программа усилилась, то это - проявление понимания игры человеком, а не "компом"... Компу (программе, то есть) вообще все "по фигу". У нее в памяти, в двоичном ходе, записаны данные и последовательность инструкций, которые она должна выполнять. Какие ей человек скажет, такие она и будет выполнять... На сегодняшний день дело обстоит именно так, насколько я понимаю...
У М.Ботвинника была идея ""моделирования мышления человека" в шахматных программах... Это - идея неудачная. Во-первых, если уже сейчас программы играют сильнее людей, то зачем для усиления игры программ "моделировать людей"? Во-вторых, моделировать программно тонкие аспекты человеческого мышления - задача более сложная, чем игра в шахматы... Так что, деятельность эта интересная и важная, наверное... Но не в аспекте совершенствования шахматных программ... Простите мне это многословие...
Sad_Donkey: не вижу повода для "большой" филисофии в обсуждении работы шахматных программ... если уже сейчас программы играют сильнее людей, то зачем для усиления игры программ "моделировать людей"?
Да, философии по большому счету места нет, но для гонки между компами любое усиление будет иметь значение. Так как полный и исчерпывающий перебор останется недоступным в обозримом будущем, можно считать, что перенятие компами "понимания" у человека продолжится. И не только - любой метод, человеческий или нет, найдет применение, если ведет к успеху. Тем не менеее ценность отдельных алгоритмов, весов ОФ, отсечений и т.д. будет иметь ограниченное, локальное (для некоторых позиций) значение, лишь быстрота, полнота и глубина счёта останутся незыблемыми. Состязание между компами будет непредсказуемым и ... не очень интересным
Sad_Donkey: можно сократить полный перебор, привнося в алгоритм шахматной программы что-то, специфичное именно для этой игры... Но если мы это сделали и программа усилилась, то это - проявление понимания игры человеком, а не "компом"... Компу (программе, то есть) вообще все "по фигу". У нее в памяти, в двоичном ходе, записаны данные и последовательность инструкций, которые она должна выполнять. Какие ей человек скажет, такие она и будет выполнять
Это верно, но в принципе мышление и понимание человеческие также суть высокоуровневые коллективные эффекты, скажем, неких молекулярных "нулей и единиц" в смысле молекулярных "гаек, болтов и винтов" . В конце концов, если достаточно универсальное, гибкое и надёжное, назвать интеллигентным можно любое поведение.
Sad_Donkey: У М.Ботвинника была идея "моделирования мышления человека" в шахматных программах... Это - идея неудачная.
В шахматах интеллект с его универсальностью, гибкостью и надёжностью не самый лучший подход как раз из-за ограниченности и локальности якобы "законов игры". В целом, на громадном пространстве всех позиций таких законов скорее не бывает, а имеем невообразимое и хаотическое столпотворение самых разнообразных и непохожих (случайных друг к другу) позиций, планов, стратегий. В отдельности они постижимы нашим интеллектом как упорядоченные и закономерные многофигурные структуры, но знание одной такой структуры не помогает при (обычно быстром, одим-двумя ходами) переходе к другой, если вообще, ибо большинство позиций даже лишены, по-видимому, каких-либо доступных интеллекту закономерностей и упорядоченностью. В таких условиях хаоса среды рулит лишь незамысловатый счет
Sad_Donkey: Вы правильно говорите о том, что можно сократить полный перебор, привнося в алгоритм шахматной программы что-то, специфичное именно для этой игры... Но если мы это сделали и программа усилилась, то это - проявление понимания игры человеком, а не "компом"... Компу (программе, то есть) вообще все "по фигу". У нее в памяти, в двоичном ходе, записаны данные и последовательность инструкций, которые она должна выполнять. Какие ей человек скажет, такие она и будет выполнять... На сегодняшний день дело обстоит именно так, насколько я понимаю...
Рад вас видеть, Джестер!
Ссылку посмотрел... Без точного понимания того, чего же именно ты хочешь, трудно, конечно... А вообще "об чем речь" хорошо не понял... Очередной бизнес-проект, наверное...
Sad_Donkey: Рад вас видеть, Джестер!
Ссылку посмотрел... Без точного понимания того, чего же именно ты хочешь, трудно, конечно... А вообще "об чем речь" хорошо не понял... Очередной бизнес-проект, наверное...
Sad_Donkey: Рад вас видеть, Джестер!
Ссылку посмотрел... Без точного понимания того, чего же именно ты хочешь, трудно, конечно... А вообще "об чем речь" хорошо не понял... Очередной бизнес-проект, наверное...
Так - яснее... Но понял-то я правильно и сразу, кажется... Очередное средство, позволяющее сделать все, что хочешь, не прикладывая никаких усилий... Только плати!...
Sad_Donkey: Очередное средство, позволяющее сделать все, что хочешь, не прикладывая никаких усилий... Только плати!...
Усилия просто переносятся на более высокий уровень, а проблемы остаются, как при переходе от ассемблера к фортрану или java. Серебрянной пули все равно не найти
Sad_Donkey: Очередное средство, позволяющее сделать все, что хочешь, не прикладывая никаких усилий... Только плати!...
Усилия просто переносятся на более высокий уровень, а проблемы остаются, как при переходе от ассемблера к фортрану или java. Серебрянной пули все равно не найти
Sad_Donkey: То, что комп лучше считает (перебирает) - в этом давно нет никакого сомнения. Речь идет не о том, насколько хорошо комп "понимает". Он вообще не "понимает"!
Не совсем точно - комп "понимает" постольку, поскольку отсекает и не считает варианты, которые забраковал на основании некоторых (относительно простых) позиционных принципов, закодированных в программе.
А насколько просты эти позиционные принципы?
P.S. Продолжаю на работе по ночам издеваться над Рыбкой. Добавил умнице (и себе, конечно) еще минутку, но... не успевает малышка, не успевает - флаг роняет, пытаясь играть на выигрыш, например, с лишним качеством:
Jester_Buffoon - Rybka3 [D02]
Match JB vs Rybka3 (blitz, 3 min) Admin-IT, 26.04.2009
На 104-ом ходу, когда у Рыбки оставались последние доли последней секунды, решил покормить всеядную кониной - проглотила, но переварить толком не успела.
Кто-то может предПОложить, что дело в слабеньком железе? - возможно, не сПОрю. Но до смеху доводят ПОдобные ПОпытки программ до уПОра "тянуть резину".
GOD IS GREAT
Like athletes in other sports, chess players play the game with a certain style. Some for example have a positional strategy, others a tactical approach and these styles influence their shot selection at each move.
Given the way that computers are beginning to dominate even the world's best players, is it possible to teach a computer to play in the style of Vladimir Kramnick or Gary Kasparov? And if so, would it then be possible for that computer to recognise players by their moves alone?
Those are the questions that Mark Levene and Trevor Fenner at Birkbeck College in London set out to answer.
They used a traditional learning method to teach a computer the styles of Kramnik and Kasparov. Kramnik, it turns out, has a propensity for the bishop pair and tends to prefer king-side manoeuvres. Kasparov, on the other hand, is a sucker for saddling his opponents with doubled pawns and when playing black tends to opt for an attack on white's king when the players castle on opposite wings.
Levene and Fenner then tested the computer using moves 23-35 from a set of 123 games and got pretty good accuracy rates. But they were unable to repeat their success in games between Kramnik and another former world champion, Veselin Topalov.
Clearly, the method needs a little more work.
But it clearly has potential in ensuring that you can spot when your postal chess buddy has turned to Deep Blue for advice. And what a fantastic biometric standard too. Imagine proving your identity at customs by sitting down as white.
Source: MIT technology review
In Chess, as in other popular strategic board games, players have different styles. For example,
in Chess some players are more “positional” and other more “tactical”, and this difference
in style will affect their move choice in any given board position, and more generally their
overall plan. The problem we tackle in this paper is that of applying machine learning to
teach a computer to discriminate between players based on their style. Before we explain our
methodology, we briefly review the method of temporal difference learning, which is central
to our approach.
Temporal difference learning [Sut88] is a machine learning technique, originating from
the seminal work of Samuel [Sam59], in which learning occurs by minimising the differences
between predictions and actual outcomes of a temporal sequence of observations. Samuel
[Sam59] used the game of Checkers as a vehicle to study the feasibility of a computer learning
from experience. Although the program written by Samuel did not achieve master strength, it
was the precursor of the Checkers program Chinook [Sch97, SHJ01], which was the first computer
program to win a match against a human world champion. (See [Hol98] for a detailed,
but less technical, description of the machine learning in Samuel’s Checkers program.) Tesauro
[Tes92] demonstrated the power of this technique by showing that temporal difference learning,
combined with using a neural network, can enable a program to learn to play Backgammon
at an expert level through self-play. Following this approach, there have been similar
efforts in applying this technique to the games of Chess [Thr94, BTW00, BS00, BM03,MW04],
Go [SDS94, SSM07], Othello [Leo95, BSH07] and Chinese Chess [TBD98]. Self-play is time
consuming, so it is natural to try to make use of existing game records of strong players
to train the evaluation function, as in [MW04] (in which, however, the temporal difference
training did not employ minimax lookahead). Learning from game records has also been used
in the game of Go [KY01, vWvU05, SHG06] to extract patterns for move prediction, using
methods other than temporal difference learning.
Here our aim is not necessarily to train a computer to be a competent game player, but
rather to teach it to play in the style of a particular player, learning this from records of
games played by that player. (In principle, the system could learn by interacting with the
player but, when sufficient game records exist, learning can generally be accomplished faster
and more conveniently off-line.) It is important to note that information available during
learning should not include any meta-features such as the date when the game was played,
the name of the opening variation played, or the result of the game. All the learning module
observes is the sequence of moves played in each game.
Looking at it from a different perspective, we can view the problem as one of classification.
Assume that we train the computer to play in the styles of two Chess players, say Kasparov
and Kramnik. The problem can then be reformulated as follows: by inspecting the record of a
game played between Kasparov and Kramnik, can the computer detect, with some confidence,
which player was playing with the white pieces and which with the black pieces?
At an even higher level, the problem can be recast as a Turing test for Chess [Pel08], where
a computer may fool a human that it is a human player. In some sense this may already
be true for the strongest available computer Chess programs [Kro99, Ros03], as computers
have already surpassed humans in their playing strength, mainly due to increased computing
power and relying on brute-force calculations. Moreover, there seems to be a high correlation
between the choices made by top human chess Grandmasters and world class chess engines
(see [Che06]).
We will not discuss the Turing test debate further and, from now on, we will concentrate
on the classification problem within the domain of Chess. As far as we know, this is a
new problem, and in this paper we suggest tackling it using temporal difference learning.
All previous uses of temporal difference learning in games (some of which are cited above)
attempt to learn the weights of an evaluation function in order to improve the play of a
computer program. In our scenario we still attempt to learn the weights of an evaluation
function, but the objective is to imitate the style of a given player rather than improve the
program’s play. Of course, if the player under consideration is very strong, for example
Kasparov or Kramnik, then the resulting program is likely to improve; but the method could
also be used to learn the evaluation functions of weaker players.
The learning algorithm described in Section 2, based on Sutton’s TD(0) [Sut88], corresponds
to the simplest rule, which updates only the current predictions. We note that a more
general formulation proposed by Sutton is TD(λ); this utilises a decay factor λ between 0 and
1, and forces the algorithm to also take into account earlier predictions. To accelerate the
training, we utilise both an adaptive learning rate and a momentum term [Alm97, RM99], as
we describe in Subsection 2.1. In Section 3 we present a proof of concept, where we attempt
to learn the styles of two recent Chess world champions, Kasparov and Kramnik, and we make
use of the learnt feature weights to guess, in a game played between the two players, who was
white and who was black. Despite some encouraging results, there are also some fundamental
limitations of our approach for defining a player’s “style”. In particular, as pointed out to
us by Chess Grandmaster Pablo San Segundo [San08], our choice of features (described in
Subsection 3.1) is probably too low-level, since all strong players seek to optimise the placement
of their pieces and maintain a combination of pieces according to sound tactical and
positional criteria. On a higher level, it is tempting to classify Kasparov as a more “tactical”
player and Kramnik as a more “positional” player. However, these concepts are difficult to
formulate in a precise manner and, moreover, it is not clear how to translate them into an
algorithmic framework.
Я думаю что компьютерные шахматы надо воспринимать как помощники человеку для его творческого развития и частично как тренеров. И надо использовать шахпроги для популяризации шахмат: почаще организовывать матчи чел-комп на различных уровнях игры. Или проводить матчи рыбка против 2-4 гроссов рейтинга около 2700, где людям дается побольше времени и др. Короче использовать компы для раскрутки шахмат и удовлетворение человеческих потребностей.
__________________________
Я против софийских правил
lankfrend:Или проводить матчи рыбка против 2-4 гроссов рейтинга около 2700, где людям дается побольше времени и др.
И как ты себе представляешь: Крамник, Ананд, Топалов и Иванчук играют против рыбки? Как они ход будут делать? Голосованием? Здесь срабатывает "поговорка Чапаева": одна голова хорошо, а две- хуже. Гораздо интереснее матчи "слабый человек+ мощный комп vs сильный человек+ слабый комп".
Вообще, смысл компьютерных шахмат в том, чтобы сделать копьютеры более "умными". Вот старые программы играли по-принципу: дают- бери, бьют- беги. Рыбка же обладает неким подобием интуиции, это гораздо более умный робот. Вначале компьютеры попробуют научиться думать, как люди, (на основе шахмат), затем компьютеры станут незаменимыми помощниками в повседневной жизни (вспомним русские народные сказки и фантастические фильмы про роботов). Робот работает, человек (Иван) на печи лежит, езжайте сани, домой сами.
Глобальная экономика с трудом завершает последнее десятилетие и вступает в новое в 2010 году, что же станет следующей движущей силой глобального экономического роста? Делаю ставку, что следующее десятилетие будет десятилетием, в котором искусственный интеллект достигнет второй космической скорости и начнет оказывать экономическое влияние такого же значения, как и экономический рост Индии и Китая.
Правда, мои виды на будущее сильно приукрашены событиями в мире шахмат, игры, в которую я когда-то играл на профессиональном уровне и за которой все еще слежу. Хоть и по-особому, но компьютерные шахматы, тем не менее, предлагают как окно в кремниевую эволюцию, так и барометр того, как люди могут к этой эволюции адаптироваться.
...
Так лишило ли все это шахматистов работы? Что обнадеживает, так это ответ «еще нет». На самом деле, в некоторой степени шахматы так же популярны и имеют успех сейчас, как и в любое другое время за последние несколько десятилетий. Шахматы хорошо приспособились к Интернету, и любители могут следить за турнирами на самом высоком уровне в реальном времени, часто с комментариями. Технологии помогли основательно глобализировать шахматы, индиец Виши Ананд сейчас стал первым мировым чемпионом из Азии, а красивый молодой норвежец Магнус Карлсон достиг статуса рок-звезды. Человек и машина научились сосуществовать -пока.
...
Может быть, через 50 лет компьютеры будут делать все: от вождения такси до проведения плановых хирургических операций. Но еще раньше искусственный интеллект преобразит высшее образование, сделав университетское образование мирового уровня широко доступным даже в бедных развивающихся странах. И, конечно, повсюду существуют более приземленные, но важные сферы применения искусственного интеллекта, от управления электроникой и освещением в наших домах, до «умных сетей» для воды и электричества, помогающих отслеживать те или иные системы, чтобы снизить потери
Shak, скажите, а сможет искусственный интеллект сказать глупость? Если не сможет, то он никогда не превзойдёт человека. Уж меня точно. Мой глупый естественный разум сильнее. Глупость непобедимая и легендарная.