Is there a general algorithm for calculating the amount of yeast while making bread?
There are many variables that determine how fast bread will rise: The type and quantity of yeast, how much of that yeast is viable, temperature, water content, water availability, acidity, etc. 

A Note about water availability
Some ingredients, especially sugar, compete with the yeast for the water in the bread. Dough with a lot of sugar will rise more slowly compared to a less sweet dough with the same quantity of water.
While I have not read that fat affects water availability, keep in mind that butter is 16-17% water.

If you wanted a chart or algorithm it would need to include all these variables for a desired rise time. Even then, it would be difficult to control all the variables and the rise time would not always be identical. It would be difficult to predict without experimentation. I have seen charts for a single variable vs time but these are intended for understanding the variable- not predicting rise time.

Bread making is more flexible. Recipes will call for the dough to double in volume- no matter how long that takes.

However,

As you noted in your question, there is no correct quantity of yeast. More yeast will simply act more quickly. You may want to finish a bread faster and use more yeast. On another day, you may want to maximize flavor, use less yeast and ferment for longer. Either can produce excellent, but different, bread.

Besides tested recipes, there are charts that can be used as a starting point when you are creating a new recipe.
For example from Cooks.com:


I would consider this chart reasonable, however, in my standard sandwich bread recipe I use approximately half this much yeast. In my regular, overnight-risen, artisan recipe I use even less than that.