The topic of this internship report is the development of an AI tool that helps the user in managing their vegetable garden. This tool consists of a decision support system for the practice of crop rotation, sowing, vegetable associations and the influence of the moon phases in agriculture. Crop rotation is a technique that involves the variation of the agricultural species grown in the same plot, in order to improve or maintain the fertility of the soil and ensure, under the same conditions, a greater yield. Vegetable associations are to be taken into consideration in a vegetable garden since it has been verified that the proximity of some vegetables increases the speed of development, the size and quality of the fruits, other vegetables instead are incompatible with each other. I used Prolog, a logic programming language, to write the knowledge base (KB) of my application. The knowledge base is a set of sentences written in a formal language that collects and organizes knowledge in a particular area or general. The artificial intelligence part of the application is contained in the knowledge base. The programming language that I used to write the application is Java, together with the Swing framework for the development of the graphic interface. In the report I discuss in detail about the implementation choices faced during the development and structure of my application. Some of the features offered by the application are to find out if two vegetables, entered by the user, may or may not follow each other in the crop rotation cycle, obtain indications for sowing a specific vegetable, find out which vegetables it is good to associate another vegetable with and with which not and check whether or not the constraints relating to the lunar calendar regarding sowing are being respected. The future developments of this work could be to increase the set of vegetables considered, so as to provide wider indications to the user on the crops and to expand the application domain, for example by inserting the constraints relating to the irrigation of vegetables.
L'argomento di questa relazione di tirocinio è lo sviluppo di uno strumento AI che aiuti l'utente nella gestione del proprio orto. Questo strumento consiste in un sistema di supporto alle decisioni per la pratica della rotazione delle colture, la semina, le consociazioni degli ortaggi e l'influsso delle fasi lunari in agricoltura. La rotazione delle colture è una tecnica che prevede la variazione della specie agraria coltivata nello stesso appezzamento, al fine di migliorare o mantenere la fertilità del terreno e garantire, a parità di condizioni, una maggiore resa. Le consociazioni degli ortaggi sono da tenere in considerazione in un orto poiché è stato verificato che la vicinanza di alcuni ortaggi aumenta la velocità dello sviluppo, le dimensioni e la qualità dei frutti, altri ortaggi invece sono incompatibili tra loro. Ho utilizzato Prolog, un linguaggio di programmazione logica, per scrivere la base di conoscenza (knowledge base o KB) della mia applicazione. La base di conoscenza è un insieme di sentenze scritte in un linguaggio formale che raccoglie e organizza le conoscenze in un particolare ambito del sapere o generali. La parte di intelligenza artificiale dell'applicazione è racchiusa nella base di conoscenza. Il linguaggio di programmazione che ho utilizzato per scrivere l'applicazione è Java, insieme al framework Swing per lo sviluppo dell'interfaccia grafica. Nella relazione discuto in dettaglio riguardo alle scelte implementative affrontate durante lo sviluppo e alla struttura della mia applicazione. Alcune delle funzionalità offerte dall'applicazione sono quelle di scoprire se due ortaggi, inseriti dall'utente, possono o meno susseguirsi nel ciclo della rotazione colturale, ottenere indicazioni per la semina di uno specifico ortaggio, scoprire con quali ortaggi è bene consociare un altro ortaggio e con quali no e verificare se si stanno rispettando o meno i vincoli relativi al calendario lunare per quanto riguarda la semina. I futuri sviluppi di questo lavoro potrebbero essere quelli di aumentare l'insieme di ortaggi considerato, così da fornire indicazioni più ampie all'utente sulle coltivazioni e di allargare il dominio applicativo, per esempio inserendo i vincoli relativi all'irrigazione degli ortaggi.
AI per l'agricoltura: supporto alla rotazione delle colture
SECCI, GIACOMO
2018/2019
Abstract
L'argomento di questa relazione di tirocinio è lo sviluppo di uno strumento AI che aiuti l'utente nella gestione del proprio orto. Questo strumento consiste in un sistema di supporto alle decisioni per la pratica della rotazione delle colture, la semina, le consociazioni degli ortaggi e l'influsso delle fasi lunari in agricoltura. La rotazione delle colture è una tecnica che prevede la variazione della specie agraria coltivata nello stesso appezzamento, al fine di migliorare o mantenere la fertilità del terreno e garantire, a parità di condizioni, una maggiore resa. Le consociazioni degli ortaggi sono da tenere in considerazione in un orto poiché è stato verificato che la vicinanza di alcuni ortaggi aumenta la velocità dello sviluppo, le dimensioni e la qualità dei frutti, altri ortaggi invece sono incompatibili tra loro. Ho utilizzato Prolog, un linguaggio di programmazione logica, per scrivere la base di conoscenza (knowledge base o KB) della mia applicazione. La base di conoscenza è un insieme di sentenze scritte in un linguaggio formale che raccoglie e organizza le conoscenze in un particolare ambito del sapere o generali. La parte di intelligenza artificiale dell'applicazione è racchiusa nella base di conoscenza. Il linguaggio di programmazione che ho utilizzato per scrivere l'applicazione è Java, insieme al framework Swing per lo sviluppo dell'interfaccia grafica. Nella relazione discuto in dettaglio riguardo alle scelte implementative affrontate durante lo sviluppo e alla struttura della mia applicazione. Alcune delle funzionalità offerte dall'applicazione sono quelle di scoprire se due ortaggi, inseriti dall'utente, possono o meno susseguirsi nel ciclo della rotazione colturale, ottenere indicazioni per la semina di uno specifico ortaggio, scoprire con quali ortaggi è bene consociare un altro ortaggio e con quali no e verificare se si stanno rispettando o meno i vincoli relativi al calendario lunare per quanto riguarda la semina. I futuri sviluppi di questo lavoro potrebbero essere quelli di aumentare l'insieme di ortaggi considerato, così da fornire indicazioni più ampie all'utente sulle coltivazioni e di allargare il dominio applicativo, per esempio inserendo i vincoli relativi all'irrigazione degli ortaggi.File | Dimensione | Formato | |
---|---|---|---|
797446_tesi_secci_giacomo.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
2.06 MB
Formato
Adobe PDF
|
2.06 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/104516