Yes, it uses dynamic programming to find the best finger choices while minimising cost. Cost can be for example number of shifts done or the gap to shift. The specific name is „Viterbi Algorithm“.
The advantage to modern AI solutions is that here we have control over specific costs and can control the output. Eg „I want to have the simplest finger choices possible.“ or „Avoid specific fingers on specific strings for harmonic sound (on violin open string are sounding different)“