How should I design an experiment to figure out causal relationship between smoking and drinking? I am recently learning causal inference, and asked two questions without any answer. So I decide to ask the question differently from high level.
We know smoking and drinking are correlated, a person smokes are more likely to have drinking problems. However, we do not known which cause which. Suppose I want to figure out the causal relationship between the two, How should I design an experiment or collect what kind of data?

PS. two questions I asked.
Intuitively how does Bayesian Network Structure Learning Work?
How can I infer causal relationships in this case?
Maarten Buis had a great point! In real world we have ethical constraints, But I wants trying to ask, suppose we do not consider ethical constraints what kind of experiments are needed?
 A: It seems to me like there are hidden variables that cause both smoking and drinking, e.g. cultural reasons, social situations, age, gender, etc. 
If you want to show that smoking causes drinking, then you have to design a controlled experiment, where you can control for many factors (like cultural background, age, gender), this sounds very hard to do. Remember merely collecting a lot of data DOES NOT MEAN it's controlled.
Even after you have a controlled experiment setup and obtain some correlation, you should consider some key points (refer here):


*

*Strength: if everything else is controlled, does smoking quantity
correlate with drinking quantity 

*Temporality: did the person drink
before they smoked? clearly, this is not showing causality in the direction you want. 

*Plausibility: Even after you can statistically
show causality, is there any physiological reason that might trigger people to drink if they smoke? If there is one, it will support the statistics, otherwise it can be hard to convince yourself of true causality.


(the paper has more points, but these are the key imo)
A: This can be approached as a classic two-group psychology experiment. For example, randomly assign subjects to smoke or not smoke, then give them the opportunity to drink if they wish. From here you can easily get more sophisticated depending on exactly what you want to examine. For example, if you're interested in the effect of the active ingredients of cigarettes, give the control group some kind of placebo cigarettes.
A: Your issue here is less about study design than it is about research ethics, as pointed out in the comments. It is not correct to simply state that we can suspend ethics, because the responses would be meaningless. It's like asking, "If Australia played New Zealand in women's netball on the surface of the planet Venus, who do you think would win? I know this is impossible, but let's say this could work." EDIT: Sorry, that's a poor analogy because there was no clear ethical conflict. 
However, there is a way to design an experiment that respects current human research ethics principles. We do this all the time in public health.
Let's say you wish to see if smoking is causally linked to alcohol consumption. 
Option 1. Study population - people who smoke. Randomise participants to a program (device, chemical, activity) designed to stop smoking versus some comparator such as no program. Then, measure rates of alcohol consumption.
This won't help you if causation induces in participants a long-lasting or permanent change that influences the outcome. If smoking does cause alcohol dependence, say, then the idea of stopping smoking can't help those that are already dependent on alcohol. In this case, you can use Option 2.
Option 2. Study population - people who do not smoke. Randomise particpants to a program (device, chemical, activity) that prevents the uptake of smoking. Then measure rates of alcohol uptake.
As far as I know, these are the only two broad experimental options open to you that respects human ethics concerns.
