Discussion about math, puzzles, games and fun. Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ π -¹ ² ³ °

You are not logged in.

- Topics: Active | Unanswered

Pages: **1**

I am looking for a way by which we can solve a Zebra Puzzle using programming where Inputs are given in the form of properties and conditions.

Any help is appreciated

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi Agnishom;

Some logic problems can be solved very easily by using boolean variables and a couple of loops.

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

Offline

What about these ones?

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,822

Hi bobbym

What would be the input form?

Here lies the reader who will never open this book. He is forever dead.

Taking a new step, uttering a new word, is what people fear most. ― Fyodor Dostoyevsky, Crime and Punishment

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi Agnishom;

What about these ones?

I never worked on one that big with that method.

anonimnystefy wrote:

What would be the input form?

Input form?

I only remember the technique from having read a paper on it in a journal. I could copy their results and two problems and maybe one of you guys can apply it to a larger problem...

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

Offline

Hmm I decided to do it with loops

.

.

Then I wrote the full code

.

.

Then I found the program is taking a loooooong time

.

.

Then I remembered that there are 24883200000 possible permutations. So it will take forever -_-"

However, there are some constraint programming solutions to this one

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi;

Since the variables are of type boolean they can only take two values of 0 and 1. You should adjust your loops for 0 to 1.

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

Offline

But I am talking about Zebra Puzzles which have so many possible permutations.

How can I do that with them?

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi Agnishom;

How can I do that with them?

I do not know how to apply the idea to a larger problem or even a smaller one. I never really understood what the guy was doing.

**In mathematics, you don't understand things. You just get used to them.**

Offline

Which guy?

By the way, how does constraint programming do it so easily?

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

I am not sure you can say that it is done easily. It just is a method that can be done by a computer.

**In mathematics, you don't understand things. You just get used to them.**

Offline

Sorry, I mean it is done very fast

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi Agnishom;

When I find the paper I will post how he does a simple logic problem. Then maybe someone will figure out a way.

**In mathematics, you don't understand things. You just get used to them.**

Offline

**muxdemux****Member**- Registered: 2012-12-23
- Posts: 80

I think the Zebra puzzle can be formulated as a constraint satisfaction problem and solved that way.

It can also be solved *very* easily using logic programming. If you search for "Prolog zebra puzzle" (or similar) in Google, you should be able to find a 15-liner to solve it. Prolog's special trick is to use something called "backtracking," though that's a separate topic.

Edit: My bad. There's a 15-line Sudoku solver. I was about to post in a different thread about a Sudoku solver and got confused.

*Last edited by muxdemux (2012-12-23 07:42:37)*

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi;

Seems like a good error. There is a prolog program that can be found.

http://en.literateprograms.org/index.ph … ldid=18673

http://en.literateprograms.org/Zebra_Pu … 8Prolog%29

Here are implementations in several languages.

**In mathematics, you don't understand things. You just get used to them.**

Offline

Thanks for the links

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

How have you come with your date and days of the week?

**In mathematics, you don't understand things. You just get used to them.**

Offline

I will talk about that once I return home. I am back to that remote village where its tough to get connected.

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 92,334

Hi;

Enjoy your solitude then. We will talk then.

**In mathematics, you don't understand things. You just get used to them.**

Offline

Pages: **1**