约翰·何顿·康威 John Horton Conway

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
费米子讨论 | 贡献2020年4月12日 (日) 11:31的版本 →‎效果展示
跳到导航 跳到搜索


约翰·霍顿·康威 John Horton Conway [1](生于1937年12月26日,<!-死因尚未得到可靠来源的证实->)是一位活跃于有限群 finite groups理论的英国数学家,纽结理论 knot theory数论 number theory组合博弈论 combinatorial game theory编码论 coding theory。 他还为趣味数学 recreational mathematics的许多分支做出了贡献,其中最著名的是元胞自动机 Cellular Automata的发明,康威的生命游戏。 康威(Conway)先是在英国剑桥大学度过他一半的职业生涯,而在新泽西普林斯顿大学的新泽西州度过了下半场职业生涯,他获得了John von Neumann荣誉教授的头衔。 .[2][3][4][5][6][7][8]


基本信息

J.H conway.jpg
类别 信息
姓名: 约翰·何顿·康威John Horton Conway
出生日期: 1937年12月26日
出生地: 英国默西赛德郡利物浦
国籍: 英国
居住地: 美国
母校: 剑桥大学
成就: 康威的生命游戏 Conway's Game of Life , 外观数列
主要研究方向: 有限群理论、纽结理论、数论、组合博弈论和编码理论


教育和早期生活

康威(Conway)生于Liverpool[9],是西里尔·霍顿·康威 (Cyril Horton Conway) 和艾格尼丝·博伊斯(Agnes Boyce)的儿子。[10][8]他从很小的时候就对数学感兴趣。到11岁时,他的志向是成为一名数学家。

离开六年级后,康威进入了剑桥的冈维尔和凯斯学院 学习数学。[10]康威(Conway)在学校时是一个“非常内向的青少年”,他将自己进入剑桥的机会解释为将自己转变为一个新人的机会:一个“外向的人”。[11][12]

他于1959年获得文学学士学位,并在Harold Davenport的指导下开始进行数论研究。解决了达文波特对华林问题(每个足够大的整数可以表示为最多16个四次方的总和)提出的开放问题,康威开始对无限序数感兴趣。似乎他对游戏的兴趣始于他研究Cambridge Mathematical Tripos的岁月,在那里他成为了一个狂热的西洋双陆棋 Backgammon玩家,花了数小时在休息室里玩游戏。他于1964年获得博士学位,并被Sidney Sussex College,Cambridge任命为大学研究员和数学讲师。

1986年离开剑桥后,他被任命为普林斯顿大学数学John von Neumann主席。

康威生命游戏python 实现

康威生命游戏python 实现下载:

"""
conway.py 
A simple Python/matplotlib implementation of Conway's Game of Life.
Author: Mahesh Venkitachalam
"""

import sys, argparse
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

ON = 255
OFF = 0
vals = [ON, OFF]


def randomGrid(N):
    """随机产生"""
    return np.random.choice(vals, N * N, p=[0.2, 0.8]).reshape(N, N)


def addGlider(i, j, grid):
    """添加一个滑翔机"""
    glider = np.array([[0, 0, 255],
                       [255, 0, 255],
                       [0, 255, 255]])
    grid[i:i + 3, j:j + 3] = glider


def addGosperGliderGun(i, j, grid):
    """添加一个滑翔机发射器"""
    gun = np.zeros(11 * 38).reshape(11, 38)

    gun[5][1] = gun[5][2] = 255
    gun[6][1] = gun[6][2] = 255

    gun[3][13] = gun[3][14] = 255
    gun[4][12] = gun[4][16] = 255
    gun[5][11] = gun[5][17] = 255
    gun[6][11] = gun[6][15] = gun[6][17] = gun[6][18] = 255
    gun[7][11] = gun[7][17] = 255
    gun[8][12] = gun[8][16] = 255
    gun[9][13] = gun[9][14] = 255

    gun[1][25] = 255
    gun[2][23] = gun[2][25] = 255
    gun[3][21] = gun[3][22] = 255
    gun[4][21] = gun[4][22] = 255
    gun[5][21] = gun[5][22] = 255
    gun[6][23] = gun[6][25] = 255
    gun[7][25] = 255

    gun[3][35] = gun[3][36] = 255
    gun[4][35] = gun[4][36] = 255

    grid[i:i + 11, j:j + 38] = gun


