建立一个可视化战略高尔夫的模型
Building a model that visualizes strategic golf

原始链接: https://golfcoursewiki.substack.com/p/i-spent-the-last-month-and-a-half

## 高尔夫球场设计的全新可视化方式 经过数月的开发,一种新工具正在出现,用于分析高尔夫球场架构,超越传统的“杆数增益”方法论。虽然承认马克·布罗迪在高尔夫表现量化方面奠定了基础,但该工具的创建者认为它缺乏评估*战略*设计影响的方式——位置和角度如何影响得分。 核心思想是将高尔夫球手的表现与*理想化*情景进行基准比较,而不是与其他高尔夫球手比较:一个完全平坦、无特征的球场,只有距离重要。通过从设计的球洞的实际表现中减去“理想”的杆数,热图会揭示困难区域和战略优势。 这使得能够可视化障碍和地势对球员的影响,突出设计选择的净效应。在像沃金的第4洞这样的经典球场上的早期测试表明,该工具可以说明战略优势,例如具有挑战性的发球位的优势。 目前该工具仍处于原型阶段,在计算能力和现实建模(滚动、球员变化、推杆)方面存在局限性。然而,创建者认为它具有作为建筑师和客户沟通工具的潜力,提供了一种理解和改进高尔夫球场设计的新方式。协作和数据访问现在是进一步开发的关键。

一位开发者在Hacker News分享了一个项目,利用模型可视化高尔夫球场策略,标示每个球洞更容易击球的位置(golfcoursewiki.substack.com)。该项目引发了关于此类工具是否会削弱游戏的人文因素的争论——即球员和球童传统上进行的赛前球场分析。 开发者回应说,该模型并*不*规定如何打球,而是通过展示有利位置来阐释战略设计。它是一种帮助理解球场布局的视觉辅助工具,可能对建筑师向会员传达设计变更有所帮助。 与Arccos等表现跟踪系统不同,该模型侧重于战略*理解*,而非个人球员的改进。开发者认为,它增强而非取代了球员的决策能力,允许根据技能和游戏类型制定定制策略。
相关文章

原文

For the last month and a half, I’ve been working nonstop on a project attempting to illustrate what I believe to be a new way to look at golf design. And after more consecutive late nights of coding than I’d like to admit to my partner, I’ve finally cleared the first big hurdle. Here, I’m going to walk through the tool I’ve been furiously building from scratch to bring my way of looking at golf architecture – an expansion on Mark Broadie’s foundational strokes gained approach – to life.

It’s going to get a bit technical, so please bear with me.

For years, I have – simultaneously – been extremely frustrated by the “strokes gained” approach to golf laid out by Mark Broadie, while also openly telling everyone that it is both obviously correct and is probably the most important step forward in explaining the game to have been achieved in my lifetime. I don’t want to disparage Broadie or his thesis here: it is sound and rightly influential. By using the benchmark of average strokes to hole, players are able to solve for shot-for-shot performance, find the weakest part of their game, improve, etc. It’s everything golf should be about. Broadie bases everything in analytics, on real world data.

But I’ve always felt a constant nagging that something was missing. My frustration was clear: where is the room for strategic architecture in a theory where only distance matters? The frustration was so persistent that I even bought and read through Broadie’s book, Every Shot Counts, to make sure I wasn’t missing any aspects of the thesis that might take care of the problem of strategy.

The strokes gained benchmarking system requires “like-for-like” comparison, and, to be perfectly honest, using distance is an entirely reasonable way to do a comparison. I just kept thinking about how some positions on the golf course are better than others, even when they are both the same distance from the hole. An obvious example would be two shots of the same distance, but one is taken from the fairway and the other from a bunker. The strokes gained approach would treat these shots as different in kind: hitting off the fairway vs sand vs rough are not like-for-like shots. They must be benchmarked against other shots from the same distance of the same kind.

For me though, when looking at golf hole design, this still doesn’t go far enough. If we care about design, then the same shot from two different angles simply can’t be the same shot. If a green tilts left-to-right, it should be easier to approach from the right side than the left side. Why? A shot from the right side hits the green where it’s tilted toward the player, which helps stop the ball. A shot from the left is just more likely to run off the green. When we start averaging these shots together, we lose the strategic positional elements through dilution. So, how can a theory as obviously correct and effective as Broadie’s still be unsatisfying? I sat with this conundrum for years.

I finally found my solution by leaning into the theory instead of pushing back against it. Okay, fair enough. Strokes-to-hole is obviously the most important metric we should be looking at, so let’s look at a world where the only thing that matters is distance.

Let’s say we have a golf hole with no features: no bunkers, no contours, and everything is a perfectly flat fairway. Playing this hole is effectively an applied driving range exercise. This is a world in which only distance matters. This is a place where I fully endorse the strokes gained approach.

