Você está na página 1de 13

Índice

Biografia de John von Neumann

Contruibições durante a vida

Abordagem de sua contribuição na computação

Arquitetura de von Neumann

Descrição

Teoria do Gargalo de Neumann

Primeiros computadores da arquitectura Neumann

Citações

Referências
John von Neumann

John von Neumann, nascido Margittai Neumann János Lajos (Budapeste, 28 de dezembro de
1903 — Washington, D.C., 8 de fevereiro de 1957) foi um matemático húngaro de origem
judaica, naturalizado estadunidense.

Contribuiu na teoria dos conjuntos, análise funcional, teoria ergódica, mecânica quântica,
ciência da computação, economia,teoria dos jogos, análise numérica, hidrodinâmica das
explosões, estatística e muitas outras as áreas da Matemática. De fato é considerado um dos
mais importantes matemáticos do século XX.[1]

Foi membro do Instituto de Estudos Avançados em Princeton, New Jersey, do qual também
faziam parte Albert Einstein e Erwin Panofsky, quando emigraram para os Estados Unidos,
além de Kurt Gödel, Robert Oppenheimer, George F. Kennan e Hermann Weyl.

Com Edward Teller e Stanislaw Ulam, von Neumann trabalhou em desenvolvimentos chave da
Física Nuclear, relacionados comreações termonucleares e com a bomba de hidrogênio.
Participou também do Projeto Manhattan, responsável pelo desenvolvimento das primeiras
bombas atômicas.

Foi professor na Universidade de Princeton e um dos construtores do ENIAC. Entre os anos de


1946 e 1953, von Neumann integrou o grupo reunido sob o nome de Macy Conferences,
contribuindo para a consolidação da teoria cibernética junto com outros cientistas renomados:
Gregory Bateson, Heinz von Foerster, Kurt Lewin, Margaret Mead, Norbert Wiener, Paul
Lazarsfeld,William Ross Ashby, Claude Shannon, Erik Erikson e Max Delbrück, entre outros. Von
Neumann faleceu pouco depois, aos 53 anos, vítima de um tumor cerebral.

Areas de contribuições durante a vida


Lógica

Mecânica Quântica

Computação

Teoria de Jogos

Economia

Armamento

Abordagem de sua contribuição na área da Computação

John von Neumann propôs que as instruções, lidas na época por cartões perfurados, fossem
gravadas na memória do computador; o que faria sua execução e leitura mais rápidas, uma vez
que se davam eletronicamente.

Neumann contribuiu para a construção dos computadores de forma grandiosa, pois, ainda
hoje a maioria destas máquinas seguem o modelo inventado pelo mesmo.

“Em meados da década de 30, Johnny estava fascinado pelo problema da turbulência
hidrodinâmica. Foi então que tomou consciência dos mistérios subjacentes ao tema
dasequações diferenciais parciais não lineares. O seu trabalho, desde o início da Segunda
Guerra Mundial, foca o estudo das equações da hidrodinâmica e da teoria dos choques. Os
fenómenos descritos por estas equações não lineares são analiticamente estranhos e desafiam
mesmo a visão qualitativa dos métodos presentes. O trabalho numérico parecia-lhe o caminho
mais promissor para obter uma ideia do comportamento destes sistemas. Isto impeliu-o a
estudar as novas possibilidades da computação em máquinas electrónicas.[2]"

O projecto da bomba de hidrogénio teve, portanto, uma grande importância no


desenvolvimento da computação, uma vez que von Neumann e Stanislaw Ulam
desenvolveram simulações no computador digital de von Neumann, usado para computações
hidrodinâmicas. Durante esse período, contribuiu para o desenvolvimento do método de
Monte Carlo, que permitia a aproximação de problemas complexos através de números
aleatórios. Uma vez que usar listas de números aleatórios verdadeiros tornava o ENIAC
extremamente lento, von Neumann desenvolveu uma maneira de criar números pseudo-
aleatórios, usando o middle square method (na verdade, este não é um método muito eficaz,
pois o seu período é muito curto e tem defeitos graves. Von Neumann estava consciente
destes defeitos do método, mas para os seus objectivos o método era rápido e os seus erros
fáceis de detectar.) Logo após von Neumann ter se interessado pelo ENIAC, a escola Moore
solicitou e recebeu um contrato para o desenvolvimento de um computador mais potente,
denominado EDVAC[10]. Enquanto era consultor da Moore School of Electrical Engineering
sobre o EDVAC (Electronic Discrete Variable Automatic Calculator), um dos primeiros
computadores electrónicos binários e sucessor do ENIAC, von Neumann escreveu um artigo
intitulado First Draft of a Report on the EDVAC, no qual propunha um computador composto
por uma estrutura simples mas fixa com um controlo programado, que seria capaz de executar
qualquer comando sem haver necessidade de se alterar o hardware (a sua ideia era a técnica
do programa-guardado).

