·

Engenharia de Software ·

Engenharia de Software

Send your question to AI and receive an answer instantly

Ask Question

Preview text

FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL Roteiro Aula Prática 2 ROTEIRO DE AULA PRÁTICA NOME DA DISCIPLINA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL Unidade U3 LÓGICA NEBULOSA Aula A4 LÓGICA NEBULOSA EM SISTEMAS ESPECIALISTA Tempo previsto de execução de aula prática 3h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Introduzir o uso do Octave na resolução de problemas práticos de Lógica Nebulosa Comparar um programa não baseado em Lógica Nebulosa com um programa baseado nessa técnica apontando as vantagens do segundo tipo em uma classe de problemas propícia para seu uso Resolver um problema simples usando Lógica Nebulosa INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos NOME DO LABORATÓRIO Laboratório de Informática Equipamentos Computador 1 unid 1 aluno SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Ocatve Simulador GNU Octave é uma linguagem computacional desenvolvida para computação matemática Possui uma interface em linha de comando para a solução de problemas numéricos lineares e nãolineares também é usada em experimentos numéricos Faz parte do projeto GNU é um software livre sob os termos da licença GPL httpsoctaveorg 3 EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS Não se aplica PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Atividade proposta Implantar a solução para um problema simples de cálculo de gorjeta com base em dois parâmetros SEM USAR A LÓGICA NEBULOSA PARA FINS DE COMPARAÇÃO A qualidade da comida servida A Qualidade do serviço provido pelo restaurante Como o julgamento de bom e ruim é difuso a Lógica Nebulosa é uma ferramenta adequada para atacar o problema do cálculo assumindo que podemos atribuir menos de 10 quando estamos insatisfeitos e mais de 10 quando formos positivamente surpreendidos pela comida eou pelo serviço Em seguida o mesmo problema com os mesmos parâmetros deverá ser resolvido usando a Lógica Nebulosa Imaginese em um restaurante onde a gorjeta deve ser especificada pelo cliente que inclusive discrimina o valor a ser cobrado no cartão como está cada vez mais comum em restaurantes nos dias de hoje nas capitais e nas grandes cidades Para gerarmos o valor da gorjeta devemos fazer um pequeno cálculo mental em função da qualidade da comida e também do serviço prestado pelo estabelecimento Imaginemos que Se a comida foi de qualidade ruim ou fomos mal atendidos vamos deixar uma gorjeta pequena mais próxima de 5 Se o serviço for bom vamos deixar uma gorjeta mediana mais próxima de 10 Se a comida ou o serviço nos surpreenderam positivamente vamos deixar uma gorjeta generosa mais próxima de 15 Vamos ainda graduar a comida e o serviço em uma escala de 0 a 10 Com esses parâmetros em mente poderíamos criar um gráfico com a gorjeta a ser deixada conforme a Figura 1 a seguir 4 Figura 1 Gráfico de Definição da Gorjeta com base na qualidade da comida e do serviço Fonte autor Nesta primeira fase do exercício vamos implementar a solução do problema proposto usando os comandos procedurais do Octave sem utilizar as ferramentas de Lógica Nebulosa para fins de comparação Agora usando a mesma definição de grupos utilizada nos passos anteriores você deverá criar o mesmo resultado por meio da Lógica Nebulosa Alguns passos serão seguidos para que esse resultado seja obtido a saber 1 Definir as entradas e saídas do procedimento 2 Criar Funções que determinam o quanto um elemento pertence a um conjunto 3 Criar regras para combinar os dados 4 Simular o sistema de Lógica Nebulosa resultante Checklist Octave está funcionando corretamente Criar as variáveis necessárias Inserir as regras corretamente Gerar valores para a gorjeta com base em diferentes qualidades de serviço e comida Registrar seus resultados em um relatório 5 RESULTADOS obrigatório aparecer para todos Resultados de Aprendizagem Resolução de um problema usando Lógica Nebulosa ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos Descrição orientativa sobre a entregada da comprovação da aula prática Entrega do relatório com os resultados obtidos e do código desenvolvido REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas FUNDAMENTOS DA INTELIGÊNCIA ARTIFIAL Roteiro Aula Prática 2 ROTEIRO DE AULA PRÁTICA NOME DA DISCIPLINA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL Unidade U4 REDES NEURAIS ARTIFICIAIS Aula A4 ALGORITMOS DE REDES NEURAIS Tempo previsto de execução de aula prática 3h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Compreensão e desenvolvimento de um rede neural utilizando a linguagem Python INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos NOME DO LABORATÓRIO Laboratório de Informática Equipamentos Computador 1 unid 1 aluno SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Infraestrutura mínima necessária para execução Jdoodle O JDoodle Python é uma plataforma online que oferece um ambiente de desenvolvimento integrado IDE para programação em Python diretamente no navegador Ideal para iniciantes e programadores experientes o JDoodle Python permite escrever executar e compartilhar código Python de maneira simples e eficiente Com recursos como realce de sintaxe sugestões de código e feedback imediato os usuários podem testar e depurar seus programas com facilidade Além disso o JDoodle Python suporta uma variedade de bibliotecas e módulos Python facilitando o desenvolvimento de projetos complexos e a exploração de novas funcionalidades da linguagem httpswwwjdoodlecompython3programmingonline 3 EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS Não se Aplica PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Atividade proposta Implemente uma rede neural de uma camada utilizando a função de ativação sigmoide O objetivo é treinar a rede para realizar a classificação binária Você receberá uma matriz de entrada e uma matriz de saída desejada e deverá ajustar os pesos da rede sinapse através do processo de aprendizado supervisionado Passos do Exercício Importação das Bibliotecas Necessárias Utilize a biblioteca NumPy para realizar operações matemáticas e manipulações de arrays Definição da Função Sigmoide Implemente a função de ativação sigmoide que será utilizada tanto para a ativação quanto para a derivada no cálculo do gradiente Definição das Entradas e Saídas Crie a matriz de entrada X e a matriz de saída y Inicialização dos Pesos Inicialize os pesos da sinapse com valores aleatórios Treinamento da Rede Neural Implemente o loop de treinamento que ajustará os pesos da sinapse O treinamento deve ser executado por 10000 iterações No loop de treinamento execute os seguintes passos Realize a propagação para frente calculando as saídas Calcule o erro Calcule o delta ajuste dos pesos utilizando a derivada da função sigmoide Atualize os pesos da sinapse Exibição dos Resultados Após o treinamento imprima a saída da rede 4 Checklist Entender o conceito de redes neurais artificiais Implementar através do Python uma RNA simples Realizar e entender os resultados da quantidade de treinamentos RESULTADOS obrigatório aparecer para todos Resultados de Aprendizagem Compreenda a implementação de uma RNA e o conceito de treinamento ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos Descrição orientativa sobre a entregada da comprovação da aula prática Código desenvolvido REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas 1 UNIVERSIDADE ANHANGUERA NOME DO ALUNO ROTEIRO AULA PRÁTICA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL CIDADE ANO lOMoAR cPSD48560601 NOME DO ALUNO ROTEIRO AULA PRÁTICA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL Roteiro Aula Prática apresentado a Universidade Anhanguera como requisito para obtenção de média para a disciplina de fundamentos da inteligência artificial Tutora à Distância CIDADE 2024 3 SUMÁRIO 1 INTRODUÇÃO 3 2 DESENVOLVIMENTO 4 21 ATIVIDADE PROPOSTA 01 APLICAÇÃO DA LÓGICA NEBULOSA 4 22 ATIVIDADE PROPOSTA 02 ALGORITMOS DE REDES NEURAIS 9 3 CONCLUSÃO 11 REFERÊNCIAS 12 The image does not contain any text lOMoAR cPSD48560601 3 Baixado por Gisele Vieira giselevieirasilva19999gmailcom 1 INTRODUÇÃO Inteligência Artificial IA é uma vertente da tecnologia que nos fascina e desafia transformando não apenas como interagimos com máquinas mas também como resolvemos problemas do dia a dia Nesta aula prática vamos mergulhar no estudo da Lógica Nebulosa uma abordagem da IA que brilha por sua habilidade de simular a incerteza e a subjetividade humanas em decisões complexas Vamos iniciar a prática com uma atividade no software GNU Octave uma ferramenta de código aberto que é um verdadeiro campo de jogos para matemáticos e engenheiros Nosso primeiro desafio será calcular a gorjeta em um restaurante de maneira convencional sem usar Lógica Nebulosa Este exercício simples nos preparará para apreciar como a Lógica Nebulosa pode enriquecer esse processo ao incorporar nuances humanas que a matemática tradicional muitas vezes deixa de lado Por exemplo ao decidir sobre a gorjeta em um restaurante aspectos como a qualidade do serviço e a experiência gastronômica são intrinsecamente subjetivos A Lógica Nebulosa é perfeita para abordar essas variáveis com delicadeza permitindo que criemos modelos que refletem melhor as nuances da experiência humana Na aula você aprenderá a construir funções e regras que simulam esse raciocínio proporcionando resultados que não só fazem sentido matemático mas que também ressoam em um nível mais pessoal Ao avançar na prática cada passo será um convite para explorar como dados e modelos de decisão podem ser tecidos juntos para formar soluções que não apenas resolvam problemas mas que também ampliem nossa compreensão sobre como as decisões são feitas no mundo real Esta é a beleza da Lógica Nebulosa ela nos ajuda a modelar a realidade 4 2 DESENVOLVIMENTO 21 ATIVIDADE PROPOSTA 01 APLICAÇÃO DA LÓGICA NEBULOSA Objetivos da Aula Prática A aula prática que você descreveu parece ter proporcionado uma ótima oportunidade para explorar e entender a aplicabilidade da Lógica Nebulosa em situações reais onde a incerteza e a subjetividade predominam Usar esse conceito para comparar abordagens tradicionais e nebulosas na avaliação da qualidade do serviço em um restaurante destaca como essa técnica pode ser superior em captar nuances que métodos convencionais muitas vezes ignoram Esse tipo de aprendizado prático é essencial para compreender as vantagens da Lógica Nebulosa especialmente em cenários onde os critérios de decisão não são apenas numéricos ou claramente definidos mas influenciados por percepções pessoais e experiências subjetivas lOMoAR cPSD48560601 Procedimentos Passo 1 Instalação do GNU Octave Instalei o GNU Octave no meu computador através do site oficial httpsoctaveorg A instalação foi simples seguindo as instruções da página Passo 2 Definição do Problema O problema foi definido da seguinte forma a gorjeta a ser dada pelo cliente depende da qualidade da comida e do serviço ambos avaliados em uma escala de 0 a 10 Os parâmetros foram Gorjeta de 5 para qualidade ruim média 4 Gorjeta de 10 para qualidade mediana média entre 4 e 7 Gorjeta de 15 para qualidade boa média 7 Passo 3 Implementação do Cálculo Tradicional Esse é um excelente ponto de partida para a prática com GNU Octave e uma boa introdução ao conceito de programação para solucionar problemas cotidianos Implementar primeiro um cálculo de gorjeta convencional permite que os alunos vejam como uma solução pode ser estruturada de maneira simples e eficaz A partir desse código base a inserção da Lógica Nebulosa pode então demonstrar como 6 uma abordagem mais sofisticada é capaz de integrar aspectos mais subjetivos como a qualidade da comida e do serviço fornecendo uma solução que possa refletir melhor as nuances humanas em processos de decisão Isso não só amplia a compreensão dos alunos sobre as técnicas de IA mas também os prepara para pensar sobre como essas ferramentas podem ser aplicadas em suas futuras carreiras profissionais ou no desenvolvimento de novas tecnologias Passo 4 Exibição dos Resultados Após inserir as notas o programa exibiu o valor da gorjeta com base nas regras estabelecidas no código lOMoAR cPSD48560601 Conclusão A atividade ofereceu uma experiência valiosa sobre como empregar o GNU Octave para desenvolver um programa básico de cálculo de gorjetas Observouse o impacto que a média das avaliações da qualidade da comida e do serviço tem sobre o montante da gorjeta sugerida A formulação do código e sua execução no Octave provaram ser métodos eficientes para abordar a questão proposta Utilizando a Lógica nebulosa Esse código usará a Lógica Nebulosa para atribuir valores de gorjeta mais flexíveis lidando com situações em que as notas de comida e serviço não são tão claras por exemplo quando são mais ou menos boas ou ruins 8 Explicação do código Pacote fuzzylogictoolkit O código começa carregando o pacote fuzzylogictoolkit que contém as ferramentas necessárias para implementar sistemas de Lógica Nebulosa no GNU Octave Variáveis de Entrada Definimos duas variáveis de entrada comida e servico ambas com valores entre 0 e 10 Esses valores representam as notas que o usuário dá para a qualidade da comida e do serviço Conjuntos Nebulosos Fuzzy Sets Para cada uma dessas variáveis definimos três conjuntos nebulosos ruim valores baixos media valores intermediários boa valores altos Variável de Saída A variável de saída é a gorjeta que varia de 0 a 20 Também definimos três conjuntos nebulosos para a gorjeta baixa próxima de 5 media próxima de 10 alta próxima de 1520 Regras Fuzzy As regras fuzzy que definimos são baseadas nas combinações de comida e serviço Se tanto a comida quanto o serviço forem ruins a gorjeta será baixa Se ambos forem medianos a gorjeta será média Se ambos forem bons a gorjeta será alta Execução e Avaliação O sistema fuzzy avalia as notas fornecidas pelo usuário e calcula a gorjeta baseada nas regras definidas Resultado O valor da gorjeta sugerido pelo sistema nebuloso é exibido no final lOMoAR cPSD48560601 22 ATIVIDADE PROPOSTA 02 ALGORITMOS DE REDES NEURAIS Objetivos da Atividade O propósito desta atividade prática consistiu em construir uma rede neural de camada única em Python empregando a função de ativação sigmoide A rede foi configurada para executar uma tarefa de classificação binária com os pesos sendo refinados por meio de aprendizado supervisionado Esse procedimento facilitou um entendimento detalhado sobre os princípios operacionais de uma Rede Neural Artificial RNA e sobre a metodologia de otimização dos pesos utilizando o método de gradiente descendente Passo 1 Importação das Bibliotecas O passo inicial envolveu a importação da biblioteca NumPy essencial para realizar operações de álgebra linear e cálculos matriciais Dado que o Python não inclui por padrão funcionalidades matemáticas avançadas a NumPy se torna uma ferramenta extremamente útil para o desenvolvimento de redes neurais Passo 2 Definição da Função Sigmoide A função sigmoide foi programada para atuar tanto na ativação dos neurônios quanto no cálculo do gradiente ou seja na sua derivada Essa função é crucial pois converte qualquer valor de entrada em um número entre 0 e 1 adaptandose perfeitamente aos requisitos de problemas de classificação binária onde essas saídas são interpretadas como probabilidades Passo 3 Definição das Entradas e Saídas Para treinar a rede neural defini as entradas matriz X e a saída esperada vetor y Utilizei um conjunto de dados simples onde o objetivo era treinar a rede para identificar padrões binários Passo 4 Inicialização dos Pesos Os pesos das sinapses foram inicializados com valores aleatórios por meio da função random Essa abordagem de inicialização aleatória é vital para assegurar que a rede neural comece sem tendências ou padrões preestabelecidos permitindo uma aprendizagem efetiva e imparcial desde o início 10 Passo 5 Treinamento da Rede Neural Implementei o ciclo de treinamento no qual a rede executa 10000 iterações para aperfeiçoar os pesos Durante esse processo o algoritmo de aprendizado supervisionado realiza a propagação para frente para prever saídas calcula o erro entre as previsões e os valores reais e ajusta os pesos delta com base na derivada da função sigmoide Ao longo dessas iterações a rede neural refina os pesos de forma iterativa reduzindo progressivamente o erro de previsão a cada ciclo de treinamento Passo 6 Exibição dos Resultados Ao concluir o treinamento eu exibi a saída produzida pela rede neural comparandoa com a saída esperada Esse resultado final demonstra como a rede neural conseguiu aprender efetivamente a associar os exemplos de entrada às saídas esperadas evidenciando o sucesso do processo de treinamento em modelar a função desejada Conclusão Esta atividade ofereceu uma compreensão prática sobre como configurar e treinar uma rede neural básica usando Python com a função sigmoide para ativação Por meio da propagação para frente avaliação do erro e ajuste dos pesos conforme o gradiente a rede neural aprendeu a executar uma tarefa de classificação binária de forma eficaz Esse exercício foi crucial para consolidar o lOMoAR cPSD48560601 entendimento sobre o funcionamento das redes neurais artificiais e sua aplicabilidade na resolução de problemas complexos 3 CONCLUSÃO Esta experiência prática proporcionou um mergulho profundo no universo da Inteligência Artificial especificamente através da exploração da Lógica Nebulosa em sistemas especialistas Ao longo do exercício foi possível perceber claramente como essa técnica se distingue dos métodos convencionais de cálculo oferecendo uma nova abordagem para enfrentar problemas marcados por subjetividade e incertezas elementos frequentemente encontrados em situações do dia a dia A aplicação da Lógica Nebulosa no cálculo de gorjetas baseada na qualidade da comida e do serviço em um restaurante revelou a eficácia desta ferramenta em transformar julgamentos subjetivos como bom ou ruim em decisões práticas e adaptáveis Ao contrário dos métodos tradicionais que operam com valores rígidos e decisões binárias a Lógica Nebulosa ofereceu uma análise mais dinâmica em que o grau de satisfação do cliente foi quantificado em uma escala contínua resultando em soluções que refletem mais fielmente as experiências reais O uso do software GNU Octave foi decisivo neste processo não apenas facilitando a implementação dos cálculos mas também permitindo simulações e ajustes em tempo real o que ajudou a visualizar as diferenças entre a abordagem tradicional e a aplicação da Lógica Nebulosa A formulação das funções de pertinência a definição de regras e a simulação de diversos cenários foram essenciais para entender de forma prática como esses sistemas podem ser modelados com eficácia A reflexão sobre a importância da Lógica Nebulosa em campos que exigem a conversão de decisões humanas para sistemas computacionais emergiu naturalmente Sua capacidade de processar dados imprecisos com eficiência faz desta técnica uma ferramenta valiosa em uma variedade de aplicações desde a automação de processos até a tomada de decisões em ambientes complexos e dinâmicos 12 REFERÊNCIAS GNU Octave Disponível em httpsoctaveorg JDoodle Online Compiler And Editor Disponível em httpswwwjdoodlecompython3programmingonline UNIVERSIDADE ANHANGUERA NOME DO ALUNO ROTEIRO AULA PRÁTICA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL CIDADE ANO 1 lOMoARcPSD48560601 NOME DO ALUNO ROTEIRO AULA PRÁTICA FUNDAMENTOS DA INTELIGÊNCIA ARTIFICIAL Roteiro Aula Prática apresentado a Universidade Anhanguera como requisito para obtenção de média para a disciplina de fundamentos da inteligência artificial Tutora à Distância CIDADE 2024 SUMÁRIO 1 INTRODUÇÃO3 2 DESENVOLVIMENTO4 21 ATIVIDADE PROPOSTA 01 APLICAÇÃO DA LÓGICA NEBULOSA4 22 ATIVIDADE PROPOSTA 02 ALGORITMOS DE REDES NEURAIS9 3 CONCLUSÃO11 REFERÊNCIAS12 3 lOMoARcPSD48560601 3 1 INTRODUÇÃO Inteligência Artificial IA é uma vertente da tecnologia que nos fascina e desafia transformando não apenas como interagimos com máquinas mas também como resolvemos problemas do dia a dia Nesta aula prática vamos mergulhar no estudo da Lógica Nebulosa uma abordagem da IA que brilha por sua habilidade de simular a incerteza e a subjetividade humanas em decisões complexas Vamos iniciar a prática com uma atividade no software GNU Octave uma ferramenta de código aberto que é um verdadeiro campo de jogos para matemáticos e engenheiros Nosso primeiro desafio será calcular a gorjeta em um restaurante de maneira convencional sem usar Lógica Nebulosa Este exercício simples nos preparará para apreciar como a Lógica Nebulosa pode enriquecer esse processo ao incorporar nuances humanas que a matemática tradicional muitas vezes deixa de lado Por exemplo ao decidir sobre a gorjeta em um restaurante aspectos como a qualidade do serviço e a experiência gastronômica são intrinsecamente subjetivos A Lógica Nebulosa é perfeita para abordar essas variáveis com delicadeza permitindo que criemos modelos que refletem melhor as nuances da experiência humana Na aula você aprenderá a construir funções e regras que simulam esse raciocínio proporcionando resultados que não só fazem sentido matemático mas que também ressoam em um nível mais pessoal Ao avançar na prática cada passo será um convite para explorar como dados e modelos de decisão podem ser tecidos juntos para formar soluções que não apenas resolvam problemas mas que também ampliem nossa compreensão sobre como as decisões são feitas no mundo real Esta é a beleza da Lógica Nebulosa ela nos ajuda a modelar a realidade Baixado por Gisele Vieira giselevieirasilva19999gmailcom 2 DESENVOLVIMENTO 21 ATIVIDADE PROPOSTA 01 APLICAÇÃO DA LÓGICA NEBULOSA Objetivos da Aula Prática A aula prática que você descreveu parece ter proporcionado uma ótima oportunidade para explorar e entender a aplicabilidade da Lógica Nebulosa em situações reais onde a incerteza e a subjetividade predominam Usar esse conceito para comparar abordagens tradicionais e nebulosas na avaliação da qualidade do serviço em um restaurante destaca como essa técnica pode ser superior em captar nuances que métodos convencionais muitas vezes ignoram Esse tipo de aprendizado prático é essencial para compreender as vantagens da Lógica Nebulosa especialmente em cenários onde os critérios de decisão não são apenas numéricos ou claramente definidos mas influenciados por percepções pessoais e experiências subjetivas 4 lOMoARcPSD48560601 Procedimentos Passo 1 Instalação do GNU Octave Instalei o GNU Octave no meu computador através do site oficial httpsoctaveorg A instalação foi simples seguindo as instruções da página Passo 2 Definição do Problema O problema foi definido da seguinte forma a gorjeta a ser dada pelo cliente depende da qualidade da comida e do serviço ambos avaliados em uma escala de 0 a 10 Os parâmetros foram Gorjeta de 5 para qualidade ruim média 4 Gorjeta de 10 para qualidade mediana média entre 4 e 7 Gorjeta de 15 para qualidade boa média 7 Passo 3 Implementação do Cálculo Tradicional Esse é um excelente ponto de partida para a prática com GNU Octave e uma boa introdução ao conceito de programação para solucionar problemas cotidianos Implementar primeiro um cálculo de gorjeta convencional permite que os alunos vejam como uma solução pode ser estruturada de maneira simples e eficaz A partir desse código base a inserção da Lógica Nebulosa pode então demonstrar como uma abordagem mais sofisticada é capaz de integrar aspectos mais subjetivos como a qualidade da comida e do serviço fornecendo uma solução que possa refletir melhor as nuances humanas em processos de decisão Isso não só amplia a compreensão dos alunos sobre as técnicas de IA mas também os prepara para pensar sobre como essas ferramentas podem ser aplicadas em suas futuras carreiras profissionais ou no desenvolvimento de novas tecnologias Passo 4 Exibição dos Resultados Após inserir as notas o programa exibiu o valor da gorjeta com base nas regras estabelecidas no código 6 lOMoARcPSD48560601 Conclusão A atividade ofereceu uma experiência valiosa sobre como empregar o GNU Octave para desenvolver um programa básico de cálculo de gorjetas Observouse o impacto que a média das avaliações da qualidade da comida e do serviço tem sobre o montante da gorjeta sugerida A formulação do código e sua execução no Octave provaram ser métodos eficientes para abordar a questão proposta Utilizando a Lógica nebulosa Esse código usará a Lógica Nebulosa para atribuir valores de gorjeta mais flexíveis lidando com situações em que as notas de comida e serviço não são tão claras por exemplo quando são mais ou menos boas ou ruins Explicação do código Pacote fuzzylogictoolkit O código começa carregando o pacote fuzzylogictoolkit que contém as ferramentas necessárias para implementar sistemas de Lógica Nebulosa no GNU Octave Variáveis de Entrada Definimos duas variáveis de entrada comida e servico ambas com valores entre 0 e 10 Esses valores representam as notas que o usuário dá para a qualidade da comida e do serviço Conjuntos Nebulosos Fuzzy Sets Para cada uma dessas variáveis definimos três conjuntos nebulosos ruim valores baixos media valores intermediários boa valores altos Variável de Saída A variável de saída é a gorjeta que varia de 0 a 20 Também definimos três conjuntos nebulosos para a gorjeta baixa próxima de 5 media próxima de 10 alta próxima de 1520 Regras Fuzzy As regras fuzzy que definimos são baseadas nas combinações de comida e serviço Se tanto a comida quanto o serviço forem ruins a gorjeta será baixa Se ambos forem medianos a gorjeta será média Se ambos forem bons a gorjeta será alta Execução e Avaliação O sistema fuzzy avalia as notas fornecidas pelo usuário e calcula a gorjeta baseada nas regras definidas Resultado O valor da gorjeta sugerido pelo sistema nebuloso é exibido no final 8 lOMoARcPSD48560601 22 ATIVIDADE PROPOSTA 02 ALGORITMOS DE REDES NEURAIS Objetivos da Atividade O propósito desta atividade prática consistiu em construir uma rede neural de camada única em Python empregando a função de ativação sigmoide A rede foi configurada para executar uma tarefa de classificação binária com os pesos sendo refinados por meio de aprendizado supervisionado Esse procedimento facilitou um entendimento detalhado sobre os princípios operacionais de uma Rede Neural Artificial RNA e sobre a metodologia de otimização dos pesos utilizando o método de gradiente descendente Passo 1 Importação das Bibliotecas O passo inicial envolveu a importação da biblioteca NumPy essencial para realizar operações de álgebra linear e cálculos matriciais Dado que o Python não inclui por padrão funcionalidades matemáticas avançadas a NumPy se torna uma ferramenta extremamente útil para o desenvolvimento de redes neurais Passo 2 Definição da Função Sigmoide A função sigmoide foi programada para atuar tanto na ativação dos neurônios quanto no cálculo do gradiente ou seja na sua derivada Essa função é crucial pois converte qualquer valor de entrada em um número entre 0 e 1 adaptandose perfeitamente aos requisitos de problemas de classificação binária onde essas saídas são interpretadas como probabilidades Passo 3 Definição das Entradas e Saídas Para treinar a rede neural defini as entradas matriz X e a saída esperada vetor y Utilizei um conjunto de dados simples onde o objetivo era treinar a rede para identificar padrões binários Passo 4 Inicialização dos Pesos Os pesos das sinapses foram inicializados com valores aleatórios por meio da função random Essa abordagem de inicialização aleatória é vital para assegurar que a rede neural comece sem tendências ou padrões preestabelecidos permitindo uma aprendizagem efetiva e imparcial desde o início Passo 5 Treinamento da Rede Neural Implementei o ciclo de treinamento no qual a rede executa 10000 iterações para aperfeiçoar os pesos Durante esse processo o algoritmo de aprendizado supervisionado realiza a propagação para frente para prever saídas calcula o erro entre as previsões e os valores reais e ajusta os pesos delta com base na derivada da função sigmoide Ao longo dessas iterações a rede neural refina os pesos de forma iterativa reduzindo progressivamente o erro de previsão a cada ciclo de treinamento Passo 6 Exibição dos Resultados Ao concluir o treinamento eu exibi a saída produzida pela rede neural comparandoa com a saída esperada Esse resultado final demonstra como a rede neural conseguiu aprender efetivamente a associar os exemplos de entrada às saídas esperadas evidenciando o sucesso do processo de treinamento em modelar a função desejada Conclusão Esta atividade ofereceu uma compreensão prática sobre como configurar e treinar uma rede neural básica usando Python com a função sigmoide para ativação Por meio da propagação para frente avaliação do erro e ajuste dos pesos conforme o gradiente a rede neural aprendeu a executar uma tarefa de classificação binária de forma eficaz Esse exercício foi crucial para consolidar o 10 lOMoARcPSD48560601 entendimento sobre o funcionamento das redes neurais artificiais e sua aplicabilidade na resolução de problemas complexos 3 CONCLUSÃO Esta experiência prática proporcionou um mergulho profundo no universo da Inteligência Artificial especificamente através da exploração da Lógica Nebulosa em sistemas especialistas Ao longo do exercício foi possível perceber claramente como essa técnica se distingue dos métodos convencionais de cálculo oferecendo uma nova abordagem para enfrentar problemas marcados por subjetividade e incertezas elementos frequentemente encontrados em situações do dia a dia A aplicação da Lógica Nebulosa no cálculo de gorjetas baseada na qualidade da comida e do serviço em um restaurante revelou a eficácia desta ferramenta em transformar julgamentos subjetivos como bom ou ruim em decisões práticas e adaptáveis Ao contrário dos métodos tradicionais que operam com valores rígidos e decisões binárias a Lógica Nebulosa ofereceu uma análise mais dinâmica em que o grau de satisfação do cliente foi quantificado em uma escala contínua resultando em soluções que refletem mais fielmente as experiências reais O uso do software GNU Octave foi decisivo neste processo não apenas facilitando a implementação dos cálculos mas também permitindo simulações e ajustes em tempo real o que ajudou a visualizar as diferenças entre a abordagem tradicional e a aplicação da Lógica Nebulosa A formulação das funções de pertinência a definição de regras e a simulação de diversos cenários foram essenciais para entender de forma prática como esses sistemas podem ser modelados com eficácia A reflexão sobre a importância da Lógica Nebulosa em campos que exigem a conversão de decisões humanas para sistemas computacionais emergiu naturalmente Sua capacidade de processar dados imprecisos com eficiência faz desta técnica uma ferramenta valiosa em uma variedade de aplicações desde a automação de processos até a tomada de decisões em ambientes complexos e dinâmicos REFERÊNCIAS GNU Octave Disponível em httpsoctaveorg JDoodle Online Compiler And Editor Disponível em httpswwwjdoodlecompython3programmingonline 12