Here the solution becomes clear: if we play golf in a world where only distance matters, then let that be our benchmark. Forget the real world (I’m a philosopher by training, after all). If we set our benchmark on an idealized plane, then we can use that benchmark to explain the real world. Forget the golfer, and forget measuring the golfer’s shots. Instead, what if we use the golfer’s shots to measure the hole itself?

The idea is this:

  1. First, set our benchmark as a player’s strokes-to-hole at every point on an idealized plane.

  2. Next, calculate the same player’s strokes-to-hole on the actual version of the hole, but we have to do it at every single position.

  3. Now, if we subtract the idealized strokes-to-hole from the actual strokes-to-hole, then we can see a map of where that hole is difficult, and where it is easy.

That’s it. We can use strokes gained not just as a way to look at player performance, but as a way to look at golf course architecture. I had a new thesis, and at that point, all I had to do to act on it was figure out a way to calculate a player’s strokes-to-hole at every point on a golf hole. The good news is that I have a computer and I know how to use it.

So, I literally spent the last month and a half building a golf simulator, with a built-in algorithm whose sole purpose is to calculate the strokes-to-hole at every point on the golf hole you give it. And now I get to show you all the pretty pictures this program makes.

After the simulator runs, you end up with some images that look like the ones above. So, let me explain what we are looking at here. From left to right:

What is most interesting about this last heatmap is that it shows the net effect of all the hazards and contours on the player’s position. So what do we see here?

It’s important to note here that this map is only relevant to a player of this skill (this map is simulating a “5 HCP” but that is intentionally vague and effectively unrealistic for real world conditions). This isn’t “the way the hole looks to everyone” because not everyone is going to consistently hit the same strokes-to-hole from the same location, or even from an ideal location. For better players, hitting out of a fairway bunker is more recoverable than for beginners, and any greenside bunker will in play for a higher handicapper, but scratch players are rarely affected by them with a wedge in their hands.

The hole above has very obvious hazards and the resulting image is not particularly surprising. This process is most interesting when we look at strategic design features that are hard to parse in the real world. So, let’s look at a case study from history.

Often considered the first instance of strategic golf, the fourth at Woking is an excellent candidate to look at how golf course architecture can be visualized via this method. Fried Egg Golf has a fantastic article about the history and strategic interest of the hole, and in that article you can see Tom Simpson’s sketch that I have used here.

Generally, the hole is defined by two hazardous areas: out-of-bounds along the right side and the bunker complex in the middle of the fairway. Though, by the green, there are also two small greenside bunkers short-left, and a larger bunker that shots should roll towards on the right.

Here, I’ve added some length to the historic hole to help it fit longer modern distances. I’ve also added some topography, which is based on the note that Simpson has under his sketch:

WOKING, No. 4.

The carry from the tee on the direct line is 220 yards. The green slopes away from the player and has a sharp tilt left to right, which makes it extremely difficult to stay on if approached from the left, which is the safe line from the tee. The scratch player attempts to reach A with tee shot. The moderate player will get as near B as he can.

I’ve also overlaid the “A” and “B” markers and some parts of his illustration:

While it may seem obvious on the strategic player or skilled golf architect, by using this mapping process we can just see exactly why the shot to “A” is so advantageous, and even why playing to “B” is a good idea . However, assuming the model accurately approximates how a person plays, we can also see that there is only a tiny advantage to playing to “B” rather than playing a safe shot left. The illustration just allows one to see the advantages and disadvantages, clear as day.

Importantly, however, this process DOES NOT tell us whether or not we should attempt to reach “A,” or whether we should lay up “B,” or even play left. Determining where to aim requires an entirely different algorithm, which I did have to write to build this program, but that is beyond the scope of this article. I just wanted to reiterate here that the green zones on these maps are “places that are nice to be,” but getting to those areas is a problem for the player to solve, and I will discuss some very clear examples of how and when to do that in subsequent articles on this system.

First and foremost, I want to say, explicitly, that this model does not reflect actual reality. This model was built as a purely theoretical exercise to apply the ideas I had, and to try to build something that demonstrated them. Hopefully though, it can be improved to the point where it is a practical tool for designers to communicate architectural ideas to clients who are trying to build or improve golf experiences.

I have to take a lot of shortcuts in building these maps because the number of calculations I have to run for every single pixel is very large. Now, I’ve built some pretty sophisticated ways to get around these problems, but again shortcuts are shortcuts, and taking them necessarily moves us away from reality. Here let’s look at just a few of the limitations in creating these maps that I ought to disclose, and at this point I will need to be unapologetically technical.

The first issue is the resolution of the course itself. The problem here is that we need to calculate an average of strokes-to-hole from every point on the golf hole. In saying “every point,” we obviously have to turn a continuous problem into a discrete problem, and the choice of what level of resolution to use is non-trivial. Right now, when I set that resolution to only make a calculation for each two-yard by two-yard square, I can get the map done in a couple minutes. When I set the resolution at one foot by one foot, the process usually takes over an hour. TL;DR: I can make maps for shots from general areas on a hole pretty quickly, but as I get closer to mapping “every point” on a hole, it gets exponentially more time consuming.

