美文网首页
最近的咖啡馆

最近的咖啡馆

作者: Python_Camp | 来源:发表于2022-06-25 21:29 被阅读0次
MacGK7JXnu.png

在数学城市的街道遵循一个整数坐标的方形网格。任何两点之间的距离都是通过计算它们在坐标上的水平和垂直差异来实现的。

住在(3,4)的Thiago现在非常需要咖啡。在他的附近,有三家咖啡馆:在(-4,3),(-4,3),(-1,-1),(-1,-1)和(2,-4)。(2,-4).

蒂亚戈应该去哪里才能尽快得到他的咖啡?

def distEqual(home,location):  #coordinate
    short = float('inf')
    x,y = home
    for i,j in location:
        s = x-i + y-j
        if s < short:
            tag = (i,j)
           
            short = s
    return tag

location = [(-4,3),(-1,-1),(2,-4)]
home = (3,4)
print(distEqual(home,location))

(-4, 3)

接下来你标记周围 n 分钟可以到达的区域
借助turtle标记分布

step1 坐标轴

def xy():

    t.pensize(5)
    t.color("black")
    t.goto(-300,0)
    t.pendown()
    t.forward(600)
    t.penup()
    t.goto(0,300)
    t.pendown()
    t.right(90)
    t.forward(600)
    #t.done()

step2

# upgrade coffeeshop
# every shop target users not exceed distance 5 min, 
# so that how many cross cover
#coordinate X,Y

import turtle as t
def capicity(time,zero):

    x,y = zero
    loc = []
    for x in range(-time+x,x+time+1):
        #print(x)
        loc.extend([(x,time-abs(x)),(x,abs(x)-time)])
    return set(loc)  #len(set(loc)),
time = 5
zero = (-1,0)
print(capicity(time,zero))

获取 n 个单位的距离坐标后

pos = capicity(time,zero)
ratio=40
xy()
for xy in pos:
    x, y = xy
    t.dot(10,'green')
    t.penup()
    t.goto(x * ratio, y * ratio)
    t.pendown()
    t.dot(10, 'red')
t.done()

汉密尔顿和欧拉之旅
谈到图论,图上的路径计算是不可避免的。今天,让我们来学习一下文献中经常遇到的哈密尔顿轮和欧拉轮。

Hamilton ve Euler Turu.png

汉密尔顿之旅
哈密尔顿路径是决定有向图或无向图中是否存在哈密尔顿路径或哈密尔顿回路的问题。在哈密尔顿图的情况下,一个游程必须只遍历图中的所有顶点一次,才能完成。如果这条路径被完成为封闭的,它就被称为哈密尔顿图。

Hamilton ve Euler Turu2.gif

在汉密尔顿路径中,这是NP-不完全问题之一,所有的边可能是封闭的,也可能不是。然而,边缘永远不应该被重复。

汉密尔顿路径和循环
威廉-罗文-汉密尔顿爵士是一位爱尔兰数学家,也是二项式微积分的发明者--他用二项式微积分来研究十二面体上每一个顶点都精确访问一次的闭边路径(也叫汉密尔顿路径!)。虽然在一篇文章中甚至不可能触及icosian微积分,但让我们试着在图形--不一定是十二面体--的更一般的背景下理解汉密尔顿路径和循环。

Sir William Rowan Hamilton.gif

威廉-罗文-汉密尔顿爵士
在我们上一篇关于柯尼斯堡七桥的文章中,我们遇到了图中行走的定义--即一连串交替的顶点和边。特别是,路径是一个所有顶点和边都不同的行走。在此基础上,汉密尔顿路径是指图中每一个顶点都精确访问一次的路径。

Hamiltonian Paths and Cycles.png

在上图中,4->3->1->6是一条路径,因为它是由不同的顶点和边组成。我们也能找到哈密尔顿路径吗?是的!我们可以找到汉密尔顿路径。
2->6->5->1->3->4就是其中之一!

Herschel’s Graph.png

赫歇尔的图形
一个包含哈密尔顿路径的图被称为可追踪图。以英国天文学家亚历山大-斯图尔特-赫歇尔命名的赫歇尔图是可追踪的。寻找哈密尔顿路径已被作为一项练习留给读者。