def update(frameNum, img, grid, N):
    """
    根据游戏规则刷新图像
    :param frameNum: matplotlib.animation模块需要传入的数据
    :param img: 原图
    :param grid: 坐标
    :param N: 尺寸
    :return: 新图
    """
    newGrid = grid.copy()
    for i in range(N):
        for j in range(N):
            # 计算周围八个格的和(0,255),计算周围有多少生命
            # %N用于考虑边界条件
            total = int((grid[i, (j - 1) % N] + grid[i, (j + 1) % N] +
                         grid[(i - 1) % N, j] + grid[(i + 1) % N, j] +
                         grid[(i - 1) % N, (j - 1) % N] + grid[(i - 1) % N, (j + 1) % N] +
                         grid[(i + 1) % N, (j - 1) % N] + grid[(i + 1) % N, (j + 1) % N]) / 255)
            # 生命更新规则
            if grid[i, j] == ON:
                if (total < 2) or (total > 3):
                    newGrid[i, j] = OFF
            else:
                if total == 3:
                    newGrid[i, j] = ON
    # 更新数据
    img.set_data(newGrid)
    grid[:] = newGrid[:]
    return img,


def main():
    # 接收传入的参数
    parser = argparse.ArgumentParser(description="Runs Conway's Game of Life simulation.")
    parser.add_argument('--grid-size', dest='N', required=False)
    parser.add_argument('--mov-file', dest='movfile', required=False)
    parser.add_argument('--interval', dest='interval', required=False)
    parser.add_argument('--glider', action='store_true', required=False)
    parser.add_argument('--gosper', action='store_true', required=False)
    args = parser.parse_args()

    # 设置默认地图尺寸
    N = 100
    if args.N and int(args.N) > 8:
        N = int(args.N)

    # 设置默认更新间隔时间ms毫秒
    updateInterval = 50
    if args.interval:
        updateInterval = int(args.interval)

    # 选择起始图像
    grid = np.array([])
    # 没有选择则使用随机图像
    if args.glider:
        grid = np.zeros(N * N).reshape(N, N)
        addGlider(1, 1, grid)
    elif args.gosper:
        grid = np.zeros(N * N).reshape(N, N)
        addGosperGliderGun(10, 10, grid)
    else:
        grid = randomGrid(N)

    # 设置动画
    fig, ax = plt.subplots()
    img = ax.imshow(grid, interpolation='nearest')
    ani = animation.FuncAnimation(fig, update, fargs=(img, grid, N,),
                                  frames=10,
                                  interval=updateInterval,
                                  save_count=50)

    # 选择输出位置
    if args.movfile:
        ani.save(args.movfile, fps=30, extra_args=['-vcodec', 'libx264'])

    plt.show()


# 运行
if __name__ == '__main__':
    main()

效果展示

  • Conway随机初始条件
python conway.py
Conway随机初始条件
  • Conway滑翔机
python conway.py --glider
Conway滑翔机
  • Conway发射器
python conway.py --gosper
Conway发射器
  • 其他参数
    • 地图大小
python conway.py --grid-size
    • 输出位置
python conway.py --mov-file
    • 刷新间隔(ms)
python conway.py --interval

Conway's Game of Life

Conway is especially known for the invention of the Game of Life, one of the early examples of a cellular automaton. His initial experiments in that field were done with pen and paper, long before personal computers existed.

Since the game was introduced by Martin Gardner in Scientific American in 1970,[13] it has spawned hundreds of computer programs, web sites, and articles.[14] It is a staple of recreational mathematics. There is an extensive wiki devoted to curating and cataloging the various aspects of the game.[15] From the earliest days, it has been a favorite in computer labs, both for its theoretical interest and as a practical exercise in programming and data display. At times Conway has said he hates the Game of Life–largely because it has come to overshadow some of the other deeper and more important things he has done.[16] Nevertheless, the game did help launch a new branch of mathematics, the field of cellular automata.[17]

The Game of Life is now known to be Turing complete.[18][19]

Conway and Martin Gardner

Conway's career is intertwined with that of mathematics popularizer and Scientific American columnist Martin Gardner. When Gardner featured Conway's Game of Life in his Mathematical Games column in October 1970, it became the most widely read of all his columns and made Conway an instant celebrity.[20][21] Gardner and Conway had first corresponded in the late 1950s, and over the years Gardner had frequently written about recreational aspects of Conway's work.[22] For instance, he discussed Conway's game of Sprouts (Jul 1967), Hackenbush (Jan 1972), and his angel and devil problem (Feb 1974). In the September 1976 column he reviewed Conway's book On Numbers and Games and even managed to explain Conway's surreal numbers.[23]

Conway was probably the most important member of Martin Gardner's Mathematical Grapevine. He regularly visited Gardner and often wrote him long letters summarizing his recreational research. In a 1976 visit Gardner pretty much held him prisoner for a week, pumping him for information on the Penrose tilings which had just been announced.  Conway had discovered many (if not most) of the major properties of the tilings.[24] Gardner used these results when he introduced the world to Penrose tiles in his January 1977 column.[25] The cover of that issue of Scientific American features the Penrose tiles and is based on a sketch by Conway.[21]

Conferences called Gathering 4 Gardner are held every two years to celebrate the legacy of Martin Gardner, and Conway himself has often been a featured speaker at these events, discussing various aspects of recreational mathematics.[26][27]

