Hi Jacob, once the 7,1,8 & 2 are entered, you say you will guess from there but be prepared to back-track. But what if the 7,1,8,2 configuration itself doesn't allow for any feasible solutions? Don't you have to be ready to backtrack all the way? i.e. there is no set number of initial guesses that you can assume for feasibility.
Suppose that, in a particular problem, the domain of a certain variable is any rational number between 0 and 1. So, we may want to represent the value of this variable as a floating point number. In that case, we have an infinite numbers between 0 and 1, but constraint programming requires finite domains. I think he meant to say that, in general, if you aim to represent a variable as a floating point number is because you have an infinite domain. However, we might have a problem in which the domains of the variables are all finite, but they contain numbers that are not integers. In that case, we can simply stablish an injective funcion from the union of the domains to the set of integer numbers. In all cases, we avoid floating point numbers. In the first case because we have infinite domains, which is forbidden, and in the second case because we can map the floating point numbers (that belong to finite domains) to integer numbers.
@@fcpereira97 Indeed you're correct, I meant in the case where we do not have other limits on the domains. As you said there could be any number of values between 0 and 1 even so we cannot have unconstrained rational numbers. But of course, if we can map non-integer values into finite domains we can have non-integer values!
CLP(QR) does floating point domains.
Hi Jacob, once the 7,1,8 & 2 are entered, you say you will guess from there but be prepared to back-track. But what if the 7,1,8,2 configuration itself doesn't allow for any feasible solutions? Don't you have to be ready to backtrack all the way? i.e. there is no set number of initial guesses that you can assume for feasibility.
thanks for sharing
17:40 How does floating point numbers lead to infinite domains?
Suppose that, in a particular problem, the domain of a certain variable is any rational number between 0 and 1. So, we may want to represent the value of this variable as a floating point number. In that case, we have an infinite numbers between 0 and 1, but constraint programming requires finite domains. I think he meant to say that, in general, if you aim to represent a variable as a floating point number is because you have an infinite domain.
However, we might have a problem in which the domains of the variables are all finite, but they contain numbers that are not integers. In that case, we can simply stablish an injective funcion from the union of the domains to the set of integer numbers.
In all cases, we avoid floating point numbers. In the first case because we have infinite domains, which is forbidden, and in the second case because we can map the floating point numbers (that belong to finite domains) to integer numbers.
@@fcpereira97 Indeed you're correct, I meant in the case where we do not have other limits on the domains. As you said there could be any number of values between 0 and 1 even so we cannot have unconstrained rational numbers. But of course, if we can map non-integer values into finite domains we can have non-integer values!