segunda-feira, 2 de abril de 2018

O problema do coleccionador de cartas

Os supermercados têm o hábito de, em certas alturas, oferecer aos (filhos dos) seus clientes umas cartas para coleccionar. As cartas são oferecidas aleatóriamente, não podendo os clientes escolhê-las.
A questão consiste em saber quantas cartas terá um coleccionador de acumular, em média, para completar a sua colecção.
É um problema semelhante àquele de saber quantos lançamentos de um dado deve uma pessoa fazer, em média, para obter as seis faces. A resposta a esta questão é
que é a soma dos inversos das probabilidades de sair a primeira, a segunda, a terceira, a quarte, a quinta e a sexta faces, respectivamente.
No caso geral de N cartas,
que pode ser um número "assustadoramente" grande. Por exemplo, para 100 cartas, o número é 518.7, ou seja, em média, seria necessário recolher mais de 518 cartas para completar a colecção.
Este processo aleatório caracteriza-se por ter uma cauda longa, isto é, pode acontecer ser necessário esperar um tempo estranhamente longo para obter todos os resultados...
O gráfico seguinte corresponde a 1100 milhões de simulações do jogo dos dados, e houve uma vez em que foram necessários 127 lançamentos para saírem as seis faces!
Entretanto, a moda, o valor mais frequente, foi 11, bem inferior à média de 14.7!
(recordo aqui uma simulação em NetLogo que há uns tempos propus)

terça-feira, 27 de março de 2018

Enganos e confusões

Gosto de vez em quando dos Desafios do Público de domingo. Como este:
A Mafalda pediu a dois amigos que lhe calculassem o produto de dois números. A Carlota obteve 41891 e o Alessandro obteve 42168! E porquê? Porque por um lado o primeiro número terminava em 1 mas a Carlota confundiu-o com um 7, e por outro o segundo terminava em 3 mas o Alessandro viu lá um 8.
Quais seriam os números da Isabel?
Se x e y forem os números procurados, sabemos então que
     (x + 6) y = 41891
     x (y + 5) = 42168.
Uma boa tentativa de resolver este problema pode passar por olhar para decomposições em factores destes dois resultados. Começando pelo menor
     41891 = 163 . 257 (única!)
ficamos com duas possibilidades (163, 251) ou (157, 257), e como
     251 . 168 = 42168
concluímos que x = 251 e y = 163.
Resta-nos aguardar pelo veredicto dos autores do desafio...

sexta-feira, 9 de março de 2018

A ciência das matrizes III

(exclusivamente para não Matemáticos...)
Esta publicação está no seguimento de outra, em que olhamos para os conceitos de matriz identidade e matriz inversa, e revisitamos a regra de multiplicação de matrizes.
Uma matriz é um instrumento perfeito para representar uma relação entre dois conjuntos, por exemplo a relação 'gosto' entre um conjunto de pessoas P e um conjunto de clubes C, aqui representada por esta matriz G,

ou a relação 'fica em' entre em conjunto de clubes C e um conjunto de cidades D, aqui reprsentada pela matriz F,

E o que acontece se multiplicarmos estas duas matrizes? Primeira questão: pode-se? Há aquela regra de o número de colunas da primeira ser igual ao número de linhas da segunda, o que quer dizer que G.F existe, mas F.G, não!
A matriz resultado G.F é uma relação entre pessoas e cidades: 'gosto de n clubes que ficam em'. O Bruno gosta de dois clubes que ficam em Lisboa.
A multiplicação das matrizes conduziu à relação composta F depois de G.


sexta-feira, 2 de março de 2018

A ciência das matrizes II

(exclusivamente para não Matemáticos...)
Na publicação anterior, vimos como um sistema de três equações a três incógnitas pode ser escrito como uma equação baseada num produto de matrizes A.x = b
Dois conceitos que ajudam a explorar esta situação são o de matriz identidade ou matriz unitária, uma matriz que tem a propriedade de poder ser multiplicada por outra sem a alterar, e o de matriz inversa, uma matriz que multiplicada pela matriz original conduz à matriz identidade.
A matriz identidade terá de ser necessariamente quadrada, tendo em conta a regra da multiplicação, e todos os seus elementos na diagonal principal devem valer 1 e os restantes 0:
Como obter a matriz inversa de uma matriz quadrada fica para depois. Por enquanto, podemos usar uma folha de cálculo para o fazer ...
Uma vez obtida a matriz inversa da matriz A anterior (com um factor em evidência para se trabalhar com inteiros), e verificado que multiplicando-as se obtem a matriz identidade
multiplicando ambos os lados da equação pela matrix inversa
e fazendo as contas
 encontra-se a solução do sistema
