Agroecology is commonly understood as a science, a practice and a movement. As a science, it uses principles from the field of ecology to study the interactions between organisms in agroecosystems. It is often associated with transdisciplinary and action-oriented research, and the study of the entire food system. As a practice, agroecology combines indigenous and traditional knowledge, and scientific research, to generate productive, sustainable and resilient farming systems with minimal external inputs. This is achieved by optimizing processes and interactions occurring within agroecosystems, for example through crop rotations, cover crops, polycultures, crop-livestock integration, agroforestry and minimal tillage. It is generally associated with smallholder farming, and focuses on the production of nutritious food suitable for personal consumption and local markets. As a movement, agroecology seeks to address power imbalances within the food system, and generate a more just and equitable food system based on the principles of food sovereignty.