O relatório sobre o EDVAC se tornou um dos primeiros documentos a descrever a disposição


interna e os princípios de funcionamento dos computadores modernos. Ao assinar tal relatório
com o seu nome de matemático prestigiado, von Neumann conferiu-lhe uma audiência e uma
legitimidade inesperadas, muito úteis para obter os créditos militares, mas, ao mesmo tempo,
atribuiu a si próprio toda a glória da invenção do computador. Ainda que tenha sido um
personagem importante na história da computação, a atribuição desse mérito a von Neumann
ignora o trabalho de seus colaboradores, contemporâneos e até predecessores, que
igualmente trabalharam no desenvolvimento do computador.[11]”

Sugeria a existência de uma instrução máquina, chamada conditional control transfer, que
permitia a interrupção e reinício do programa em qualquer ponto da computação. Sugeria
igualmente guardar programas na mesma unidade de memória que os dados, o que permitiria
que as instruções fossem aritmeticamente modificadas do mesmo modo que os dados. Uma
unidade central de processamento, composta pela unidade de controlo e por uma ou mais
unidades de execução, extrairia quer dados quer instruções da memória, operando sobre elas
e devolvendo-as de novo à memória. O resultado era muito mais rápido, a programação e
computação mais eficientes, pois permitiam que as instruções fossem escritas como sub-
rotinas que não requeriam uma nova programação para cada novo problema (as rotinas mais
longas podiam ser alteradas por partes, sendo os resultados intermédios guardados na
memória e sendo usados para o resultado final).

Quer a implementação das componentes físicas independentes, quer as interacções entre


elementos, têm variado ao longo do tempo, dependendo das tecnologias de fabrico, mas a sua
arquitectura mantém-se. Tal arquitectura de memória única tornou-se conhecida como
arquitectura de von Neumann, apesar de a sua concepção ter envolvido J. Presper Eckert ou
John William Mauchly, inventores do ENIAC, e é utilizada em quase todos os
minicomputadores, microcomputadores e computadores domésticos. Para além da criação de
uma nova arquitectura de computadores, von Neumann também criou os autómatos celulares
sem a ajuda de computadores: nos anos 1940, estudava sistemas auto-replicativos e
enfrentava algumas dificuldades em explicitar o modelo inicial de um robot que fosse capaz de
se copiar sozinho a partir de um conjunto de peças separadas.Stanislaw Ulam, colega de von
Neumann que na altura modelava o crescimento de cristais usando uma grelha, sugeriu-lhe
que se inspirasse nos seus trabalhos para ultrapassar o problema. Baseando-se numa grelha
bidimensional na qual cada célula podia estar num de 29 estados distintos, von Neumann criou
um modelo matemático abstracto para o seu problema, um “copiador e construtor universal”,
que se tornou no primeiro autómato celular auto-replicante. Uma vez mais se comprova que
von Neumann ia inventando a matemática à medida das suas necessidades e dá crédito ao que
diziam sobre ele: “Matemáticos em geral, provam o que são capazes de provar. Von Neumann
prova o que quer.”

Aplicando esta descoberta ao seu gosto por explosivos, von Neumann provou que a maneira
mais eficaz de realizar operações mineiras como minar uma lua inteira ou uma cintura de
asteróides seria usar máquinas auto-replicativas, aproveitando o seu crescimento exponencial.
Von Neumann foi um dos pioneiros da computação, tendo feito grandes contribuições para o
desenvolvimento do design lógico, que Shannon resume do seguinte modo:

“Von Neumann passou parte considerável dos seus últimos anos de vida a trabalhar na teoria
dos autómatos. Representava para ele uma síntese do seu interesse inicial em lógica e teoria
das demonstrações, e do seu posterior trabalho, durante e após a Segunda Guerra Mundial,
em computadores electrónicos em larga escala. Envolvendo uma mistura de matemática pura
e aplicada bem como outras ciências, a teoria dos autómatos era um campo ideal para o
intelecto abrangente de von Neumann. Ele trouxe-lhe várias perspectivas novas e abriu pelo
menos duas novas direcções de pesquisa.[12]”

Ainda no campo da ciência da computação, Donald Knuth cita von Neumann como o inventor
do algoritmo Mergesort, em 1945, cujo objectivo é criar uma sequência ordenada a partir de
outras duas já ordenadas. Para tal, divide-se a sequência original em pares de dados, e ordena-
se. Depois, agrupa-se em sequências de quatro elementos, e assim por diante até a sequência
original estar separada em apenas duas partes. Este é um exemplo de algoritmo de ordenação
do tipo “dividir-para-conquistar”, cujos passos do algoritmo são: 1- A sequência a ordenar é
dividida em duas; 2- Conquistar: cada uma das metades é ordenada independentemente; 3-
Combinar: as duas metades são juntas numa sequência ordenada. O seu algoritmo para
simular uma moeda equilibrada usando uma moeda viciada é usado na etapa de Software
Whitening de alguns geradores de números aleatórios.

Também se aventurou na resolução de problemas na hidrodinâmica numérica e com R.D.


Richtmyer desenvolveu um algoritmo sobre viscosidade artificial que contribuiu para a
compreensão das ondas de choque. Sem esse trabalho, provavelmente não
compreenderíamos muita da astrofísica actual e não teríamos desenvolvido os motores de
jacto e defoguete. A viscosidade artificial foi um truque matemático usado para atenuar
ligeiramente a transição de choque, uma vez que os computadores, ao resolverem problemas
dehidrodinâmica ou aerodinâmica, têm tendência para por demasiados pontos na grelha em
regiões de descontinuidade acentuada (ondas de choque).
Arquitetura de von Neumann

A Arquitetura de von Neumann - de John von Neumann (pronunciado Nóimann) - é uma


arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital
armazenar seus programas no mesmo espaço de memória que os dados, podendo assim
manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de
programa armazenado que utiliza uma unidade de processamento(CPU) e uma de
armazenamento ("memória") para comportar, respectivamente, instruções e dados.

A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma memória, (ii)
uma unidade aritmética e lógica (ALU), (iii) umaunidade central de processamento (CPU),
composta por diversos registradores, e (iv) uma Unidade de Controle (CU), cuja função é a
mesma da tabela de controle da Máquina de Turing universal: buscar um programa na
memória, instrução por instrução, e executá-lo sobre os dados deentrada.

Todos os elementos dessa arquitetura são alinhados da estrutura hardware do CPU, assim o
sistema pode realizar todas as suas atividades sem apresentar erros no desempenho. Von
Neumann é continuamente influenciado pela evolução tecnológica, tendo peças mais
modernas inseridas. Cada um dos elementos apresentados é realizado à custa de
componentes físicos independentes, cuja implementação tem variado ao longo do tempo,
consoante a evolução das tecnologias de fabricação, desde os relés electromagnéticos, os
tubos de vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os
circuitos eletrônicos integrados, com média, alta ou muito alta densidade de integração (MSI
-medium scale, LSI - large scale, ou VLSI - very large scale integration), medida em termos de
milhões transistores por pastilha de silício.

As novas interações entre os elementos exibem tempos típicos que também têm variado ao
longo do tempo, consoante as tecnologias de fabricação. Atualmente, as CPUs processam
instruções sob controlo de relógios cujos períodos típicos são da ordem de 1 nanosegundo, ou
seja, segundos. As memórias centrais têm tempos típicos de acesso da ordem da dezena de
nanosegundos. As unidades de entrada e saída exibem tempos típicos extremamente
variáveis, mas que são tipicamente muito superiores à escala do nanosegundo. Por exemplo,
os discos rígidos exibem tempos da ordem dos milissegundos (milésimo de segundo, ). Outros
dispositivos periféricos são inertes, a não ser que sejam ativados por utilizadores humanos. Por
exemplo, ao se fazer "copy and paste" nao se-percebe nada do que foi descrito acima, pois um
teclado só envia informação para o computador após serem pressionada as devidas teclas.
Assim, este dispositivo se comunica com a CPU eventualmente e, portanto, exibe tempos
indeterminados.

