Entendendo as regras do Jogo - Go e Software Livre

Post on 07-Jul-2015

8.664 views 0 download

Tags:

description

Comparando o funcionamento das regras do Go com o Software Livre

Transcript of Entendendo as regras do Jogo - Go e Software Livre

Entendendo as regras do JogoGo e Software Livre

Fábio Emilio Costa

O que é Go

● Jogo oriental chamado também de baduk ou weiqi;

● Jogo mais antigo do mundo ainda em suas regras originais;

● Nenhum computador consegue jogar Go e vencer um pro;

● Popular na China, Coréia e Japão;● Jogo de território com várias nuances e

detalhes;

Uma partida de GoBrancas:Umezawa Yukari

Pretas:Mannami Kana

Disputa do Título Kisei Feminino 2007

3a. Partida

ResultadoBrancas ganham

Como joga-se Go

● Pedras pretas e brancas (todas iguais, como nas damas);

● Tabuleiros de 9x9, 13x13 e 19x19;● Cada pedra é colocada em um cruzamento das

linhas do tabuleiro (chamados também de moku, no resultado);

● Uma vez colocada, uma pedra não sai do lugar;

● Objetivo: cercar o maior espaço possível e impedir o outro jogador de o fazer;

Liberdades

● É o número de pontos que estão livres para a pedra;

● Pedras adversárias removem liberdades, pedras suas aumentam-as;

● Uma pedra sem liberdades é capturada e sai de jogo;

● Uma pedra não pode ser colocada onde ela fique sem liberdades (jogadas suicidas):– Exceção: pode fazer isso se for para remover a

última liberdade de uma ou mais pedras inimigas

Grupos

● São formados por uma ou mais pedras que compartilhem liberdades

● Grupos têm que estar conectados● As liberdades do grupo é determinada pela

soma das liberdades das demais● As pedras de um grupo são capturadas

quando todas as liberdades do grupo são removidas;

Grupos e Liberdades

A e B são grupos brancos

C, D, E e F são grupos pretos

B indicam as liberdades das pretas

W indicam as liberdades brancas

S são liberdades de ambas

Atari

● Situação de virtual captura de um grupo– Quando apenas uma liberdade resta ao grupo;

– Comparável a um xeque no xadrez;

● O jogador não precisa ser informado● O adversário não precisa capturar de imediato● Pedras capturadas contam contra o jogador no

final da partida:– Resultado = Território + Peças Capturadas;

Atari

● Em ambas as imagens:– A – Situação de Atari– B – Captura

– C – Estado Final

Ko

● Eternidade– Movimentos de captura em que uma pedra ao

realizar a captura se coloca em situação de captura imediata;

● Pedra colocada não pode ser capturada de imediato:– Movimento de ameaça de Ko deve ser realizada

antes;

● Chamada também de regra da repetição de tabuleiro;

Ko

● No diagrama ao lado, preta lançou a pedra com triângulo e capturou uma branca em cima;

● Brancas não podem responder de imediato: devem jogar em qualquer outro local;

Regras do Go (Resumo)

1)Dois jogadores (brancas e pretas);

2)Tabuleiro limpo (exceto em handicap);

3)Pretas primeiro (exceto em jogos de handicap);

4)Brancas recebem komi (exceto em handicap);

➢ pontuação adicional para equilíbrio (atualmente 6.5);

5)Maior território ganha o jogo;

6)Jogo acaba quando ambos os jogadores acharem conveniente;

➢ Desistência é possível;

Regras do Go (Resumo)

7)Uma jogada representa tanto a inclusão de uma pedra como passar a jogada

➢ Se ambos os jogadores passarem, considera-se tacitamente como fim de jogo;

8)Pedras sem liberdade saem do jogo;

9)Não pode se jogar onde a pedra fique sem liberdade (jogada suicida);

10)Ko – não pode-se jogar de modo a repetir o tabuleiro de uma jogada anterior;

11)Handicap – cada nível de diferença entre jogadores representa uma pedra inicial no tabuleiro;

Quem joga(jogou) Go?

● Edward Lasker (enxadrista)● John Nash Jr. (matemático – Uma Mente

Brilhante)● Bill Gates (dispensa comentários)● Rod Steward (músico)● Lulu Camargo (tecladista – Pato Fu)● Alan Turing (matemático e teórico da

computação)

O que tudo isso tem a ver com

Software Livre?!

Comecemos...

● Software proprietário se percebe em atari– Linux x Windows, Office x BrOffice.org, IE x Firefox

● Vida do software proprietário pode estar em ko– Suporte a ODF, “abertura” para OOXML

● A comunidade deve atuar o máximo possível como um grupo sólido– “Colocar as garças no ninho” envolve contribuições