Next is the resolution of shot distribution. So, we have calculated average strokes-to-hole, and I’ve chosen to do that by using a bivariate probability density function, which seems like the simplest, most straightforward method (though I would like to improve that if I can get access to analytics data). So, calculating the average means I need to calculate some number of shots from every position. Without even getting into the complexity of deciding where to hit those shots, when we have decided to hit a shot, we have to do it enough times to account for the various features of the golf course we are trying to illustrate. Right now, when I’m trying to get the job done quickly, I do the average of 50 different shots at a regular distribution. When I’m trying to do a high-resolution version, I’m using an average of 200 different shots. TL;DR: as with the previous resolution issue, accounting for more types of shots taken increases the time this takes by a huge factor.

Yet another confounding issue is resolution of rollout. The way a shot interacts with the ground is hugely important to the underlying theory. A central focus of this exercise is just illustrating that it’s harder to stop a shot on a green that’s tilted away from you than it is on one that’s tilted towards you.

One way that we think about calculating the rollout from a shot is as a series of vector additions. Imagine we were recording a shot’s rollout on a film camera. Theoretically, we could look at each frame, and in the frame calculate the velocity of the ball and add in the friction of the ground, and the effect of gravity, and with all that info we should be able to predict where the ball will be in the next frame. The “resolution” here is how many frames per second we are looking at.

If we did 60 frames per second, we’d be doing 5X the work of doing 12 frames per second. For each frame, we also need to run a number of calculations – let’s say, do three calculations per frame. Three calculations per frame, multiplied by 5X the amount of work for 60 frames vs. 12 frames, ends up being 15X the amount of work we started with in that 12 frames per second scenario. And we’re doing that for every shot we simulate, from every pixel we are simulating it from. The problem quickly becomes NP hard. Thank goodness for linear algebra! TL;DR: adding more variables, while important, exponentially increases the work needed.

These maps show how one player would interact with the golf course. Right now I have it set to a theoretical “5 HCP” player, but in reality, every single 5 HCP plays differently. Some people are long hitters who need a wedge in their hand to convert. Others are deadly accurate from inside 200 yards, but might be a bit short off the tee. Some folks can get out of trouble with a full swing where others will just lay up. Right now the program can’t account for Wild Willies or Steady Eddies: it just calculates Linear Larry, a theoretical golfer who just gets uniformly longer and more accurate as we dial down his handicap. The fact that everyone plays differently means that even if we can see the effects of the architecture from 10,000 feet, how much that might apply to different players is highly variable depending on the features.

Note here that the higher handicapper completely loses the advantages for being on the right side. Using the software we can see that this is mostly due to the simulated player’s exaggerated long-left, short-right miss, which is quite wide. This seems to fit neatly across the green, avoiding the bunkers and out of bounds. Here, obviously, better player modeling would create more accurate results.

This program is still a prototype. I’ve been writing it as fast as I can, but every single corner case brings more and more computational complexity. Figuring out how to model putting – at this point – feels a bit insurmountable, but I’m sure I’ll figure something out. Right now, the model just uses publicly available strokes gained data to automatically return the expected value at a given distance. In this way, I fall back on exactly the type of practical analytics that Broadie does, simply because it actually works pretty well. Still, if I want to create a model that eventually reflects reality, it needs to be able to do the same strokes-to-hole calculations with a putter as it does with a wedge. Adding trees will actually be fairly easy by comparison, but, again, these things take time. The model is really just at the point where I’m not actively embarrassed to share it publicly.

I’ve barely scratched the surface on what this model can illustrate, but this article is already quite long. I just wanted to communicate the general concept here before moving onto more specific areas of strategic architecture and design. I am able to use this and other maps to highlight different types of strategic elements in the game. I’ll include some of those images here as teasers:

I’m going to be completely honest here: I really think that even at this early stage, this model could be super useful for architects in the industry, simply as a way to communicate their ideas with clients, especially when the client is a club with a large membership where it can be difficult to communicate with everyone. So for anyone working on a project with a simple topo map, I’d love to hear from you. I’ll soon be trying to integrate publicly available lidar topos where there are interesting courses to overlay in the model.

While I still have more to explain and discuss about the model here, it’s clear that, as a solo developer, I’ll soon be bumping up against the limits of realism I’ll be able to replicate without access to (1) datasets of player data, (2) topographical maps of courses with reasonable resolution, and (3) academic knowledge about the physical behavior of golf balls on different surfaces. I’m interested in exploring ways to keep pursuing this research, potentially within an academic setting or through a partnership with architects who might find these types of illustrations valuable. If you’re interested in using this engine for a project, or if you’re involved in research and see a home for this kind of methodology, I’d love to compare notes. Feel free to reach out through Substack, leave me a comment, or message me here.

Hey, thanks for reading. If you thought the article was worthwhile, please consider sharing or liking the post so the algorithm will put it in front of more readers.

Share

联系我们 contact @ memedata.com