O modelo (ou arquitetura) de Von Neumann foi concebido a partir de 1946, quando John von
Neumann e sua equipe desenvolveram um novo projeto de “computador de programa
armazenado”. Projetado pela IAS (Princeton Institute for Advanced Studies), este computador
foi largamente difundido, influenciando muitos projetos subsequentes de outras máquinas.
Descrição

As primeiras máquinas de computação tinham programas fixos. Alguns computadores muito


simples ainda usam este projeto, quer para fins de simplicidade ou de formação. Por exemplo,
uma calculadora de mesa (em princípio) é um programa de computador fixo. Ele pode fazer a
matemática básica, mas não pode ser usado como um processador de texto ou um emulador
de console de videogame. Alterar o programa de uma máquina de programa fixo exige re-
ligação, re-estruturação ou re-projetar a máquina. Os primeiros computadores não eram tão
"programados", como eles foram "desenhados". Era um processo trabalhoso, começando com
fluxogramas e cédulas de papel, seguido de desenhos detalhados de engenharia e, em seguida
o processo muitas vezes penoso fisicamente de re-ligação e re-construção da máquina.
Podendo levar três semanas para criar um programa no ENIAC e começar a trabalhar.

A ideia do computador de programa armazenado, mudou tudo isso: um computador que pelo
projeto inclui um conjunto de instruções e pode armazenar na memória um conjunto de
instruções (programa) que detalha o cálculo. Um projeto de programa armazenado também
permite que os programas possam se modificar durante a execução. Uma motivação precoce
para uma instalação desse tipo foi a necessidade de um programa para incrementar ou
modificar a porção do endereço das instruções, o que tinha que ser feito manualmente em
projetos adiantados. Isto tornou-se menos importante quando registradores de índice e
endereçamento indireto foram as características usuais da arquitetura da máquina. Código de
Auto-modificação foi amplamente caído em desuso, já que normalmente é difícil de entender
e depurar, bem como sendo ineficiente em pipelining processador moderno, e esquemas de
cache.