História do Software Livre

● <1970: computação restrita a grande porte– Máquinas pessoais eram brinquedos;

– Trocas de código era “genético”;

● 1970-1984: Surge código proprietário– Trocas de código em atari;

– Tesuji (boa jogada) de Richard Stallman fomenta SL: GNU e GPL;

● 1984-1990: Corrida de captura– Mundo proprietário forma uma boa forma;

Tesuji

● Jogada esperta● Sai da resposta padrão● Consegue garantir resposta inesperada● Pode reverter jogo a seu favor

Tesuji

● Os diagramas 1 a 4 representam as jogadas tradicionais (pretas perdem as duas pedras à direita);

● Diagramas 4 e 5 representam o tesuji (pedras brancas são capturadas)

Linux Tesuji

● 1991: Tesuji inesperado– Linux Torvalds lança o Linux;

● Inicialmente apenas um nakade (peça jogada para sacrifício);– “Apenas por diversão” - lema de Linus;

● 1994: Software livre forma dois olhos– Abertura do Netscape e IPO da Red Hat mostra

visibilidade;

– SL é levado a sério

Software Livre e Go

● Regras simples– 10 para Go, 4 para SL

● Variações interessantes no tema● Simplicidade inicial “esconde” sutilezas para

entender– Apenas lógica não basta

Atari cultural

● Iniciativas contra-atacam os detentores de PI:– Creative Commons;

– ODF;

● Normalmente, iniciativas assim derivam de jogadas forçadas:– DMCA;

– WGA;

– Trusted Computing;

Vida e morte na Net

● Iniciativas procuram tomar as liberdades dadas pelo SL:– Net Neutrality;– DMCA;

– DRM;– Patentes de Software;

● Comunidade deve estar atenta para não permitir olho falso

Vida e morte

● Um grupo vive se forma dois olhos (dois espaços cercados dentro do grupo);

● Um grupo morre se não puder formar dois olhos

● No diagrama acima, A, B e C são olhos;

Grupos vivos e mortos

As pretas no canto estão vivas pois A e B são olhos verdadeiros

As pretas no meio estão vivas, C e Dsão olhos verdadeiros

As pretas aqui estão mortas: B é um olho falso. Brancas podem jogar em C e depois em B e “furar o olho”

Para jogar Go, são necessários dois jogadores.

Para alcançar a vitória, deve-se levar em conta o objetivo adversário

e saber ceder

(Provérbios sobre Go)

Dados olhos suficientes, os bugs desaparecem.

(Lei de Linus)

“Não me interessa o código!”

● Código permite auditar o sistema;● Binários específicos são úteis em situações de

HPC (High-Performance Computing)– Software proprietário não oferece essa facilidade;

● Código permite estudo:– Divulgação tecnológica permite o corte dos grupos

monopolistas;

Comunidade é coisa de comunista

● Grupos grandes sobrevivem ao atari;● Grupos bem estruturados formam dois olhos e

vivem;● Grupos quebrados podem gerar olhos falsos;

A comunidade é importante

● O desenvolvedor é antes de mais nada um usuário;

● “Coçar a própria ferida”● Uma pedra solta pode socorrer uma em atari● Uma pedra solta tem potencial para um tesuji

“Eu não sei nada!”

● Você não precisa desenvolver para ajudar:– Documentação

– Bug Test and Track

– Dicas e Ajuda

– Evangelização

– Artes e Sites

– Moderação de listas

● Sempre há algo para fazer e aprender

“Perca o mais rápido possível seus 100 primeiros jogos”

● Aprenda sempre e constantemente● Usar, usar, usar● Sempre você irá aprender: cliques não são

mais um limite● Trate o adversário com respeito, ele sempre

tem algo a lhe ensinar● Cortesia e respeito são a chave para o sucesso

Nakade: Ceder para vencer

● Uma pedra em nakade é uma forma de sacrificando uma pedra matar um grupo;

● Software proprietário utiliza nakade:– OOXML, etc...

● Nakade com SL – estratégia da Sun:– OpenSolaris, OpenJDK, OpenOffice.org;

● Nakade do SL:– ODF, Ruby (IronRuby), etc...

Referências

● Go– Sensei's Library (http://senseis.xmp.net)

– Kiseido Go Server (http://www.gokgs.com)

– Aprenda a Jogar Go Interativamente (http://go.alamino.net/playgoto/)

– Go Wiki Brasil (http://go.theend.com.br/moin.cgi)

– Kigoshi Goishi (http://kigoshigoishi.co.jp)

Perguntas?

Obrigado

Copie! Seja legal! Use Software Livre!

Divirta-se! Jogue Go!