Conferência Tratamento de listas no PROLOG
|
|
- Antônio Graça Mangueira
- 5 Há anos
- Visualizações:
Transcrição
1 Inteligência Artificial Conferência Tratamento de listas no PROLOG O Docente: MSc. Angel Alberto Vazquez Sánchez
2 Objetivo Caracterizar as listas no Prolog, fazendo ênfase em sua definição recursiva.
3 Bibliografía Elaine Rich y Kevin Knight, Inteligencia Artificial. Stuart J. Russell and Peter Norvig, Artificial Intelligence A Modern Approach. Ivan Bratko, PROLOG Programming for Artificial Intelligence.
4 Recordando Feitos, Regras, Pergunta, Árvores SLD. Recursividad: Quando um predicado se demonstra em função de uma chamada a si mesmo, a chamada se converte em um sub-objetivo quase idêntico ao objetivo a cumprir, salvo pelo conjunto de dados sobre o que se aplica. Tem um caso apóie para finalizar as chamadas.
5 Listas Uma lista é uma seqüência de elementos que pode ter qualquer longitude. Na programação prescritiva, os elementos de uma lista L se acessam através de seu índice (ex. L[2]), entretanto no PROLOG não se tem acesso direto aos mesmos, devido à forma de representar a estrutura por parte da linguagem.
6 Representação Terá que ter em conta dois casos: a lista vazia [ ] e a lista não vazia que está formada por duas partes: o primeiro elemento (cabeça) pode ser qualquer tipo de dado o resto da lista (cola) tem que ser uma lista
7 Representação A cabeça e a cola são então combinadas por um functor especial em uma estrutura. A eleição deste functor depende da implementação do PROLOG; aqui se usa a chamada notação de ponto:.(cabeça, Cola)
8 Notação de ponto Exemplo. ( a, [ ] ) Devido a que Côa é uma lista, pode estar vazia ou ter sua própria cabeça e cauda. Do anterior pode ver-se a definição recursiva das listas no PROLOG. Exemplo:.( a,.( b,.( c,.( d, [ ] ) ) ) )
9 Notação [Cabeça Cola] PROLOG brinda uma notação mais clara para as listas: [ a, b, c, d ] Para expresar lo anterior en notación de corchetes para listas, Prolog brinda otra extensión notacional, la barra vertical, la cual separa la cabeza y la cola: [Cabeça Cola]
10 Conclusões Parciais Uma lista é uma estrutura de dados que pode estar vazia ou consistir de duas partes: uma cabeça e uma cauda que tem que ser uma lista. As listas no PROLOG são dirigidas como árvores binárias. Para melhorar a legalidade PROLOG provê uma notação especial para listas [cabeça cola]
11 Representações. Sintaxis Por elementos Cabeça Cola Ponto [a, b, c] [a [b, c] ] [a [b [c] ] ] [a [b [c [] ] ] ].(a, [b, c])
12 Exemplo prog(tomas, ana). prog(tomas, raul). prog(tomas, pedro). prog(maria, ana). prog(maria, felipe). prog(maria, rosa). prog(tomas,[raul,ana,pedro]).
13 Exemplo prog(tomas, ana). prog(tomas, raul). prog(tomas, pedro). prog(maria, ana). prog(maria, felipe). prog(maria, rosa). prog(maria,[ana,felipe,rosa]).
14 Percorrido A diferença da programação imperativa, em que se conta com instruções como for ou while que permitem o percurso iterativo das listas, PROLOG não brinda estes mecanismos. É através da recursividad que a linguagem cobre a falta de procedimentos iterativos.
15 Importante Quando quer percorrer uma lista até o final, é necessário utilizar na condição de parada a lista vazia, pois esta indica que se chegou ao final da lista. Logo se define a regra recursiva, na qual se passa como parâmetro a cauda da lista que se está tratando nesse momento; isto se repetirá até que se cumpra a condição de parada.
16 Percorrido É usual e necessário poder separar a cabeça da cauda de uma lista o que é possível graças à barra vertical?-l = [nora, angel, jose], L = [X P]. L = [nora, angel, jose], X= nora, P = [angel, jose]. À esquerda da barra vertical podemos acessar a qualquer quantidade de elementos na cabeça da lista e depois dela uma lista com o resto dos elementos.?-[nora [angel, jose]] = [nora,angel [jose]] = yes [nora,angel,jose []].
17 Predicado membro El acceso a cualquier elemento de la lista es a través de la cabeza (descabezar). Exemplo membro(x, [X _]). X é membro da lista L, se: Caso base membro(x, [_ L]) :- membro(x, L). Regra recursiva
18 Predicado membro A relação membro é um claro exemplo da flexibilidade das definições no PROLOG já que se pode utilizar para: 1. Checar se um elemento pertence a uma lista. 2. Obter todos os elementos de uma lista por backtracking. 3. Obter listas com um elemento X em primeira, segunda,... n- ésima posição
19 concat([],ys,ys). Predicado concatenar concat([x Xs],Ys,[X Zs]):- concat(xs,ys,zs). Zs é o resultado de concatenar as listas Xs e Ys
20 longitude([],0). Predicado Longitude longitude([_ C],L):-longitude(C,L1), L is L1+1. A longitude L da lista é o resultado de acrescentar 1 à longitude da cola C.
21 member(x,lista). Predicados predefinidos append(lista1,lista2,lista3). length(lista,c).
22 Se quer perguntar 1. Quem não tem filhos? 2. Quem tem um só filho? 3. Quem tem ao menos um filho? 4. Quem tem exatamente dois filhos? 5. Quem tem ao menos dois filhos? 6. Quem é o primeiro filho de Tomás?
23 Estudo Individual Estudar dos epígrafes 3.1 e 3.2 do Bratko, onde vêm resolvidos exemplos bem ilustrativos do trabalho sobre listas como a implementação de investir uma lista e obter as permutações de uma lista.
24 Estudo Individual 1.Programar los predicados que permitan: a) Adicionar un elemento en el principio b) Eliminar el primer elemento de una lista c) Adicionar un elemento al final d) Eliminar el último elemento de una lista e) Eliminar el N-ésimo elemento de una lista
25 Concluções As listas no Prolog são variáveis não atômicas que permitem armazenar em uma ordem seqüencial um grupo de elementos. Existem três formas de representar as listas no PROLOG, a mais utilizada é a de [cabeza cola] pois permite ir descabeçando a lista e realizar o percurso com a cauda. Os predicados já definidos sobre listas são length, member e append.
26 Que respondería Prolog?? - [a, b, c, d] = [a, [b, c, d]].? - [a, b, c, d] = [a [b, c, d]].? - [a, b, c, d] = [a, b, c, d, [ ]].? - [a, b, c, d] = [a, b [c, d]].? - [a, b, c, d] = [a, b, c, [d]].
27 Predicado membro?- membro(pedro, [jose,pedro,tomas]).?- membro(jose,[]).?- membro(x, [jose,pedro,tomas]).
28 ?- concat([1,2],[3,4],v).?- concat([1,2],x,[1,2,3,4]).?- concat(x,y,[1,2,3]). Predicado concatenar
Conferência Predicados de corte e falha
Inteligência Artificial Conferência Predicados de corte e falha O Docente: MSc. Angel Alberto Vazquez Sánchez Objetivo Descreva como funcionam os predicados "!" E "fail". Use os predicados de corte e falha
Leia maisConferencia 6 Estruturas, pregados para o trabalho com estruturas, seletores. MSc. Angel Alberto Vazquez Sánchez
Conferencia 6 Estruturas, pregados para o trabalho com estruturas, seletores MSc. Angel Alberto Vazquez Sánchez Objetivo Caracterizar as estruturas como elemento importante da programação no Prolog. 2/41
Leia maisConferência Árvores de resolução SLD
Inteligência Artificial Conferência Árvores de resolução SLD O Docente: MSc. Angel Alberto Vazquez Sánchez Objetivo Construir uma árvore de resolução SLD a partir de um objetivo do PROLOG, aplicando o
Leia maisSintaxe e Semântica de Programas Prolog
Sintaxe e Semântica de Programas Prolog Esta aula trata da sintaxe e semântica de conceitos básicos em Prolog relacionados à manipulação de listas Lista é uma das estruturas mais simples em Prolog, muito
Leia maisAplicações de Lógica. Lógica como Linguagem de Programação. Mario Benevides UFRJ
Aplicações de Lógica Lógica como Linguagem de Programação Mario Benevides UFRJ Listas Lista L=[a,b,c,d,e,f] onde a,b,...,f são elementos da lista. o elemento a é chamado de cabeça e a lista restante [b,c,d,e,f]
Leia maisUNIDADE ACADÊMICA: Faculdade de
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2
Leia maisListas em Prolog. Listas
Listas em Prolog Esta aula trata da estrutura de dados lista e programas Prolog para processamento de listas Inteligência Artificial 1 Listas Lista é uma das estruturas mais simples em Prolog, muito comum
Leia maisSCC Capítulo 5 Representação de Conhecimento através do Prolog
SCC-630 - Capítulo 5 Representação de Conhecimento através do Prolog João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São
Leia maisRedes Neurais (Inteligência Artificial)
Redes Neurais (Inteligência Artificial) Apresentação da Disciplina Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem
Leia maisInteligência Artificial - IA. Resolução de problemas por meio de busca
Resolução de problemas por meio de busca 1 Agente reativo - definido por ação reação Agente de resolução de problemas (ou baseado em objetivos) encontra sequencias de ações que leva ao estado desejável.
Leia maisInteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Busca heurística Roteiro Retomada do
Leia maisINF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Apresentação da Disciplina Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem como
Leia maisA linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos.
A linguagem Prolog Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. Um termo ou é uma constante, ou uma variável ou um termo composto. As constantes incluem
Leia maisAlgoritmos de ordenação em forma paralela.
ISUTIC 2017 Algoritmos de ordenação em forma paralela. Docente: MSc. Angel Alberto Vazquez Sánchez Bibliografía A. Grama, Introduction to parallel computing. Pearson Education, 2003. I. Foster, Designing
Leia maisEugénio Oliveira Outros docentes da cadeira:
eco@fe.up.pt www.fe.up.pt/~eco.html Outros docentes da cadeira: Daniel Moura- T e P dcm@fe.up.pt Rui Gomes- P rjgomes@fe.up.pt 1 Objectivos Adquirir familiaridade com os paradigmas da, Programação com
Leia maisFigura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall.
Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado
Leia maisProf. A. G. Silva. 24 de agosto de Prof. A. G. Silva Programação em Lógica 24 de agosto de / 1
Programação em Lógica Prof. A. G. Silva 24 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 24 de agosto de 2017 1 / 1 Termos Referem-se a todas as construções sintáticas da linguagem Um termo
Leia maisÁrvores. Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque. Engenharia da Computação. Poli - UPE
Árvores Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque Engenharia da Computação Poli - UPE Motivação Para entradas realmente grandes, o acesso linear de listas é proibitivo Estrutura de dados
Leia maisProf. Dr. Alexandre da Silva Simões UNESP
UNESP!! Definição de paradigma!! Principais paradigmas da robótica:!! Paradigma Hierárquico (Deliberativo)!! Exemplos!! Paradigma Reativo!! Exemplos!! Paradigma Híbrido (Reativo-Deliberativo) 1 2!! Números
Leia maisApresentação da Unidade Curricular 2012/13
Inteligência Artificial Apresentação da Unidade Curricular 2012/13 Objectivos, Programa,, Bibliografia,... Paulo Fazendeiro Universidade da Beira Interior 1 Conteúdo Objectivos Programa Bibliografia Atendimento
Leia maisParadigmas de Linguagens de Programação. Linguagens de Programação Lógicas
Linguagens de Programação Lógicas Cristiano Lehrer Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência lógica para produzir
Leia maisProgramação Orientada a Objetos. Programação Lógica
Programação Orientada a Objetos Programação Lógica Cristiano Lehrer, M.Sc. Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência
Leia maisInteligência Artificial - IA
Busca sem informação Estratégias para determinar a ordem de expansão dos nós: 1. Busca em extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo Direção da expansão:
Leia maisInteligência Artificial Apontamentos para as aulas Luís Miguel Botelho
Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação ISCTE-IUL - Instituto Universitário de Lisboa Dezembro de 2016 1 Notas sobre
Leia maisRecursividade e listas
Recursividade e listas Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Princípio de recursividade Recursividade é um princípio que permite
Leia maisParadigmas de Programação
Paradigmas de Programação 2005 06 Apresentação da Disciplina Equipa docente: Jorge Louçã coordenador da disciplina, docente de EI gab. D609 Jorge.L@iscte.pt Nuno David docente de ETI gab. D633 Nuno.David@iscte.pt
Leia maisBusca Heurística - Informada
Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são comparados ao objetivo; são ineficientes na maioria
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 19 a Aula Raciocinar sobre programas
Programação Funcional 19 a Aula Raciocinar sobre programas Pedro Vasconcelos DCC/FCUP 2014 Raciocínio equacional Para simplificar expressões matemáticas podemos usar igualdades algébricas como regras de
Leia maisINE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:
INE5416 Paradigmas de Programação Ricardo Azambuja Silveira INE CTC UFSC E Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Estrutura de dados Listas Pilhas Conjuntos Árvores Grafos Classificação
Leia maisInteligência Computacional
Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Métodos Revogáveis de Busca Busca em profundidade Busca em largura Busca em profundidade iterativa Busca ordenada
Leia maisInteligência Artificial
Inteligência Artificial Métodos de resolução de problemas Prof. Angel Alberto Vazquez Sánchez Objetivos Caracterizar a busca como um método para resolver problemas a partir de seus elementos fundamentais
Leia maisInteligência Artificial. Prolog. Aula 2 Introdução (cont.)
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Prolog Aula 2 Introdução (cont.) Características
Leia maisRecursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV
PROGRAMAÇÃO EM LÓGICA Recursão CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte IV Usado desde a arte (em figuras, telas, etc) como também em Matemática
Leia maisAlgoritmos e Estrutura de Dados Aula 08 Pilhas
Algoritmos e Estrutura de Dados Aula 08 Pilhas Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! Dados e Tipos de Dados Um dado é uma informação
Leia maisSistemas Especialistas
Agenda Sistemas Especialistas Revisão Conceitos Básicos Entender uma ferramenta para S.E. Sistemas de Informação Inteligentes Prof. Esp. MBA Heuber G. F. Lima Aula2 Page 2 Conceitos I.A. Sistemas Especialistas
Leia maisAlguns Exercícios de Inteligência Artificial
Alguns Exercícios de Inteligência Artificial Ana Paula Tomás Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {apt,nam}@ncc.up.pt 1997 1. Números
Leia maisÁrvores & Árvores Binárias
SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores & Árvores Binárias Prof. Material Original: Walter Aoiama Nagai; Maria das Graças Volpe Nunes; Definições Árvore T é um conjunto
Leia maisTrabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Leia maisInteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Aula II Algoritmos básicos de busca
Leia maisFundamentos da Programação
Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada
Leia maisINF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 09 Prolog Edirlei Soares de Lima Variáveis Variáveis são representadas através de cadeias de letras, números ou _ sempre começando com letra
Leia maisIntrodução Paradigmas
Introdução Paradigmas Recursividade Algoritmos tentativa e erro Divisão e conquista Programação dinâmica Algoritmos gulosos Algoritmos aproximados 1 Introdução O projeto de algoritmos requer abordagens
Leia maisÁrvores. Aula 04. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria
Engenharia de CONTROLE e AUTOMAÇÃO Árvores Aula 04 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br Sumário
Leia maisConferencia 10 Métodos Locais
Conferencia 10 Métodos Locais Objetivo Caracterizar os métodos de busca local Bibliografía Patrick Henry Winston, Inteligencia Artificial, 3ra edición, 1992. AI. A Modern Approach Russell Norvig 3rd ed.
Leia maisCES-11. Algoritmos e Estruturas de Dados
CES-11 Algoritmos e Estruturas de Dados CES-11 Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Conceito de árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única
Leia mais2. Linguagem de Programação Prolog
Inteligência Artificial - IBM1024 2. Linguagem de Programação Prolog Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Linguagem de Programação Prolog 2.1.
Leia maisProf. Marcos A. Schreiner. 15 de junho de Prof. Marcos A. Schreiner (UFPR) 15 de junho de / 18
Prolog - Programação Lógica Prof. Marcos A. Schreiner Disciplina de Introdução à Lógica 15 de junho de 2015 Prof. Marcos A. Schreiner (UFPR) 15 de junho de 2015 1 / 18 1 Introdução 2 Prolog Definições
Leia maisCapítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Baseados nos slides de Andrew Rice, Universidade
Leia maisAULA TEÓRICA RESOLUÇÃO DE PROBLEMAS 4ª
AULA TEÓRICA RESOLUÇÃO DE PROBLEMAS 4ª Aula por Helder Coelho IIA 1 REPRESENTAÇÃO E INTELIGÊNCIA QUESTÕES PARA DISCUSSÃO: Transformação do problema compreender o problema reflectir/pensar o problema lógica,
Leia maisRevisão: Tipo Abstrato de Dados Recursividade
Algoritmos e Estrutura de Dados II Revisão: Tipo Abstrato de Dados Recursividade Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estudo das estruturas de dados envolve dois objetivos complementares:
Leia maisUSANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio
USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais
Leia maisSCC Capítulo 6 Planejamento
SCC-630 - Capítulo 6 Planejamento João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos joaoluis@icmc.usp.br
Leia maisAgentes Inteligentes. Inteligência Artificial
Agentes Inteligentes (Capítulo 2 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Ambiente de Tarefas 3. Exemplos de ambiente de Tarefas 4. Propriedades
Leia mais3. Resolução de problemas por meio de busca
Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por
Leia maisBCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.
Leia maisListas: nós de cabeçalho, listas não homogêneas, listas generalizadas
Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc.
Leia maisListas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I
Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc. Para que? Sentinela Beth
Leia maisMecanismos de Controle
Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,
Leia maisÁrvores & Árvores Binárias
SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores & Árvores Binárias Prof. Material Original: Walter Aoiama Nagai; Maria das Graças Volpe Nunes; Definições Árvore T é um conjunto
Leia maisFACULDADE LEÃO SAMPAIO
FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS
Leia maisResolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação
Resolução de problemas por meio de busca Capítulo 3 Inteligência Artificial Sistemas de Informação Conteúdo Um exemplo Resolução de problemas por meio de busca Exemplos de problemas Em busca de soluções
Leia maisÁrvores: conceitos gerais e representações
1 1. Conceitos fundamentais Até agora estudamos estruturas de dados lineares, isto é, estruturas apropriadas ao armazenamento de dados que têm uma relação seqüencial: 1. Estruturas lineares contíguas em
Leia maisUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG PROF. CESAR A. TACLA UTFPR/CURITIBA
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG 1 PROLOG: UTILIZAÇÃO A principal utilização da linguagem Prolog reside no domínio da programação simbólica, não-numérica, sendo especialmente adequada
Leia maisIntrodução à Programação em Prolog
Introdução à Programação em Prolog Thiago A. S. Pardo Solange Rezende Exercício em duplas Introdução (1 de 4) Escrever um programa completo em C que armazene quem gosta de quem e que responda sim ou não
Leia maisAula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Árvores CES-11 Conceito de árvore Definição recursiva de árvore Definições Representações de árvores Ordenação
Leia maisListas. Em PROLOG os elementos das listas não têm de ser do mesmo tipo (por exemplo, [a,2,abc,[x,1,zzz]])
Listas Em PROLOG as listas podem ser: Não vazias, tendo uma cabeça (1º elemento da lista) e uma cauda (lista com os restantes elementos) Vazias, quando não têm nenhum elemento (equivalente ao NULL ou NIL
Leia maisEnsino de IA Simbólica com Abordagem à Resolução de Problemas p. 1/5
Ensino de IA Simbólica com Abordagem à Resolução de Problemas Vivian Cremer Claudio Cesar de Sá viviancremer@yahoo.com.br claudio@joinville.udesc.br UDESC - Universidade do Estado de Santa Catarina Ensino
Leia maisparent parent corpo, corpo 1 2 Prolog - João C. P. da Silva
Prolog é uma linguagem de programação utilizada para resolução de problemas que envolvem objetos e relações entre objetos. s José possui um livro. O carro é vermelho. Duas pessoas são irmãs se ambas são
Leia maisProgramação de Computadores LAÇOS E LISTAS
Programação de Computadores LAÇOS E LISTAS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Exemplo Inicial Uma Tabela Suponha que você deseja construir uma tabela
Leia maisINSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO
INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Conceitos de Inteligência e Inteligência Artificial.
Leia maisProf. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35
INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Leia maisRecursão. Definição. Características. Recursividade 31/08/2010
Recursão Introdução à Ciência da Computação II (009) Rosane Minghim Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Definição Um objeto é dito ser recursivo se ele é definido parcialmente
Leia maisAnatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina
Anatomia do motor de um programa de xadrez Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina Conteúdo Objetivo O que é um motor de xadrez? Arquitetura Entrada e saída Representação do tabuleiro
Leia maisRecursividade Exaustiva e Backtracking
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Recursividade Exaustiva e Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com
Leia maisÁrvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas
Leia maisLógica para Computação
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br Resolução e PROLOG Passos para obter a forma clausal de uma fbf: 1. Obter a forma normal
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
Leia maisProgramação I Estruturas de Repetição
Programação I Estruturas de Repetição Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões compactas Frequentemente existe a necessidade de escrever expressões da forma:
Leia maisProjeto de Algoritmos e Indução Matemática
Capítulo 3 Projeto de Algoritmos e Indução Matemática Um algoritmo é uma descrição precisa de um método para a resolução de determinado problema. Este capítulo apresenta a relação entre a prova de teoremas
Leia maisFernando Silva DCC-FCUP. Estruturas de Dados
3. Recursividade, Bactracking e Dividir-para-Conquistar Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 3. Recursividade, Bactracking e Dividir-para-Conquistar Estruturas de Dados
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando
Leia maisProblemas de Satisfação de Restrições 03/05/2012
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Problemas de Satisfação de Restrições 03/05/2012 Prof. a Claudia Brandelero Rizzi claudia_rizzi@hotmail.com Roteiro
Leia maisFontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:
Fontes Bibliográficas Estruturas de Dados Aula 15: Árvores Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo 5; Estruturas
Leia maisRecursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição
Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Leia maisProf. A. G. Silva. 31 de agosto de Prof. A. G. Silva Programação em Lógica 31 de agosto de / 1
Programação em Lógica Prof. A. G. Silva 31 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 31 de agosto de 2017 1 / 1 Listas (revisão) Elementos separados por vírgulas entre colchetes: [a, b,
Leia maisSCC Capítulo 2 Lógica de Predicados
SCC-630 - Capítulo 2 Lógica de Predicados João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Aula 19: - Comparação empírica de algoritmos de ordenação - Árvores Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2016 1 Comparação empírica de algoritmos de
Leia maisÁrvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Leia maisAula 05. Modularização Função Subrotina Recursividade
Logo Aula 05 Modularização Função Subrotina Recursividade 2 Modularização A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo
Leia maisMatrizes Esparsas. atribuição (M, i, j, v) (i, j) IND. v nulo. v não nulo v nulo v não nulo. há espaço. não há espaço. retira substitui nada
Matrizes Esparsas atribuição (M, i, j, v) (i, j) IND (i, j) IND v nulo v não nulo v nulo v não nulo retira substitui nada há espaço não há espaço insere erro! estouro da representação 83 Matrizes Esparsas
Leia maisTRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS
TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação
Leia maisCES-11. Árvores. Conceito de árvore. Definição recursiva de árvore Definições associadas a árvore. Ordenação dos nós de uma árvore
Árvores Conceito de árvore CES-11 Definição recursiva de árvore Definições associadas a árvore Representações de árvores Ordenação dos nós de uma árvore CONCEITO DE ÁRVORE Tantos as pilhas como as filas
Leia maisLinguagem Haskell. Maria Adriana Vidigal de Lima
em Haskell Linguagem Haskell Faculdade de Computação - UFU Dezembro - 2009 em Haskell 1 em Haskell Noções sobre Fundamentos em Haskell Noções sobre Uma árvore é uma estrutura de dados baseada em listas
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2018/2019
Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2018/2019 1. Unidade Orgânica Instituto de Engenharia e Tecnologias (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia mais