The problem of integration d ela functional and logic programming is considered one of the most important in research on declarative programming. For declarative languages are useful and usable in real applications, it is necessary for the efficiency of its performance comes close to that of imperative languages. For this it is essential to the development of powerful tools for analysis and transformacón of programs capable of optimizing existing implementations. This thesis focuses on the development of such techniques, adopting the approach known as "rules + strategies" for the optimization of programs in a logical-functional unified tentexto. The rules used are the folded and deployed here are defined in terms of Narrowing and its refinements. Thanks to the bidirectional propagation of parameters by the narrowing of the unification mechanism, significant improvements are achieved and it is possible to exploit the synergy between functional syntax (functional nests, lazy evaluation, etc.). And the use of logical variables. This fission unified implementation and transformation of programs allows us to exploit the known results in both functional and logical, and develop a simple and powerful framework for improving a program with respect to their ability to compute both values to features as responses to targets. We present some applications of the rules of folding and unfolding (pr deployed semantic and formal relationships with the techniques of partial evalación). Furthermore, we show that its combination with other rules for the introduction and elimination rules, and Abstraction difiniciones allows efficiency programs when appropriate strategies are directed by such as composition or the formation of tuples. The diagram represents the first approximation correct and complete ....