Learn Go Game
Программы играющие в Го, игра Го онлайн, электронные книги и лекции Го на видео
Страницы: 123>>
Страница: 1 из 3

Стратегия выигрыша компьютером у человека

orange на rugo.ru Любитель Го
16, April, 2004 04:26   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Недавно стравил 2 программы MFGO и GO++ друг с другом.
3 партии, во всех трех Go++ выиграл 10 очков без коми.

Наблюдая за этими партиями я заметил, что визуально они очень отличаются от моих игр с обоими программамми. Визуально игра компьютера со мной человеком - на порядок проще чем игра этих двух программ друг с другом. Так например в середине игры они оставляли друг у друга по 10-15 незавершенных локальных позиций с угрозами атари или удушения довольно круппных групп. Естественно играя со мной, позиция получается проще, потому что я стараюсь упрощать игру, чтобы мне было легче с ней справиться, а компьютер мне не мешает.
И я поймал себя на мысли, что если бы они играли со мной так то мне было бы гораздо тяжелее. Ведь для компьютера не существует понятия визуально сложная партия. Он ее все равно не видит. Для него все позиции одинаково выглядят. А мне как человеку имеет огромное значение насколько быстро я смогу визуально оценить позицию, не запутаться, не ошибиться в расчетах.

Вот я и подумал. А что если писать компьютерную программу с упором на игру с человеком. Т.е. чтобы она использовала наши человеческие недостатки и намеренно усложняла визуальную составляющую игры, с целью увеличить вероятность человеческой ошибки. Ведь тогда сила компьютерных программ возрастет и уж во всяком случае на уровне любительского дана они смогут играть.
Кто что думает по этому поводу ?

Re: Стратегия выигрыша компьютером у человека
IlyaM на rugo.ru Гость
16, April, 2004 12:14   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

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

Другая мысль: много раз читал, что как раз большое количество вариантов - это как раз то, чего больше всего "боится" AI. Сложнее просчитывать по тупому в глубину. Спросите Каспарова как он играл в шахматы с компьтером :) Он как раз старался держать как можно больше открытых позиций c большим количеством вариантов.



Отправка отредактированного (16/04/04 12:14)

Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
16, April, 2004 21:32   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Конечно усложнять до невозможности не получится, но попортить нервы можно. И заставить ошибиться можно. Пусть и не профессионала, но на уровне 5-6 q сработает.

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

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

По поводу количества вариантов для компьютера.
Речь идет о тривиальных локальных позициях с глубиной завершения в 1-2 хода. Оставлять их незавершенными, для компьютера большой нагрузки не составит, а на человека воздействовать будет.
Да и потом ведь в игре друг с другом го-программы не стремятся упростить позицию, т.е прекрасно справляются. Значит в этом их преимущество по сравнению с середнячком - не с Каспаровым или Сейгеном.

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

Есть GnuGO с открытым кодом. Можно попробовать подправить модуль принятия решений в нем и посмотреть что получится.

Есть желающие программисты ?

Re: Стратегия выигрыша компьютером у человека
NPC на rugo.ru Гость
19, April, 2004 11:45   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

А какая польза игроку будет от выработки такого неестественного стиля игры?

Или это будет исключительно упражнением на алгоритмическом уровне?

Re: Стратегия выигрыша компьютером у человека
kit144 на rugo.ru Любитель Го
19, April, 2004 19:29   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

кто сказал, что " в тривиальных локальных позициях" " глубина завершения 1-2 хода"?!
С чего это вдруг? Стоит наверное обратиться к теории вероятности,
где четко указана формула вычисления комбинаций, в зависимости от размерности поля и количества переменных.
не думайте что в ГО всего лишь две переменные - Белые и черные....
Их с каждым ходом прибавляется.

а эти программы написаны для игры с программами, а не с человеком.

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

И не надо ориентироваться на GNU GO. эта ветвь мертвая, из-за того что уже достигает своего максимума развития. А дальше у нее будет тупик.

И ещё раз повторю, - На языке высокого уровня никогда не напишете высоко играющую программу. Сделаете набор очень запутанный и сложный, однотипных процедур и функций.



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
19, April, 2004 21:23   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

2 kit144
Вы правы. традиционное процедурное решение го - ветвь тупиковая.
Я недавно наткнулся на программу Winhonte. Стравил ее с такими традиционными программами как MFGO и Go++
Она их легко уделала. Автор Winhonte говорит что она построена на модели нейронных сетей и является самообучающей. Он ее тренирует как на записях профессиональных партий так и на самоигре. Я думаю, что такое вот еволюционное развитие и есть правильнй подход для такой сложной проблемы как го.

Re: Стратегия выигрыша компьютером у человека
kit144 на rugo.ru Любитель Го
19, April, 2004 22:28   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Вагиф! а можно ссылочку на эту программу?



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
20, April, 2004 03:40   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     


Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
20, April, 2004 03:43   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

А вот и прямой линк на программу

[www.jellyfish-go.com]

Re: Стратегия выигрыша компьютером у человека
kit144 на rugo.ru Любитель Го
20, April, 2004 15:46   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

прога интересная, но..но..но.........
опять же обычные базы данных сыгранных партий, и..... необходимая функция перебора позиций, и при чём реализованная по "тяжелому алгоритму". А по поводу нейро сетей-------- ими и не пахнет в этой программе. есже ли только автор данной программы что то своё подразумевает под понятием - нейронных сетей.
И опять же, всё тот же пресловутый VC v 3.0.2.1 старый как мир.



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Стратегия выигрыша компьютером у человека
shadowjack на rugo.ru Ценитель Го
20, April, 2004 21:56   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