Pareceu fácil, mas nem sempre é possível obter a matriz inversa.
Curiosamente, hoje são muito importantes as situações em que não há matriz inversa...

A ciência das matrizes I

(exclusivamente para não Matemáticos...)
As matrizes (bidimensionais) são estruturas numéricas rectangulares que passamos a vida a encontrar nos capítulos mais diversos dos nossos interesses matemáticos.
Uma fotografia digital a preto e branco é uma matriz, cujos elementos são os valores dos respectivos pixeis da ,imagem
A esta imagem com 11x7 linhas corresponde uma matriz com dimensão 11x7:
Podem realizar-se operações com as matrizes. Duas importantes são a transposição, que corresponde a trocar a posição das linhas pela das colunas:
e a multiplicação, bem conhecida dos iniciados, que se faz multiplicando termo a termo a linha i da primeira matriz pela coluna j da segunda, somando as parcelas, e colocando o resultado na posição (i, j) da matriz resultado:
A multiplicação de matrizes permite representar de forma simples sistemas de n equações a n incógnitas. Este é um sistema de 3 equações a 3 incógnitas:
Mas será que isto nos ajuda a resolver este sistema de equações?
Lá chegaremos, mas por agora pensemos que uma matriz pode representar os negócios cruzados entre um conjunto de países, ou as adjacências de um grafo, ou uma cadeia de Markov, ou as ligações entre páginas Web, e que compreender estas estruturas matemáticas pode abrir novas formas de olhar para estes ou outros fenómenos.


segunda-feira, 5 de fevereiro de 2018

Isso é muito chato!

Hoje tentei ensinar a uma jovenzinha qual é o resultado da divisão de um número por zero...
Comecei pelo algoritmo da divisão inteira - quantas vezes do dividendo se pode tirar o divisor - o número de vezes que se pode tirar é o quociente e o que sobra é o resto.
Por exemplo, para dividir 12 por 5, podemos tirar 2 vezes o 5 e sobram 2.


Ou para dividir 12 por 4, podemos tirar 3 vezes o 4 e não sobra nada - divisão exacta.


Estava a começar o caso da divisão por 0, quando sou interrompido por um "Isso é muito chato!" Porquê? "Porque assim a tirar 0 de cada vez nunca mais acaba!"
Missão cumprida...

sábado, 28 de outubro de 2017

HEART ou EARTH

Este problema apareceu no site brilliant.org.
Uma máquina de escrever está a gerar aleatoriamente uma sequência de caracteres de A a Z, todos com igual probabilidade de ocorrência. Dada uma palavra qualquer, essa palavra deverá eventualmente surgir escrita pela máquina, ao fim da geração de um número suficiente de caracteres.
Uma palavra de 5 letras, requererá em média a geração de 26^5 = 11881376 caracteres.
A questão é a seguinte: das duas palavras HEART e EARTH, haverá uma com maior probabilidade de ser escrita em primeiro lugar, ou as probabilidades são idênticas?
Eu acho que sim, que há uma, mais especificamente a palavra HEART, mas este problema desencadeou discussões muito interessantes no meu Facebook, com a maior parte dos intervenientes a achar que as probabilidades são idênticas. Curiosamente, alguns alunos de Informática corroboraram a minha opinião, e chegaram mesmo a produzir simulações que o evidenciavam.
A razão para esta assimetria resulta do facto de as duas palavras dadas diferirem apenas da posição da letra H, e de uma tentativa para formar a palavra EARTH exigir que antes da letra E não esteja a letra H, enquanto que uma tentativa para formar a palavra HEART não tem qualquer restrição na letra que antecede o H.
Em média, em cada 26 tentativas para formar a palavra EARTH, há uma que acaba por formar a palavra HEART, que fica assim mais provável.
Acabo de fazer eu próprio uma pequena simulação com 100 jogos, tendo gerado 637431406 caracteres e tendo a palavra HEART ganho 52 vezes.
Deixo aqui o código mesmo muito elementar que usei

Espero que se divirtam...