O documento descreve a hierarquia de Chomsky, que classifica as linguagens formais em quatro tipos principais com base na potência expressiva de suas gramáticas geradoras e reconhecedores associados. O documento explica cada tipo de linguagem formal na hierarquia, começando pelas linguagens regulares no nível 3 e terminando com as linguagens recursivamente enumeráveis no nível 0.
This document provides an overview of Turing machines including their components, operation, and how they are used to recognize formal languages. Key points covered include: Turing machines have a tape, read/write head, and set of states, and transition between states based on the symbol being read on the tape. They can move left/right on the tape and write new symbols. Examples are provided to demonstrate how Turing machines can accept or reject strings and recognize formal languages like {anbn} through transitions that match symbols. Infinite loops cause strings to be rejected. Formal definitions of the transition function and components of a Turing machine are also given.
1. O documento discute conceitos básicos de linguagens formais, incluindo linguagens regulares, expressões regulares e gramáticas regulares.
2. Apresenta perguntas sobre propriedades de linguagens regulares definidas por expressões regulares e aceitas por gramáticas regulares.
3. Discutem aplicações de linguagens formais e propriedades importantes como fechamento e lema do bombeamento.
Este documento apresenta um resumo sobre linguagens formais e autômatos. Ele discute conceitos básicos de linguagens regulares, incluindo autômatos finitos, expressões regulares e gramáticas regulares. O capítulo 3 se concentra especificamente em linguagens regulares, definindo sistemas de estados finitos, composição seqüencial, não-determinista e autômatos finitos.
Este documento contém notas de aula sobre aspectos teóricos da computação, incluindo:
1) Linguagens regulares descritas usando autômatos finitos, expressões regulares e gramáticas regulares.
2) Detalhes sobre expressões regulares, como operações de concatenação e união.
3) Exemplos de como expressões regulares geram linguagens regulares.
The document discusses context-free grammars and ambiguity in context-free grammars. It provides examples of context-free grammars that generate languages like strings of matching parentheses. It describes derivation trees and shows that an expression grammar is ambiguous because the string "aaa * +" can have two different derivation trees, leading to different evaluations of the expression. The document defines that a context-free grammar is ambiguous if a string has two different derivation trees or leftmost derivations.
Alphabets , strings, languages and grammarshele987
This document provides information about strings, languages, and grammars. It defines alphabets as finite sets of symbols and strings as finite sequences of symbols from an alphabet. Operations on strings like concatenation and length are described. Languages are defined as sets of strings, and operations on languages like union and intersection are discussed. Grammars are introduced as a mechanism to describe languages using production rules. An example grammar is given and strings it can generate through derivations are shown.
The document discusses the pumping lemma for regular and context-free languages. It states that for regular languages, any string of length greater than n can be broken down into uvxyz where pumping uvixyiz for i >= 0 keeps the string in the language. For context-free languages, any string can be broken into five parts where pumping the second and fourth parts keeps the string in the language. Examples are given demonstrating how pumping works for strings generated by a context-free grammar.
Context-free grammars are a notation for describing languages using variables and productions. They are more powerful than regular expressions but still cannot define all possible languages. A context-free grammar consists of terminals, variables, a start symbol, and productions. Strings in the language are derived by replacing variables according to productions until only terminals remain. Leftmost and rightmost derivations restrict replacements to specific variables.
This document provides an overview of Turing machines including their components, operation, and how they are used to recognize formal languages. Key points covered include: Turing machines have a tape, read/write head, and set of states, and transition between states based on the symbol being read on the tape. They can move left/right on the tape and write new symbols. Examples are provided to demonstrate how Turing machines can accept or reject strings and recognize formal languages like {anbn} through transitions that match symbols. Infinite loops cause strings to be rejected. Formal definitions of the transition function and components of a Turing machine are also given.
1. O documento discute conceitos básicos de linguagens formais, incluindo linguagens regulares, expressões regulares e gramáticas regulares.
2. Apresenta perguntas sobre propriedades de linguagens regulares definidas por expressões regulares e aceitas por gramáticas regulares.
3. Discutem aplicações de linguagens formais e propriedades importantes como fechamento e lema do bombeamento.
Este documento apresenta um resumo sobre linguagens formais e autômatos. Ele discute conceitos básicos de linguagens regulares, incluindo autômatos finitos, expressões regulares e gramáticas regulares. O capítulo 3 se concentra especificamente em linguagens regulares, definindo sistemas de estados finitos, composição seqüencial, não-determinista e autômatos finitos.
Este documento contém notas de aula sobre aspectos teóricos da computação, incluindo:
1) Linguagens regulares descritas usando autômatos finitos, expressões regulares e gramáticas regulares.
2) Detalhes sobre expressões regulares, como operações de concatenação e união.
3) Exemplos de como expressões regulares geram linguagens regulares.
The document discusses context-free grammars and ambiguity in context-free grammars. It provides examples of context-free grammars that generate languages like strings of matching parentheses. It describes derivation trees and shows that an expression grammar is ambiguous because the string "aaa * +" can have two different derivation trees, leading to different evaluations of the expression. The document defines that a context-free grammar is ambiguous if a string has two different derivation trees or leftmost derivations.
Alphabets , strings, languages and grammarshele987
This document provides information about strings, languages, and grammars. It defines alphabets as finite sets of symbols and strings as finite sequences of symbols from an alphabet. Operations on strings like concatenation and length are described. Languages are defined as sets of strings, and operations on languages like union and intersection are discussed. Grammars are introduced as a mechanism to describe languages using production rules. An example grammar is given and strings it can generate through derivations are shown.
The document discusses the pumping lemma for regular and context-free languages. It states that for regular languages, any string of length greater than n can be broken down into uvxyz where pumping uvixyiz for i >= 0 keeps the string in the language. For context-free languages, any string can be broken into five parts where pumping the second and fourth parts keeps the string in the language. Examples are given demonstrating how pumping works for strings generated by a context-free grammar.
Context-free grammars are a notation for describing languages using variables and productions. They are more powerful than regular expressions but still cannot define all possible languages. A context-free grammar consists of terminals, variables, a start symbol, and productions. Strings in the language are derived by replacing variables according to productions until only terminals remain. Leftmost and rightmost derivations restrict replacements to specific variables.
Este documento apresenta os conceitos de minimização de autômatos finitos determinísticos (AFD) em 3 frases:
1) Apresenta os pré-requisitos e o algoritmo de minimização de AFD que identifica estados equivalentes e os unifica para gerar o autômato finito mínimo com o menor número de estados possível;
2) Discutem exemplos para ilustrar a aplicação do algoritmo de minimização, incluindo a construção de uma tabela de estados e marcação dos estados equivalentes;
3) Encerra apresentando
O documento descreve um enigma sobre um prisioneiro preso em uma cela com duas saídas, cada uma vigiada por um guarda, sendo que um guarda sempre diz a verdade e o outro sempre mente. Para descobrir qual a saída correta, o prisioneiro deve fazer uma única pergunta a um dos guardas escolhidos aleatoriamente.
The document describes the properties of regular languages and proves that regular languages are closed under various operations including concatenation, union, intersection, complement, reversal, and Kleene star. It provides examples of constructing non-deterministic finite automata (NFAs) and deterministic finite automata (DFAs) to represent languages that are the result of applying these operations to regular languages. Key steps involved in the constructions of NFAs and DFAs for each operation are outlined.
Regular expressions describe regular languages using three operations: union, concatenation, and Kleene star. They can be defined recursively, where primitive expressions define single symbols and the empty string, and operations combine expressions. Regular expressions generate regular languages, and any regular language can be defined by a regular expression. Converting between regular expressions and finite automata allows regular languages to be represented in different standard forms.
Este documento apresenta os conceitos fundamentais da Máquina de Turing, incluindo:
1) A Máquina de Turing é constituída por uma fita, unidade de controle e função de transição.
2) A função de transição define o novo estado, símbolo a ser gravado e sentido de movimento da cabeça da fita.
3) Uma Máquina de Turing pode ser usada para reconhecer linguagens, aceitando ou rejeitando palavras de entrada.
This document discusses variations of the standard Turing machine model, including machines with stay-option, semi-infinite tape, offline, multitape, multidimensional, and nondeterministic capabilities. It explains that these variations have the same computational power as standard Turing machines and can simulate each other, although simulation may incur slower speeds. Nondeterministic Turing machines in particular accept a string if any possible computation reaches an accepting state.
Este documento fornece uma introdução à programação, incluindo: (1) Uma breve história da programação e da computação, (2) Conceitos básicos como algoritmos, variáveis e tipos de dados, e (3) Estruturas de programação como instruções condicionais e de repetição. O documento também apresenta exemplos de algoritmos em pseudocódigo para auxiliar na compreensão dos conceitos.
Regular expressions are patterns used to match character combinations in strings. They allow concise testing of string properties and manipulation of strings through search, match, and replacement. The document outlines basic regular expression syntax like wildcards, character sets, and flags. It provides examples of using regex to validate input format and extract postal codes and phone numbers through capturing groups. Search finds matches, match returns an array of all matches, and replace substitutes matches using a function.
O documento discute laços de repetição em C++. Ele explica que laços permitem executar um trecho de código repetidamente até que uma condição seja satisfeita e apresenta os três tipos de laços em C++: for, while e do while. O documento também fornece exemplos de quando cada laço deve ser usado e exercícios para praticar.
Este documento discute a natureza da ciência da computação. Ele descreve como a ciência da computação lida com informações e seus processamentos de maneiras que não são diretamente governadas por leis físicas, tornando-a diferente de outras ciências. A ciência da computação também se destaca por lidar com fenômenos em escalas imensamente diferentes, desde bits individuais até bilhões de operações por segundo realizadas por máquinas complexas.
This document provides an overview of the pumping lemma for regular languages. It introduces the pumping lemma, which states that if a language L is regular, then there exists a pumping length p such that any string s in L of length at least p can be broken down into sections x, y, z such that xyiz is also in L for all i >= 0. The document then analyzes several example languages to determine whether they are regular or not based on whether the pumping lemma applies to them. It explores languages with patterns like an, anbn, and w1wR.
Este documento apresenta uma introdução à linguagem de programação Python. Ele discute as características e implementações da linguagem, tipos de dados como números, strings e listas, e conceitos como variáveis, funções, orientação a objetos e módulos. O documento é dividido em três partes cobrindo tópicos como apresentação, introdução e detalhes da linguagem.
O documento apresenta 12 exercícios envolvendo vetores em Pascal, incluindo carregar e manipular dados em vetores, calcular estatísticas como média, maior/menor valor, soma, diferença e impressão dos resultados.
This document provides examples of regular expressions to define various formal languages over alphabets like {a,b}. Some examples include regular expressions for languages containing words with a certain number of a's/b's, starting or ending with certain letters, containing/not containing certain substrings, and having prefixes/postfixes. It also gives overviews of how to write regular expressions for common languages like odd-length strings, strings ending in a certain letter, and strings representing mathematical sequences.
This document discusses examples of regular languages and finite automata. It provides regular expressions and finite automata to represent languages over alphabets like {a,b} with certain string properties, such as beginning and ending with the same letter, containing double letters, or having an even number of as and bs. It also discusses equivalent finite automata and finite automata corresponding to finite languages expressed with regular expressions.
1. A finite automaton is defined by a finite set of states, with one start state and some accepting states, an input alphabet, and transitions between states based on the input letters.
2. A word is accepted if it takes the automaton from the start state to an accepting state. The language accepted is the set of all accepted words.
3. There are two approaches to studying finite automata - analyzing an automaton to determine its language, or building an automaton from a given language description.
O documento discute algoritmos e fornece exemplos. Em três frases:
Discutem-se definições e características de algoritmos, como sequências finitas de passos para resolver problemas. Fornecem-se exemplos de algoritmos, como receitas culinárias e troca de lâmpadas. Abordam-se também representações gráficas como fluxogramas para descrever algoritmos.
String matching uses finite automata to effectively search for patterns within text. A finite automaton represents a language as a set of strings and can test if a string matches by running it on the automaton. To perform string matching with a finite automaton, the pattern is represented as states in the automaton. The transition function is computed to define the state transitions for each alphabet symbol. The automaton is run on the text and checks for a transition to the final state to determine if the pattern was found. Real-world applications of finite automata include search engines, text editors, coke machines, and train track switches.
O documento discute computação numérica utilizando máquinas de Turing. Primeiramente, apresenta como máquinas de Turing podem ser usadas para calcular funções numéricas, representando números na fita através de sequências de 1s. Em seguida, mostra exemplos de funções numéricas como sucessor, zero e adição, e como elas podem ser computadas por máquinas de Turing. Por fim, discute como operações sequenciais de funções podem ser representadas por uma única máquina de Turing através da composição de suas partes
O documento descreve o algoritmo SMA* (Simplified Memory-Bounded A*), que é uma variação do algoritmo A* projetada para lidar com restrições de memória. O SMA* explora os nós da fronteira de maneira semelhante ao A*, mas pode esquecer nós antigos para liberar memória quando necessário, garantindo assim que sempre encontre a solução ótima se houver espaço suficiente na memória.
Este documento apresenta os conceitos de minimização de autômatos finitos determinísticos (AFD) em 3 frases:
1) Apresenta os pré-requisitos e o algoritmo de minimização de AFD que identifica estados equivalentes e os unifica para gerar o autômato finito mínimo com o menor número de estados possível;
2) Discutem exemplos para ilustrar a aplicação do algoritmo de minimização, incluindo a construção de uma tabela de estados e marcação dos estados equivalentes;
3) Encerra apresentando
O documento descreve um enigma sobre um prisioneiro preso em uma cela com duas saídas, cada uma vigiada por um guarda, sendo que um guarda sempre diz a verdade e o outro sempre mente. Para descobrir qual a saída correta, o prisioneiro deve fazer uma única pergunta a um dos guardas escolhidos aleatoriamente.
The document describes the properties of regular languages and proves that regular languages are closed under various operations including concatenation, union, intersection, complement, reversal, and Kleene star. It provides examples of constructing non-deterministic finite automata (NFAs) and deterministic finite automata (DFAs) to represent languages that are the result of applying these operations to regular languages. Key steps involved in the constructions of NFAs and DFAs for each operation are outlined.
Regular expressions describe regular languages using three operations: union, concatenation, and Kleene star. They can be defined recursively, where primitive expressions define single symbols and the empty string, and operations combine expressions. Regular expressions generate regular languages, and any regular language can be defined by a regular expression. Converting between regular expressions and finite automata allows regular languages to be represented in different standard forms.
Este documento apresenta os conceitos fundamentais da Máquina de Turing, incluindo:
1) A Máquina de Turing é constituída por uma fita, unidade de controle e função de transição.
2) A função de transição define o novo estado, símbolo a ser gravado e sentido de movimento da cabeça da fita.
3) Uma Máquina de Turing pode ser usada para reconhecer linguagens, aceitando ou rejeitando palavras de entrada.
This document discusses variations of the standard Turing machine model, including machines with stay-option, semi-infinite tape, offline, multitape, multidimensional, and nondeterministic capabilities. It explains that these variations have the same computational power as standard Turing machines and can simulate each other, although simulation may incur slower speeds. Nondeterministic Turing machines in particular accept a string if any possible computation reaches an accepting state.
Este documento fornece uma introdução à programação, incluindo: (1) Uma breve história da programação e da computação, (2) Conceitos básicos como algoritmos, variáveis e tipos de dados, e (3) Estruturas de programação como instruções condicionais e de repetição. O documento também apresenta exemplos de algoritmos em pseudocódigo para auxiliar na compreensão dos conceitos.
Regular expressions are patterns used to match character combinations in strings. They allow concise testing of string properties and manipulation of strings through search, match, and replacement. The document outlines basic regular expression syntax like wildcards, character sets, and flags. It provides examples of using regex to validate input format and extract postal codes and phone numbers through capturing groups. Search finds matches, match returns an array of all matches, and replace substitutes matches using a function.
O documento discute laços de repetição em C++. Ele explica que laços permitem executar um trecho de código repetidamente até que uma condição seja satisfeita e apresenta os três tipos de laços em C++: for, while e do while. O documento também fornece exemplos de quando cada laço deve ser usado e exercícios para praticar.
Este documento discute a natureza da ciência da computação. Ele descreve como a ciência da computação lida com informações e seus processamentos de maneiras que não são diretamente governadas por leis físicas, tornando-a diferente de outras ciências. A ciência da computação também se destaca por lidar com fenômenos em escalas imensamente diferentes, desde bits individuais até bilhões de operações por segundo realizadas por máquinas complexas.
This document provides an overview of the pumping lemma for regular languages. It introduces the pumping lemma, which states that if a language L is regular, then there exists a pumping length p such that any string s in L of length at least p can be broken down into sections x, y, z such that xyiz is also in L for all i >= 0. The document then analyzes several example languages to determine whether they are regular or not based on whether the pumping lemma applies to them. It explores languages with patterns like an, anbn, and w1wR.
Este documento apresenta uma introdução à linguagem de programação Python. Ele discute as características e implementações da linguagem, tipos de dados como números, strings e listas, e conceitos como variáveis, funções, orientação a objetos e módulos. O documento é dividido em três partes cobrindo tópicos como apresentação, introdução e detalhes da linguagem.
O documento apresenta 12 exercícios envolvendo vetores em Pascal, incluindo carregar e manipular dados em vetores, calcular estatísticas como média, maior/menor valor, soma, diferença e impressão dos resultados.
This document provides examples of regular expressions to define various formal languages over alphabets like {a,b}. Some examples include regular expressions for languages containing words with a certain number of a's/b's, starting or ending with certain letters, containing/not containing certain substrings, and having prefixes/postfixes. It also gives overviews of how to write regular expressions for common languages like odd-length strings, strings ending in a certain letter, and strings representing mathematical sequences.
This document discusses examples of regular languages and finite automata. It provides regular expressions and finite automata to represent languages over alphabets like {a,b} with certain string properties, such as beginning and ending with the same letter, containing double letters, or having an even number of as and bs. It also discusses equivalent finite automata and finite automata corresponding to finite languages expressed with regular expressions.
1. A finite automaton is defined by a finite set of states, with one start state and some accepting states, an input alphabet, and transitions between states based on the input letters.
2. A word is accepted if it takes the automaton from the start state to an accepting state. The language accepted is the set of all accepted words.
3. There are two approaches to studying finite automata - analyzing an automaton to determine its language, or building an automaton from a given language description.
O documento discute algoritmos e fornece exemplos. Em três frases:
Discutem-se definições e características de algoritmos, como sequências finitas de passos para resolver problemas. Fornecem-se exemplos de algoritmos, como receitas culinárias e troca de lâmpadas. Abordam-se também representações gráficas como fluxogramas para descrever algoritmos.
String matching uses finite automata to effectively search for patterns within text. A finite automaton represents a language as a set of strings and can test if a string matches by running it on the automaton. To perform string matching with a finite automaton, the pattern is represented as states in the automaton. The transition function is computed to define the state transitions for each alphabet symbol. The automaton is run on the text and checks for a transition to the final state to determine if the pattern was found. Real-world applications of finite automata include search engines, text editors, coke machines, and train track switches.
O documento discute computação numérica utilizando máquinas de Turing. Primeiramente, apresenta como máquinas de Turing podem ser usadas para calcular funções numéricas, representando números na fita através de sequências de 1s. Em seguida, mostra exemplos de funções numéricas como sucessor, zero e adição, e como elas podem ser computadas por máquinas de Turing. Por fim, discute como operações sequenciais de funções podem ser representadas por uma única máquina de Turing através da composição de suas partes
O documento descreve o algoritmo SMA* (Simplified Memory-Bounded A*), que é uma variação do algoritmo A* projetada para lidar com restrições de memória. O SMA* explora os nós da fronteira de maneira semelhante ao A*, mas pode esquecer nós antigos para liberar memória quando necessário, garantindo assim que sempre encontre a solução ótima se houver espaço suficiente na memória.
Apresentação sobre o algoritmo de ordenação Counting Sort, apresentada no 2º semestre de 2014, como um dos requisitos da disciplina de Projeto e Análise de Algoritmos, no Mestrado em Ciência da Computação, pela Universidade Federal de Lavras (UFLA). Disciplina ministrada pelo professor Dr. Sanderson L. Gonzaga de Oliveira.
Este documento fornece um guia sobre startups. Ele discute definições de startups e requisitos iniciais, ideias e problemas, desenvolvimento do produto, e gerenciamento do produto. O guia oferece conselhos sobre entendendo o problema, desenvolvendo rapidamente, recebendo feedback, atraindo visitantes e ganhando dinheiro.
1) O documento apresenta algoritmos aproximativos para problemas NP-difíceis como cobertura de vértices, caixeiro viajante e soma de subconjuntos;
2) Para o problema de cobertura de vértices é apresentado um algoritmo 2-aproximativo de tempo polinomial;
3) Para o problema do caixeiro viajante é apresentado um algoritmo que constrói um ciclo hamiltoniano a partir de uma árvore geradora mínima, garantindo que o comprimento do ciclo seja no máximo o comprimento do ciclo ótimo
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
O documento discute transações e controle de concorrência em bancos de dados. Explica o que são transações, suas propriedades ACID e estados. Também aborda o controle de concorrência, escalonamento serializável, bloqueios, e problemas clássicos como atualização perdida e leitura suja.
1. O documento discute gramáticas e linguagens formais, apresentando conceitos como gramáticas, derivações, linguagens geradas e a hierarquia de Chomsky.
2. Gramáticas são definidas formalmente como um conjunto de regras que geram palavras de uma linguagem. Gramáticas regulares possuem restrições em suas regras de produção.
3. A hierarquia de Chomsky classifica gramáticas de acordo com restrições em suas regras, indo de gramáticas regulares a sensíveis a contexto e recursivamente enumeráveis.
O documento discute a teoria dos conjuntos, definindo conjuntos, operações em conjuntos e relações entre conjuntos. Aborda conjuntos finitos e infinitos, enumeráveis e não enumeráveis.
O documento resume os principais conceitos da Teoria dos Conjuntos, incluindo: (1) definições de conjunto, elementos, igualdade e relações entre conjuntos; (2) operações básicas em conjuntos como união, interseção e complemento; (3) identidades envolvendo operações em conjuntos; (4) tipos de conjuntos como contáveis e não contáveis.
Uma breve aula sobre teoria dos conjuntos, aula que ministro para alunos de ENEM, concursos militares e matemática para negócios. Visite nosso site e conheça mais a Coens Cursos e Concursos.
O documento apresenta uma introdução às expressões regulares, definindo o que são, sua história e representação formal. Explica os principais metacaracteres e quantificadores utilizados, assim como âncoras, grupos e outras funcionalidades. Por fim, fornece dicas de uso e links para recursos adicionais sobre o tema.
Este documento define os conceitos básicos de gramáticas formais, incluindo: (1) as quatro classes de gramáticas na hierarquia de Chomsky - gramáticas irrestritas, sensíveis ao contexto, livres de contexto e regulares; (2) as linguagens geradas por cada tipo de gramática; e (3) exemplos ilustrativos de cada tipo de gramática.
O documento descreve uma apostila sobre linguagens livres de contexto. A apostila apresenta objetivos de estudar linguagens livres de contexto, gramáticas livres de contexto e autômatos com pilha. O conteúdo inclui introdução a esses tópicos, gramáticas livres de contexto, árvores de derivação, ambiguidade, simplificação de gramáticas livres de contexto e propriedades dessas linguagens.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
16. Gramáticas Regulares
G = ({S, A}, {a, b}, P, S)
S ⟶ aA
A ⟶ baA | λ
L = { a(ba)* }
(aba, ababa, abababa)
17. Gramáticas Regulares
G = ({S, A}, {a, b}, P, S)
S ⟶ aA
A ⟶ baA | λ
L = { a(ba)* }
(aba, ababa, abababa)
L = { (a + b)*(aa + bb) }
(aa, bb, aaa, abaa)
18. Gramáticas Regulares
G = ({S, A}, {a, b}, P, S)
S ⟶ aA
A ⟶ baA | λ
L = { a(ba)* }
(aba, ababa, abababa)
G = ({S, A}, {a, b}, P, S)
S ⟶ Aaa | Abbe
A ⟶ Aa | Ab | λ
L = { (a + b)*(aa + bb) }
(aa, bb, aaa, abaa)
32. Gramáticas Livres de Contexto
L = { anbn | n ≥ 0 }
(ab, aabb, aaabbb)
G = ({S}, {a, b}, P, S)
S ⟶ aSb
S ⟶ λ
33. Gramáticas Livres de Contexto
L = { anbn | n ≥ 0 }
(ab, aabb, aaabbb)
G = ({S}, {a, b}, P, S)
S ⟶ aSb
S ⟶ λ
L = Expressões aritméticas
( x + x, x + x * x, x * [x + x] )
34. Gramáticas Livres de Contexto
G = ({E}, {+, *, [, ], x}, P, E)
E ⟶ E + E | E * E | [E] | x
L = { anbn | n ≥ 0 }
(ab, aabb, aaabbb)
G = ({S}, {a, b}, P, S)
S ⟶ aSb
S ⟶ λ
L = Expressões aritméticas
( x + x, x + x * x, x * [x + x] )
36. Autômatos com Pilha
• L = { anbn | n ≥ 0 }
S qf
B
(a, λ, B)
(b, B, λ)
(b, B, λ)
(λ, λ, λ) (λ, λ, λ)
37. Autômatos com Pilha
• L = { anbn | n ≥ 0 }
a a b b
a b b a
Exemplos:
S qf
B
(a, λ, B)
(b, B, λ)
(b, B, λ)
(λ, λ, λ) (λ, λ, λ)
38. Autômatos com Pilha
• L = { anbn | n ≥ 0 }
a a b b ✓ Aceita
a b b a
Exemplos:
S qf
B
(a, λ, B)
(b, B, λ)
(b, B, λ)
(λ, λ, λ) (λ, λ, λ)
39. Autômatos com Pilha
• L = { anbn | n ≥ 0 }
x Não aceita
a a b b ✓ Aceita
a b b a
Exemplos:
S qf
B
(a, λ, B)
(b, B, λ)
(b, B, λ)
(λ, λ, λ) (λ, λ, λ)
51. Gramáticas Irrestritas
• G = ({S, T, A, B}, {a, b [, ]}, P, S)
S ⟶ aT[a] | bT[b] Ba ⟶ aB
T[ ⟶ aT[A | bT[B | [ Bb ⟶ bB
Aa ⟶ aA A] ⟶ a]
Ab ⟶ bA B] ⟶ b]
L = { u[u] | u ϵ {a, b}* }
( aa[aa], baba[baba] )
53. Máquina de Turing
• L ={ anbncn | n ≥ 0 }
qf
q0
(B, B, ➞)
q1 q3 q4
q5
q2
(a, X, ➞) (b, Y, ➞)
(a, a, ➞)
(Y, Y, ➞)
(b, b, ➞)
(Z, Z, ➞)
(c, Z,←)
(a, a, ←)
(b, b, ←)
(Y, Y, ←)
(Z, Z, ←)
(X, X, ➞)
(Z, Z, ➞)
(Y, Y, ➞)
(Y, Y, ➞)
(B, B, ➞)
(B, B, ➞)
B B B … B
54. Máquina de Turing
• L ={ anbncn | n ≥ 0 } a a b b c c
a b b a c c
Exemplos:
qf
q0
(B, B, ➞)
q1 q3 q4
q5
q2
(a, X, ➞) (b, Y, ➞)
(a, a, ➞)
(Y, Y, ➞)
(b, b, ➞)
(Z, Z, ➞)
(c, Z,←)
(a, a, ←)
(b, b, ←)
(Y, Y, ←)
(Z, Z, ←)
(X, X, ➞)
(Z, Z, ➞)
(Y, Y, ➞)
(Y, Y, ➞)
(B, B, ➞)
(B, B, ➞)
B B B … B
55. Máquina de Turing
• L ={ anbncn | n ≥ 0 } a a b b c c
a b b a c c
Exemplos:
✓ Aceita
qf
q0
(B, B, ➞)
q1 q3 q4
q5
q2
(a, X, ➞) (b, Y, ➞)
(a, a, ➞)
(Y, Y, ➞)
(b, b, ➞)
(Z, Z, ➞)
(c, Z,←)
(a, a, ←)
(b, b, ←)
(Y, Y, ←)
(Z, Z, ←)
(X, X, ➞)
(Z, Z, ➞)
(Y, Y, ➞)
(Y, Y, ➞)
(B, B, ➞)
(B, B, ➞)
B B B … B
56. Máquina de Turing
• L ={ anbncn | n ≥ 0 } a a b b c c
a b b a c c
Exemplos:
x Não aceita
✓ Aceita
qf
q0
(B, B, ➞)
q1 q3 q4
q5
q2
(a, X, ➞) (b, Y, ➞)
(a, a, ➞)
(Y, Y, ➞)
(b, b, ➞)
(Z, Z, ➞)
(c, Z,←)
(a, a, ←)
(b, b, ←)
(Y, Y, ←)
(Z, Z, ←)
(X, X, ➞)
(Z, Z, ➞)
(Y, Y, ➞)
(Y, Y, ➞)
(B, B, ➞)
(B, B, ➞)
B B B … B
58. Linguagens Recursivamente Enumeráveis (0)
Linguagens Sensíveis ao Contexto (1)
Hierarquia de Chomsky
Linguagens Livre de Contexto (2)
Linguagens Regulares (3)
59. Linguagens Sensíveis
ao Contexto!
• Linguagens: Linguagens Sensíveis ao Contexto
• Gramáticas: Gramáticas Sensíveis ao Contexto
• Reconhecedores: M. de Turing com fita limitada
60. !
L = { anbncn | n > 0 }
abc, aaabbbccc, aabbcc
!
L = { ww | w ϵ {a, b}* }
aa, aabb, abaaba
Linguagens Sensíveis
ao Contexto
61. Gramáticas Sensíveis ao Contexto
G = (V, T, P, S)
!
Regras de Produção:
u ⟶ w
Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*, e |u| ≤ |w|.
62. Gramáticas Sensíveis ao Contexto
G = (V, T, P, S)
!
Regras de Produção:
u ⟶ w
Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*, e |u| ≤ |w|.
Exemplos:
A ⟶ aAb
Cc ⟶ aAc
Aa ⟶ bB
B ⟶ λ
65. Gramáticas Sensíveis ao Contexto
G = ({S, A, C}, {a, b, c}, P, S)
S ⟶ aAbc | abc
A ⟶ aAbC | λ
Cb ⟶ bC
Cc ⟶ cc
L = { anbncn | n > 0 }
(abc, aabbcc, aaabbbccc)
73. Referências
• MENEZES, P. B. Linguagens formais e
autômatos. 4 ed. Sagra-Dcluzzato, 1998.
• SUDKAMP, T. A. Languages and Machines: An
Introduction to the Theory of Computer Science
(3rd Edition). Boston, MA, USA: Addison-
Wesley Longman Publishing Co., Inc., 2005.
ISBN 0321322215.