当然,我们可以将哈密尔顿路径的概念扩展到循环上--一个对每个顶点都精确访问一次的循环被称为哈密尔顿循环,而包含这样一个循环的图被称为哈密尔顿图。

Herschel’s Graph1.png

十二面体中的汉密尔顿循环

投影到二维的十二面体
任何哈密尔顿循环都可以通过移除其一条边而转化为哈密尔顿路径,但哈密尔顿路径只有在其端点相邻时才能扩展为哈密尔顿循环。


Orthogonal projections of platonic solids.png

有趣的是,所有柏拉图实体(只有五个)的图形都是哈密顿式的--十二面体(在旁边显示)就是其中之一。作为一个有趣的练习,请尝试在其他四个柏拉图中找到哈密顿循环!

Petersen Graph.png

柏拉图实体的正交投影
哈密顿路径在棋盘游戏理论中也经常出现,比如说国际象棋。如果你把8x8棋盘上的每个方块都模拟成图形的一个顶点,并考虑为一个马找到一个移动序列,使马正好访问每个方块(顶点)一次,你会得到什么?这就是骑士游问题!

Petersen Graph.png

8x8棋盘上的开放式骑士巡视问题
最后,这里有一个发人深省的问题--证明(当然是数学上的)彼得森图没有哈密尔顿循环。事实上,值得一提的是,彼得森图是低米尔顿图,也就是说,从其中删除任何一个顶点都会使其成为哈密尔顿的。

彼得森图
阅读更多

  1. 哈密顿循环的充分条件研究(罗斯-胡尔曼大学本科数学杂志)
  2. 汉密尔顿路径和循环的NP完备性
  3. 骑士的旅行问题
  4. 骑士游和Zeta函数

相关文章

  • 最近的咖啡馆

    在数学城市的街道遵循一个整数坐标的方形网格。任何两点之间的距离都是通过计算它们在坐标上的水平和垂直差异来实现的。 ...

  • 下午茶

    插画:Jenny不愿婷留 文字:Jenny不愿婷留 “喜欢去咖啡馆? 嗯。 都去哪个咖啡馆呢? xx花园。 最近还...

  • 不知道怎么开咖啡馆的朋友看这里!

    怎么开咖啡馆?开咖啡馆必学课程! 开咖啡馆课程一:想好开什么样的咖啡馆 咖啡馆的定位,说白了就是你的咖啡馆想开多大...

  • About:Espresso

    就像往常一般,我会在这个点去离家最近的咖啡馆阅读。周末的原因,简陋的咖啡馆挤满了人。或聊天、看书、办公。拼桌是很...

  • 尊重别人,为专业付费

    最近接到很多年没有联系的小学同学的微信,说自己想开个咖啡馆。从设备采购到咖啡制作再到咖啡馆经营,七七八八问了很多。...

  • 我开了间咖啡馆:批评容易,夸赞难

    早在开咖啡馆前,我就知道青岛有位咖啡馆老板不希望顾客去写大众点评。 那时的我还在想是为什么。 而最近,我们收到了大...

  • 《伤心咖啡馆之歌》:人的灵魂因为无聊而腐朽

    念叨一下最近看的《伤心咖啡馆之歌》 伤心咖啡馆之歌里的这座小城,天空可以像沼泽地里的蓝色鸢尾一样美,也可以很阴郁。...

  • 在探探的茫茫人海里,好不容易找到你。

    咖啡馆里最近多了一个弹琴的人。 每天下午和晚上来到这家咖啡馆的时候,都能看见那个男生坐在那里弹琴。 有次方然去咖啡...

  • 亲爱的,做咖啡的小哥哥好像喜欢我

    最近,又喜欢上一家萌萌哒咖啡馆。 话不多说,上图…… 咖啡馆位于加拿大蒙特利尔市同性恋街区St Catherine...

  • 在咖啡馆里的一次奇特经历

    1.午后的暖阳里,我走进离我最近的咖啡馆。看咖啡馆里人不多,带着困意的我找到一个偏僻的位置坐下来,却不知身后的小隔...

网友评论

      本文标题:最近的咖啡馆

      本文链接:https://www.haomeiwen.com/subject/pwobvrtx.html