Major areas of research

Combinatorial game theory

Conway is widely known for his contributions to combinatorial game theory (CGT), a theory of partisan games. This he developed with Elwyn Berlekamp and Richard Guy, and with them also co-authored the book Winning Ways for your Mathematical Plays. He also wrote the book On Numbers and Games (ONAG) which lays out the mathematical foundations of CGT.

He is also one of the inventors of sprouts, as well as philosopher's football. He developed detailed analyses of many other games and puzzles, such as the Soma cube, peg solitaire, and Conway's soldiers. He came up with the angel problem, which was solved in 2006.

He invented a new system of numbers, the surreal numbers, which are closely related to certain games and have been the subject of a mathematical novelette by Donald Knuth.[28] He also invented a nomenclature for exceedingly large numbers, the Conway chained arrow notation. Much of this is discussed in the 0th part of ONAG.

Geometry

In the mid-1960s with Michael Guy, Conway established that there are sixty-four convex uniform polychora excluding two infinite sets of prismatic forms. They discovered the grand antiprism in the process, the only non-Wythoffian uniform polychoron. Conway has also suggested a system of notation dedicated to describing polyhedra called Conway polyhedron notation.

In the theory of tessellations, he devised the Conway criterion which describes rules for deciding if a prototile will tile the plane.[29]

He investigated lattices in higher dimensions, and was the first to determine the symmetry group of the Leech lattice.

Geometric topology

In knot theory, Conway formulated a new variation of the Alexander polynomial and produced a new invariant now called the Conway polynomial.[30] After lying dormant for more than a decade, this concept became central to work in the 1980s on the novel knot polynomials.[31] Conway further developed tangle theory and invented a system of notation for tabulating knots, nowadays known as Conway notation, while correcting a number of errors in the 19th century knot tables and extending them to include all but four of the non-alternating primes with 11 crossings. See Topology Proceedings 7 (1982) 118.

Group theory

He was the primary author of the ATLAS of Finite Groups giving properties of many finite simple groups. Working with his colleagues Robert Curtis and Simon P. Norton he constructed the first concrete representations of some of the sporadic groups. More specifically, he discovered three sporadic groups based on the symmetry of the Leech lattice, which have been designated the Conway groups.[32] This work made him a key player in the successful classification of the finite simple groups.

Based on a 1978 observation by mathematician John McKay, Conway and Norton formulated the complex of conjectures known as monstrous moonshine. This subject, named by Conway, relates the monster group with elliptic modular functions, thus bridging two previously distinct areas of mathematics–finite groups and complex function theory. Monstrous moonshine theory has now been revealed to also have deep connections to string theory.[33]

Conway introduced the Mathieu groupoid, an extension of the Mathieu group M12 to 13 points.

Number theory

As a graduate student, he proved one case of a conjecture by Edward Waring, that in which every integer could be written as the sum of 37 numbers, each raised to the fifth power, though Chen Jingrun solved the problem independently before Conway's work could be published.[34]

Algebra

Conway has written textbooks and done original work in algebra, focusing particularly on quaternions and octonions.[35] Together with Neil Sloane, he invented the icosians.[36]

Analysis

He invented a base 13 function as a counterexample to the converse of the intermediate value theorem: the function takes on every real value in each interval on the real line, so it has a Darboux property but is not continuous.

Algorithmics

For calculating the day of the week, he invented the Doomsday algorithm. The algorithm is simple enough for anyone with basic arithmetic ability to do the calculations mentally. Conway can usually give the correct answer in under two seconds. To improve his speed, he practices his calendrical calculations on his computer, which is programmed to quiz him with random dates every time he logs on. One of his early books was on finite-state machines.

Theoretical physics

In 2004, Conway and Simon B. Kochen, another Princeton mathematician, proved the free will theorem, a startling version of the "no hidden variables" principle of quantum mechanics. It states that given certain conditions, if an experimenter can freely decide what quantities to measure in a particular experiment, then elementary particles must be free to choose their spins to make the measurements consistent with physical law. In Conway's provocative wording: "if experimenters have free will, then so do elementary particles."[37]

Awards and honours

Conway received the Berwick Prize (1971),[38] was elected a Fellow of the Royal Society (1981),[1] was the first recipient of the Pólya Prize (LMS) (1987),[38] won the Nemmers Prize in Mathematics (1998) and received the Leroy P. Steele Prize for Mathematical Exposition (2000) of the American Mathematical Society. His nomination, in 1981, reads: /* Styling for Template:Quote */ .templatequote { overflow: hidden; margin: 1em 0; padding: 0 40px; } .templatequote .templatequotecite {

   line-height: 1.5em;
   /* @noflip */
   text-align: left;
   /* @noflip */
   padding-left: 1.6em;
   margin-top: 0;

}

In 2017 Conway was given honorary membership of the British Mathematical Association.[39]

Publications