matem atica experimentaljvideman/aulas_3-4.pdfmatem atica experimental licenciatura em matem atica...
TRANSCRIPT
-
Matemática Experimental
Licenciatura em Matemática Aplicada e Computação
1o Semestre de 2015/2016
Professor responsável: Juha Videman (email: [email protected])
-
2. Conjectura de Collatz
A conjectura de Collatz, também conhecida como problema de
Ulam, problema 3n + 1 ou problema de Siracusa, foi formulada por
Collatz† em 1937.
Conjectura é uma suposição matemática que se imagina ser ver-
dadeira mas que não se conseguiu ainda provar nem rejeitar.
†Lothard Collatz (1910-1990), matemático alemão
-
Função de Collatz é uma aplicação T : N 7→ N definida por
T (n) =
n
2, se n é par
3n + 1 , se n é ı́mpar
A conjectura de Collatz:
Qualquer que seja o número inteiro inicial n ≥ 1, se iterarmos su-cessivamente a função de Collatz chegaremos inevitavelmente ao
inteiro 1 após um número finito de passos.
-
T@n_ ; n ³ 1 && IntegerQ@nDD := If@EvenQ@nD, n 2, 3 n + 1D;DiscretePlot@T@nD, 8n, 10 8Range@0, 10D, Map@T, Range@1, 10DD
-
Escreve-se
T1(n) = T (n) , T2(n) = T (T (n)) , T j(n) = T (T (. . . T (n)) . . .)) ,
onde, por recorrência
T j(n) = T (T j−1(n)) , j = 2,3, . . . .
À função T chama-se função iteradora.
Definição: Dado n ≥ 1, o conjunto
Γn = {n, T1(n), T2(n), . . .}
diz-se órbita do número n .
-
Os elementos da órbita formam uma sucessão {sj}j≥0 (sucessão deCollatz) tal que
s0 = n, s1 = T (s0) , . . . , sj = T (sj−1) , . . . , .
A conjectura de Collatz afirma que, qualquer que seja n ∈ N, aórbita Γn contém o número 1.
Isto quer dizer que a função de Collatz entra eventualmente no ciclo
{1,4,2}, visto que
T (1) = 4 , T (4) = 2 , T (2) = 1 .
-
Definição: Seja T uma função iteradora. O ponto x diz-se ponto
periódico de T , de peŕıodo k (k ≥ 1), se k é o menor número naturaltal que
T k(x) = x .
Exemplo: O ponto 1 é um ponto periódico da função de Collatz de
peŕıodo 3:
T (1) = 4 , T2(1) = 2 , T3(1) = 1 .
Definição: Seja T uma função iteradora. Um ponto periódico de T
de peŕıodo 1, isto é, um ponto x tal que T (x) = x, diz-se ponto fixo
de T .
-
Algoritmo em pseudocódigo:
collatz[m : m um número natural]
n← m;while n > 1 do
if n par then n← n/2 else n← 3n + 1;output : n (∗ n = 1? ∗)
Conjectura: o programa termina sempre!
-
T@n_ ; EvenQ@nDD := n 2;T@n_ ; OddQ@nDD := 3 n + 1;data = MatrixForm@Table@NestList@T, n, 20D, 8n, 10
-
? NestList
NestList@ f , expr, nD gives a list of the results of applying f to expr 0 through n times.
NestList@T, n, 4D
8n, T@nD, T@T@nDD, T@T@T@nDDD, T@T@T@T@nDDDD
-
n = 31 −→ 106 iterações
31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91,274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263,790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251,754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438,719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911,2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577,1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46,23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1
-
n 31
20 40 60 80 100
2000
4000
6000
8000
Collatz Sequence Paths from the Wolfram Demonstrations Project. Contributed by: Hector Zenil
http://demonstrations.wolfram.com/CollatzSequencePaths
-
Validação computacional para valores de
n ≤ 20 ∗ 258 ' 5.76× 1018
Oliveira e Silva, T. 2010† Empirical verification of the 3 x+1 and re-lated conjectures. In: The Ultimate Challenge: The 3 x+1 Problem,
J.C. Lagarias (ed.), American Mathematical Society, pp. 189-207.
O famoso matemático britânico, John Conway (1937–), da Univer-
sidade de Princeton, é de opinião que o problema não é resolúvel,
isto é, a conjectura de Collatz não pode ser provada nem desprovada
(Conway, J.H. 2013 On unsettleable arithmetical problems, Ameri-
can Mathematical Monthly 120:192-198).
†Tomás Oliveira e Silva (1964– ), cientista português da Universidade de Aveiro
-
Teste da conjectura de Collatz:
Nome da rotina: Collatz.
Dado o número inicial n, n ≥ 1, devolve uma lista com
• o número de iterações, niter, necessário até ocorrer o valor 1;
• a lista de iteradas {n, T1(n), T2(n)), T3(n), ...,1}.
-
Rotina em pseudocódigo:
Collatz[n : n ≥ 1 número natural]x0 ← n; (∗ último elemento da órbita ∗)niter ← 0; (∗ número de iterações ∗)res← {x0}; (∗ lista de resultados ∗)while x0 6= 1 do
x1 ← T (x0);res← {res, x1};niter ← niter + 1;x0 ← x1;
output : {niter, res}
-
Código Mathematica:
Collatz@n_Integer ; n ³ 1D := Module@8x0 = n, x1, niter, res
-
Out[59]=
æææææ
ææ
ææ
æ
ææ
ææ
ææ
æ
æ
ææ
ææ
æ
æ
æ
ææ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
ææ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æææ
ææææææ
æææ
ææææææææææ
20 40 60 80 100
2000
4000
6000
8000
n 31
Out[58]=
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ
ææ æ
5 10 15
50
100
150
n 15
-
0 200 400 600 800 10000
50
100
150
n
comprimentodaórbitaatéocorreronúmero1
-
Ińıcio em números inteiros negativos:
-1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2-3 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5-6 -3 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2-7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7-8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2-9 -26 -13 -38 -19 -56 -28 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10
-10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10-11 -32 -16 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-12 -6 -3 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-13 -38 -19 -56 -28 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14-14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14-15 -44 -22 -11 -32 -16 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2-16 -8 -4 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1-17 -50 -25 -74 -37 -110 -55 -164 -82 -41 -122 -61 -182 -91 -272 -136 -68 -34 -17 -50 -25-18 -9 -26 -13 -38 -19 -56 -28 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20-19 -56 -28 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20-20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20 -10 -5 -14 -7 -20
-
Três ciclos:
{−1,−2,−1} (de peŕıodo 2);
{−5,−14,−7,−20,−10,−5} (de peŕıodo 5);
{−17,−50,−25,−74,−37,−110,−55,−164,−82,−41,−122,
−61,−182,−91,−272,−136,−68,−34,−17} (de peŕıodo 18);
-
3. Divisibilidade
Seja x ∈ R. Definem-se as funções b c : R→ Z e d e : R→ Z por
bxc é o maior inteiro não superior a x;
dxe é o menor inteiro não inferior a x.
Tem-se:
bxc ≤ x < bxc+ 1 , dxe − 1 < x ≤ dxe ∀x ∈ R ,
bnc = dne = n ∀n ∈ Z .
-
Exemplo: b2.11c = 2 , b−0.1c = −1 , d−1.9e = −1
Note-se que a parte inteira de x coincide com bxc se x ≥ 0 e comdxe se x ≤ 0.
Define-se ainda a parte fraccionária de x por frac(x) = x− bxc.
As funções Mathematica: Floor, Ceiling, IntegerPart.
-
y=x-dxt
-2 -1 1 2x
-1.0
-0.5
0.5
1.0
1.5
y
No Mathematica existe o comando FractionalPart mas
FractionalPart[x] 6= frac(x) , se x < 0 e x 6∈ Z .
Tem-seFractionalPart[x] = x− IntegerPart[x].
0 ≤ frac(x) < 1 , −1 < FractionalPart[x] < 1 .
-
Seja n ∈ Z. Tem-se
bx + nc = bxc+ n ∀x ∈ R
dx + ne = dxe+ n ∀x ∈ R
frac(x + n) = frac(x) ∀x ∈ R
Se y ∈ R, temos
bxc+ byc ≤ bx + yc ≤ bxc+ byc+ 1 ∀x ∈ R
dxe+ dye − 1 ≤ dx + ye ≤ dxe+ dye ∀x ∈ R
-
Exemplo: Seja n um inteiro positivo e k ∈ N tal que
10k−1 ≤ n < 10k.
Logo k ≤ log10 n + 1 < k + 1 .
Portanto o número de d́ıgitos decimais de n é dado por
k = blog10 n + 1c = blog10 nc+ 1.
-
a) n = 21024
k = b1024 log10 2 c+ 1 = 309
b) n = 2222
2
k = b2222
log10 2 c+ 1 = b216 log10 2 c+ 1 = 19729
Em Mathematica: k = IntegerLength[n]
Floor@1024 Log@10, 2DD + 1
309
IntegerLength@2 ^ 1024D
309
-
Definição: Sejam a, b ∈ Z, a 6= 0. Diz-se que a divide b e escreve-sea | b se existir k ∈ Z tal que b = k a. �
Diz-se ainda que a é um divisor de b e que b é múltiplo de a.
Teorema: Sejam a, b, c ∈ Z.
1. Se a 6= 0 , então a | a e a |0.
2. 1 | a ∀a ∈ Z.
3. Se a | b e a | c, então a | (b± c).
4. Se a | b e b | c, então a | c.
5. Se a | b, então a | b c ∀c ∈ Z.
-
Se a não for divisor de b, escrevemos a6 | b.
Se a | b e 1 ≤ a < b, diz-se que a é divisor próprio de b.
Comandos Mathematica: Divisors[n], Divisible[n,m]
Divisible[459, 17]
True
Divisors[231]
{1, 3, 7, 11, 21, 33, 77, 231}
-
Teorema: [Algoritmo de divisão] Sejam a, b ∈ Z, com b > 0. Existeminteiros únicos q (quociente) e r (resto) tais que
a = b q + r , 0 ≤ r < b .
Dem. Note-se que
0 ≤ frac( ab
)< 1 ⇔ 0 ≤ a− b
⌊ab
⌋< b .
Portanto a = bq + r, com
q =⌊ab
⌋, r = a− b
⌊ab
⌋, onde q, r ∈ Z .
Sejam então r, r′, q, q′ ∈ Z tais que
a = b q + r = b q′+ r′ , 0 ≤ r, r′ < b .
-
Tem-se
0 = b(q − q′) + (r − r′) ⇔ r − r′ = b k com k = (q′ − q) ∈ Z .
Isto só é posśıvel se k = 0 pois b > 0 e |r − r′| < b. Portanto q = q′
e r = r′. �
Exemplos:
21 = 4× 5 + 1 , 5 =⌊21
4
⌋, 1 = 21 − 4
⌊214
⌋−21 = 4× (−6) + 3 , −6 =
⌊−214
⌋, 3 = −21 − 4
⌊−214
⌋
-
Comandos Mathematica: Quotient[a, b], Mod[a, b]
8Quotient@21, 4D, Mod@21, 4D<
85, 1<
8Quotient@-21, 4D, Mod@-21, 4D<
8-6, 3<
8Quotient@4, 21D, Mod@4, 21D<
80, 4
-
Algoritmo:
divisao@a_Integer, b_Integer ; b ¹ 0D :=Module@8q, r
-
Definição: Sejam a, b > 0 inteiros. O maior inteiro que divide a e b
diz-se máximo divisor comum de a e b, i.e.
mdc(a, b) = max{d : d | a e d | b } .
O menor inteiro positivo que é múltiplo simultaneamente de a e de
b diz-se menor múltiplo comum de a e b. Escreve-se
min{k : a | k e b | k , k > 0 } = mmc(a, b) �
Seja d > 0 um divisor de a, b ∈ N. Tem-se
1 ≤ d ≤ mdc(a, b) ≤ min{a, b} ,
mdc(a,0) = a , mdc(0, b) = b , d |mdc(a, b) .
Além disso
1 ≤ max{a, b} ≤ mmc(a, b) ≤ a× b
-
Algoritmo Mathematica :(∗ máximo divisor comum ∗)
mdc@m_Integer, 0D ; m ³ 0 := m;mdc@0, n_IntegerD ; n ³ 0 := n;
mdc@m_Integer, n_IntegerD ; Hm > 0 && n > 0L :=Hd = Min@m, nD;
While@! HMod@n, dD 0 && Mod@m, dD 0L,d = d - 1D;
dL
H* Teste: *L
8mdc@25, 15D, mdc@10, 5D, mdc@5, 2D,mdc@12, 0D, mdc@0, 100D, mdc@25, 15.D<
85, 5, 1, 12, 100, mdc@25, 15.D
-
Instruções Mathematica:
LCM[n1, n2, . . .] (Least Common Multiple)
GCD[n1, n2, . . .] (Greatest Common Divider).
LCM[45, 20, 16] −→ 720
GCD[45, 20, 16] −→ 1
-
Lema: [Bézout†] Sejam a, b ∈ Z \ {0}. Então, existem s, t ∈ Z taisque
sa + tb = mdc(a, b) ,
isto é, mdc(a, b) é uma combinação linear de a e b.
Dem. Seja d ≤ min(a, b) o menor inteiro positivo tal que d é com-binação linear de a e b. Escreve-se d = sa + tb, onde s, t ∈ Z. PeloAlgoritmo de Divisão, tem-se
a = dq + r , onde q, r ∈ Z e 0 ≤ r < d .Segue-se que
r = a− dq = a− (sa + tb)q = (1− qs)a + (−qt)b ,ou seja, r é uma combinação linear de a e b. Tendo em conta qued > 0 é a menor combinação linear de a e b e 0 ≤ r < d, conclui-seque r = 0 e assim d | a. De ı́gual modo, prova-se que d | b.†Étienne Bézout (1730-1783), matemático francês.
-
Portanto d = sa + tb é um divisor comum de a e b ou seja d ≤mdc(a, b). Por outro lado
mdc(a, b) | a , mdc(a, b) | b ⇒ mdc(a, b) | d ,
o que só é posśıvel se d = mdc(a, b). �
Note-se que, dados a, b 6= 0, mdc(a, b) é o menor inteiro positivo daforma sa + tb, com s, t ∈ Z.
Exemplo: a=6, b=2
1× 6 + (−2)× 2 = 2 = mdc(6,2)
(−1)× 6 + 4× 2 = 2
s 6 + t 2 6= 1 quaisquer que sejam s, t ∈ Z
-
Solve@6 x + 2 y 1, 8x, y