Faits: A. Par jugement du 6 mai 2009, le Tribunal correctionnel de l'arrondissement de Lausanne a reconnu X._ coupable d'actes d'ordre sexuel sur une personne incapable de discernement ou de résistance et de contravention à la loi fédérale sur les stupéfiants. Il l'a condamné à une peine privative de liberté de douze mois, dont six mois fermes et six mois avec sursis, le délai d'épreuve étant fixé à deux ans. En outre, il a déclaré X._ débiteur de Y._ de la somme de 5'000 fr. à titre d'indemnité pour tort moral. B. Statuant le 8 juillet 2009, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté le recours formé par X._ et confirmé le jugement de première instance. En bref, elle a retenu les faits suivants: Le 29 janvier 2007, X._ et Y._ se sont rendus, entre 11 et 13 heures, chez B._. Ils ont bu deux bouteilles de rhum en compagnie de leur hôtesse. Vers 17 heures, celle-ci leur a fourni une chambre pour se reposer, car Y._ ne tenait plus debout. X._ y a sodomisé violemment sa compagne. En cours d'enquête, le Centre universitaire romand de médecine légale a calculé l'alcoolémie théorique de X._. Les experts sont partis de l'hypothèse que celui-ci avait consommé, en compagnie de la victime et de leur hôtesse, deux litres de rhum répartis de façon égale entre eux. Ils ont retenu une alcoolémie entre 3,2 et 4,0 g o/oo en admettant un début de consommation à 11 heures et une alcoolémie entre 3,6 et 4,2 g o/oo avec un début de consommation à 13 heures. La cour cantonale a retenu une diminution de responsabilité légère à moyenne au motif que l'on ne connaissait pas avec précision la quantité de boisson ingurgitée par chacun et que leur hôtesse avait déclaré que, même s'il avait bu, X._ était tout à fait lucide et conscient de ce qu'il faisait (jugement p. 11; arrêt attaqué p. 9). C. Contre cet arrêt cantonal, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à la réforme de l'arrêt attaqué en ce sens qu'il est libéré du chef d'accusation d'actes d'ordre sexuel commis sur une personne incapable de discernement ou de résistance et du paiement d'une indemnité pour tort moral à Y._. A titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause aux autorités cantonales pour nouveau jugement. En outre, il sollicite l'octroi de l'assistance judiciaire. Le Ministère public vaudois, l'intimée, Y._, et l'autorité précédente ont renoncé à se déterminer. 