Recently, I got a book by Brasilian writer Júlio César de Mello e Souza (published under pen name Malba Tahan), titled The Man who counted. Book is a collection of mathematical stories very similar to Scheherazada’s 1001 Nights, where mathematical story-telling is the center of book.

In story 5“In so many words”, Malba describes a simple algebraic problem of proportion between price for lodging offered and price of jewel sold.

This man,” old Salim said pointing to the jeweler “came from Syria to sell
precious stones in Baghdad. He promised he would pay 20 dinars for his
lodgings if he sold all of his jewels for 100 dinars and 35 dinars if he
sold them for 200. After several days of wandering about, he ended up selling
all of them for 140 dinars. How much does he owe me according to our agreement?”

Both, jeweler and lodge owner, calculate the result each using percent proportion problem, both ending with wrong results, that was each to favor each:

- Jeweler:

200 : 35 :: 140 : x
x = (35 x 140) / 200 = **24.5**

2. Lodge Owner:

100 : 20 :: 140 : x
x = (20 x 140) / 100 = **28**

With two different results, both would end up in argument, so the third needed to be calculated:

Sale Price Price of Lodgings
200 35
-100 -20
----- -------
100 15

So the difference between both calculations forms a proportion to calculate the new case, when Sale price for jewel is **140**, the price of lodging would be **26**.

100: 15:: 40: x
x = (15 x 40) / 100 = 6

Mathematically speaking, problem is very interesting to be solved also using Linear Regression, since the two pair of points [200, 35] and [100, 20] form a linear prediction function and we would need to predict what would be the price of lodging, when sale price for jewel is 140.

diamond <- c(100, 200)
sleep <- c(20, 35)
# regression
sleep_model <- lm(sleep ~ diamond)
plot(x=diamond, y=sleep)
abline(lm(sleep ~ diamond))

Now, we can call this a prediction, what actually Beremiz does by heart.

predict_data <- data.frame(diamond=140)
fit <- predict(sleep_model, predict_data, interval = "predict")
#new value for diamond=140
fit[1]

Result is **26**, which is strictly algebraic and R-prediction speaking correct result.

In this case, linear regression does same as proportion calculation, but what strikes me is which calculation – not mathematically speaking – does make more sense? 26 or 24,5 or 28 ? And which method for calculating next price lodge should satisfy both jeweler and lodge owner.

Happy reading!

### Like this:

Like Loading...

*Related*

[…] article was first published on R – TomazTsql, and kindly contributed to […]

LikeLike

[…] article was first published on R – TomazTsql, and kindly contributed to […]

LikeLike

If `x` is the vector of the jeweller’s income (called `dimanond` above) and `y` is the corresponding payment for lodging (called `sleep` above) then `approx(x, y, xout = 140)$y` giving 26, again, would be another way to get the same answer as the `lm` / `predict` code.

There are also other possible assumptions for interpolation, as well. We might think that the proportion paid rather than the amount paid should be linearly interpolated based on `x`, i.e. `140 * approx(x, y/x, xout = 140)$y` which equals 26.6.

LikeLike

Hi Alexander,

This is good point given, that we think about the proportions based rather the amounts.

with R code:

approx(diamond, sleep, xout = 140)$y

and with the proportion between sleep and diamond (sleep/diamond):

140*approx(diamond, sleep/diamond, xout = 140)$y

the result is 26,6.

What if the jeweler and lodge owner does not agree on linearity of the price, but have some variations (let’s assume on the day of the week). Or assume that I put the interpolated result (26,6) into the dataset and calculate the slope and intercept again (intercept=5, slope = 0,15). When adding:

diamond <- c(100, 200, 140)

sleep 26.6

diamond <- c(100, 200, 140)

sleep <- c(20, 35, 26.6)

glm.1 26

diamond <- c(100, 200, 140)

sleep <- c(20, 35, 26)

glm.2 glm.1$residuals

1 2 3

-0.2368421 -0.1578947 0.3947368

> glm.2$residuals

1 2 3

0.000000e+00 7.105427e-15 0.000000e+00

Second residual from glm.2 is practically 0 (7.105e-15), where any given point from glm.1 have some residuals.

LikeLike

The way I read the stated agreement it only stipulates that he would pay 20. He agrees to pay 35 if he made 200 not that he would pay more than the 20 if he sold more than 100 and less than 200.

LikeLike