kit144:
Во-первых, количеством вариантов и т.д. - это не теория вероятностей, а комбинаторика. Другое дело, что она имеет много притожений в тервере.
Во-вторых, утверждение, что на языке высокого уровня нельзя написать то-то и то-то, просто абсурдно. Я согласен, что на них зачастую тяжело/невозможно писать такие вещи, как драйвера и прочую машинно-зависимую шелуху, но вычислительный алгоритм!
Это абсурдно, потому что в конце концов на всех (приличных)языках можно реализовать машину Тьюринга, а это, полагаю, что-то Вам говорит.

Re: Стратегия выигрыша компьютером у человека
Илья Ветров на rugo.ru Ценитель Го
20, April, 2004 23:00   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Дмитрий , вот и Вы отметились по поводу абсурдности . Кажется , 10-м будете :-)



Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
20, April, 2004 23:07   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

2 kit144
Можно узнать откуда такая информация ? Я практически ничего не смог найти по поводу этой Winhonte.

Re: Стратегия выигрыша компьютером у человека
orange на rugo.ru Любитель Го
20, April, 2004 23:12   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Кстати Winhonte - программа бесплатная, удобная, маленькая и сильнее таких популярных но комерческих программ как MFGO и Go++
Поскольку на этом форуме постоянно встречаются запросы людей по поводу где скачать го программы, то может имеет смысл выложить линк на нее на наших популярных го сайтах ?
Все таки играть с ней удобнее чем выходить на сервер. Новичкам будет на чем потренироваться.

Re: Стратегия выигрыша компьютером у человека
Олег Попов на rugo.ru Любитель Го
21, April, 2004 11:03   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

при всех попытках сыграть с этой программой где-то на 60-м ходу происходит крах системы без предупреждения. Причём система у меня вообще никогда не рушится, кроме этого случая.

никаких выводов и предположений не имею, но странно всё это

система ХР


Re: Стратегия выигрыша компьютером у человека
kit144 на rugo.ru Любитель Го
21, April, 2004 14:03   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

информация по системе, обычная. Я её дизассемблировал.
shadowjack - комбинаторика, это вообще то, раздел теории вероятности.

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



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

на последок.
kit144 на rugo.ru Любитель Го
21, April, 2004 14:06   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Сравнивать языки высокого уровня с ассемблером, всё равно, что сравнивать Windows (язык высокого уроня) с QNX (Assembler).
Если вам что нибудь это говорит.



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Стратегия выигрыша компьютером у человека
IlyaM на rugo.ru Гость
21, April, 2004 14:55   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

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

А оно надо?

1) Как быть с портабельностью? Вы писали ранее, что будете писать свою го программу под Win i386. Ладно бог с другими менее популярными платформами. Вот пройдет лет xxx-цать и все мы перейдем на новые процы. 64 разрядные пока еще для desktop'а не используются, но это же дело времени. Что вы будете делать со своим кодом?

2) Много лет назад было сказано, что преждевременная оптимизация - это плохо. Писать *все* на asm'е - это преждевременная оптимизация. Если есть критичный участок, то его всегда можно заменить асемблерной вставкой. Задача ведь какая - написать работающий алгоритм вообще для начала. Не важно как быстро он будет работать в начале, лишь бы он вообще *играл*. Вот вы придумаете алгоритм X, тщательно оптимальным образом его закодируете. А он окажется плохим (в смысле плохо играет). И вы снова тщательно будете перекодировать алгоритм Y. За то время пока вы будете сражатся с asm'ом можно будет перепробовать несколько прототипов на высокоуровневых языках. И потом уже оптимизировать удачные.

> Сравнивать языки высокого уровня с ассемблером, всё равно, что сравнивать Windows (язык высокого уроня) с QNX (Assembler). Если вам что нибудь это говорит.

Не говорит. Обе оси(ядра) написаны на C, если не ошибаюсь.

> По поводу языков высокого уровня - прекрасный пример перед глазами у всех - Все нынешние системы и ПО прикладного уровня, безмерно разрастаются, работают медленно и "тяжело", имеют не оптимизированые алгоритмы обработки данных и логики и т.д. и т.п.

Есть простая причина почему это так. Современный софт *сложный*. Его *невозможно* писать на асме за реальное время. Ради интереса прикиньте сколько у вас займет написание довольно простой вещи как парсер SGF (чтобы полностью понимал весь FF[4]). Без валидации у меня это займет не более двух часов на Perl'е.



Отправка отредактированного (21/04/04 14:56)

Re: Стратегия выигрыша компьютером у человека
IlyaM на rugo.ru Гость
21, April, 2004 15:01   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Доводя до полного асбурда аргументы kit144'а: вся концепция программирования вообще устарела, нельзя написать очень гибкий алгоритм, учитывающий все тонкости определенного "железа". Нужно реализовывать алгоритм прямо в кремнии.


Re: Стратегия выигрыша компьютером у человека
Илья Ветров на rugo.ru Ценитель Го
21, April, 2004 15:19   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Тезка , предлагаю еще один шаг . Незачем программировать (даже прямо на кремнии) в навязчивых рамках высокоуровневой , жесткой , тупой и плохо оптимизируемой бинарной логики . Новыми , гибкими и универсальными могут быть лишь аналоговые решения . То есть проектируем специализированные живые существа , например Го-Сапиенсов , Гомоку-Сапиенсов и т.д.



Отправка отредактированного (21/04/04 15:19)

Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Страницы: 123>>
Страница: 1 из 3


Извините, только зарегистрированные пользователи могут писать в этом форуме.

  cassino online brasil   apuestas online en chile   Go game in Russia   Online Go lessons   GameRules.com   How to Play Go