Em grande escala, a capacidade de tratar as instruções como os dados é o que faz montadores,
compiladores e outras ferramentas de programação automatizada possíveis. Pode-se
"escrever programas que escrevem programas." Em uma escala menor, instruções de I / O da
máquina intensiva, como o BitBlt primitivos usados para modificar imagens em um display
bitmap. Foi mostrado posteriormente que estas instruções podem ser implementadas de
forma eficiente por "na compilação fly" ("just-in-time de compilação) de tecnologia, por
exemplo, geração de código de programas, uma forma de código de auto-modificação que se
manteve popular.

Há desvantagens para a concepção de von Neumann. Além do gargalo de von Neumann


descrito abaixo, alterações do programa pode ser bastante prejudicial, quer por acidente ou
design. Em alguns projetos simples computador de programa armazenado, um programa com
defeito pode danificar outros programas, ou o sistema operacional, possivelmente levando a
uma pane no computador. Proteção de memória e outras formas de controle de acesso.

O matemático Alan Turing, que tinha sido alertado para um problema de lógica matemática
pelas palestras de Max Newman na Universidade de Cambridge, escreveu um artigo em 1936
intitulado On Computable Numbers, com um aplicativo para o Entscheidungsproblem, que foi
publicado nos Anais da Sociedade Matemática de Londres. Nela, ele descreveu uma máquina
hipotética que ele chamou de "máquina de computação universal", e que agora é conhecida
como a "máquina de Turing universal". A máquina hipotética tinha uma loja de infinitas
(memória, na terminologia de hoje instruções e dados). O engenheiro alemão Konrad Zuse,
independentemente escreveu sobre este conceito em 1936. John von Neumann tornou-se
familiarizado com Turing, quando ele era professor visitante na Universidade de Cambridge em
1935 e também durante o ano que Turing passou na Universidade de Princeton, em 1936-
1937.

Von Neumann estava envolvido no Projeto Manhattan no Los Alamos National Laboratory, que
exigiu enormes quantidades de cálculo. Isso o levou para o projeto ENIAC, no verão de 1944.
Lá ele se juntou ao debate em curso sobre a concepção deste computador de programa
armazenado, o EDVAC. Como parte desse grupo, ele se ofereceu para escrever uma descrição
do mesmo. O termo "arquitetura de von Neumann" surgiu a partir de uma publicação de von
Neumann, o primeiro esboço de um relatório sobre o EDVAC datado de 30 de junho de 1945,
que incluía ideias de Eckert e Mauchly. O esboço estava inacabado quando seu colega Herman
Goldstine que circulou somente com o nome de von Neumann sobre ele, para a consternação
de Eckert e Mauchly. O documento foi lido por dezenas de colegas de von Neumann nos
Estados Unidos e Europa, influenciando a próxima rodada de modelos de computador.

Ambas publicações de von Neumann e Turing descreveram um programa armazenado para


computadores, mas a publicação de von Neumann alcançou maior circulação e a arquitetura
do computador que ele expôs ficou conhecida como a "arquitetura de von Neumann". Von
Neumann foi, então, o criador da arquitetura de programa armazenado, mas Jack Copeland
considera que é "historicamente inadequado" referir-se a eletrônica de programa armazenado
e computadores digitais como "máquinas de von Neumann"
Gargalo (von neumann)

A separação entre a CPU e a memória leva para o gargalo de von Neumann, a produção
limitada (taxa de transferência) entre a CPU e a memória em comparação com a quantidade
de memória. Na maioria dos computadores modernos, o throughput é muito menor do que a
taxa com que o processador pode trabalhar. Isso limita seriamente a velocidade de
processamento eficaz quando o processador é exigido para realizar o processamento mínimo
em grandes quantidades de dados. A CPU é continuamente forçada a esperar por dados que
precisam ser transferidos para ou a partir da memória. Como a velocidade da CPU e tamanho
da memória têm aumentado muito mais rapidamente que a taxa de transferência entre eles, o
gargalo se tornou mais um problema, um problema cuja gravidade aumenta com cada geração
de CPU.

O termo "gargalo de von Neumann" foi cunhado por John Backus em sua palestra Award 1977
ACM Turing. Segundo Backus:

Certamente deve haver uma maneira menos primitiva de se fazer grandes mudanças na loja,
do que deixando um grande número de palavras para trás, através do gargalo de von
Neumann. Não só é um tubo de estrangulamento literal para o tráfego de dados de um
problema, mas, mais importante, é um factor de estrangulamento intelectual que nos tem
mantido amarrado a pensar palavra-em-um-tempo em vez de encorajar-nos a pensar em
termos de grandes unidades conceituais da tarefa em questão. Assim, a programação é
basicamente o planejamento e detalhamento do tráfego enorme de palavras através do
gargalo de von Neumann.

O problema de desempenho pode ser aliviado (até certo ponto) por diversos mecanismos. Os
algoritmos fornecem um cache entre o processador ea memória principal, proporcionando
caches separados com os caminhos de acesso separado para dados e instruções (a chamada
arquitetura de Harvard), e utilizando preditor e lógica são as três formas de desempenho. O
problema também pode ser contornado usando um pouco de computação paralela, por
exemplo a arquitetura NUMA, esta abordagem é geralmente utilizado pelos
supercomputadores.Uma solução proposta é Backus que não teve uma grande influência.
Modern programação funcional e programação orientada a objetos, são menos voltadas para
do que as linguagens anteriores, mas é internamente o que os computadores passam a maior
parte do tempo fazendo, mesmo os supercomputadores altamente paralelos.
Primeiros computadores de arquitetura von Neumann

A Primeira Ideia (primeiro rascunho - First Draft) descrevia um design de computador que foi
usado por muitas universidades e corporações para construir seus computadores. [1]Dentre
esses computadores, somente o ILLIAC e o ORDVAC possuíam instruções compatíveis.

• ORDVAC (U-Illinois) @ Aberdeen Proving Ground, Maryland (completado em


novembro de 1951[2])

• IAS machine @ Princeton University (jan. de 1952)

• MANIAC I @ Los Alamos Scientific Laboratory (mar. 1952)

• ILLIAC @ the University of Illinois, (set. 1952)

• AVIDAC @ Argonne National Laboratory (1953)

• ORACLE @ Oak Ridge National Laboratory (jun. 1953)

• JOHNNIAC @ RAND Corporation (jan. 1954)

• BESK em Stockholm (1953)

• BESM-1 em Moscow (1952)

• DASK em Denmark (1955)

• PERM em Munich (1956?)

• SILLIAC em Sydney (1956)

• WEIZAC em Rehovoth (1955)


Citações

Em matemática não percebemos coisas. Apenas nos habituamos a elas. (in G. Zukav The
dancing Wu Li masters)

O facto mais característico acerca da matemática é, na minha opinião, a sua relação peculiar
com as ciências naturais, ou mais geralmente, com qualquer ciência que interprete
experiências a um nível superior ao meramente descritivo.

De uma maneira geral é uniformemente verdade que na matemática há um lapso de tempo


entre a descoberta matemática e o momento em que se torna útil; e que esse lapso pode ser
qualquer entre 30 e 100 anos, em alguns casos ainda mais; e que todo o sistema parece
funcionar sem qualquer direcção, sem qualquer referência à utilidade e sem qualquer desejo
de fazer coisas que sejam úteis.

Quem quer que seja que considere métodos aritméticos para produzir números aleatórios
está, claro, num estado de pecado. (in D. MacHale, Comic Sections (Dublin, 1993))

Existe um conjunto infinito A que não é demasiado grande.

Todos os processos estáveis conseguiremos prever. Todos os processos instáveis


conseguiremos controlar!

As ciências não tentam explicar, elas dificilmente tentam interpretar, elas fazem
principalmente modelos. Por um modelo entende-se uma construção matemática que,
juntamente com certas interpretações verbais, descreve um fenómeno observado. A
justificação de tal construção matemática é só e precisamente que se espera que funcione.

Podia parecer que chegámos ao limite do que era possível alcançar com a tecnologia dos
computadores, contudo, uma pessoa deveria ser cuidadosa com tais afirmações, pois tendem
a soar muito tontas em 5 anos. (dito em 1949)

Não há sentido em ser preciso quando não se sabe de que se está a falar.
Referências

1. ↑ John von Neumann. MSN Encarta.

2. ↑ a b John von Neumann, Macrae N. (Pantheon, New York, NY, 1992)

3. ↑ a b c d Prisoner’s Dilemna, Poundstone, W. (Oxford, 1993)

4. ↑ a b c d e The legend of John von Neumann, Halmos, P.R. (Amer. Math. Monthly 80,
1973)

5. ↑ Obituário do The Times

6. ↑ John von Neumann and Norbert Wiener: From mathematics to the tecnologies of
life and death, Heims, S. J. (Cambridge, MA, MIT Press, 1980)

7. ↑ John von Neumann’s work in the theory of games and mathematical economics,
Kuhn, H.W. and Tucker, A.W. (Bull. Amer. Math. Soc. 64, Number 3, pg. 100-122, 1958)

8. ↑ ] John von Neumann, Ulam (Bull. Amer. Math. Soc. 64, pg. 1-49, 1958)

9. ↑ Von Neumann's contributions to Quantum Theory, Van Hove (Bull. Amer. Math.
Soc. 64, pg. 95-99, 1958)

10. ↑ STERN, Nancy. (outubro 1980). "John von Neumann's Influence on Eletronic Digital
Computing, 1944-1946" (em ingles). Annals of The History of Computing 2 (4): 384. Arlington,
VA: American Federation of Information Processing Societies. ISSN 1058-6180.

11. ↑ A invenção do computador, Lévy, Pierre In: Serres, Michel (Org.). Elementos para
uma História das Ciências III: de Pasteur ao computador. Lisboa, Terramar, 1989

12. ↑ Von Neumann’s contributions to automata theory, Shannon, C.E. (Bull. Amer. Math.
Soc. 64, pg. 123-129, 1958)

13. ↑ John von Neumann, Ulam (Bull. Amer. Math. Soc. 64, pg. 1-49, 1958)

14. ↑ Über eine Schlussweise aus dem Endlichen ins Unendliche, König, D. (Acta Sci. Math
Szeged, vol. 3, pg. 121-130, 1927)

15. ↑ Zur Theorie der abstrakten Spiele, Kalmar, L. (Acta Sci. Math. Szeged. Vol. 4, pg. 65-
85, 1928-1929)

Você também pode gostar