Página substituída por '1 Conceito 2 Linguagens Formais 2.1 Gramáticas 2.1.1 Alfabetos 2.1.2 Palavras ou cadeias 3 Referências' |
Estou editando o trabalho ainda a concluir Etiqueta: visualeditor |
||
| Linha 5: | Linha 5: | ||
2.1.2 Palavras ou cadeias | 2.1.2 Palavras ou cadeias | ||
3 Referências | 3 Referências | ||
1. | |||
'''Conceito''' | |||
A Teoria da Computação é um ramo de estudo, | |||
tanto da computação teórica quanto da matemática, que lida com problemas que | |||
possam ser computados. Segundo Sipser (1997. p. 63) “Estudando esse assunto | |||
buscamos determinar o que se pode e o que não pode ser computado, quão | |||
rapidamente, com quanto de memória, e sobre que tipo de modelo computacional. O | |||
assunto tem conexões óbvias com a prática da engenharia, e, como em muitas | |||
ciências, ele também tem aspectos puramente filosóficos”. | |||
Seu conceito teve início nos primeiros anos | |||
do século XX. Vale ressaltar o trabalho do matemático alemão David Hilbert, | |||
que, dentre os 23 problemas propostos por ele em 1900, o décimo buscava uma | |||
solução através de processos e um certo número finito de operações. Consensualmente | |||
no meio acadêmico, o que Hilbert buscava era uma solução através de um | |||
algoritmo. | |||
Mas foi em 1936 que, de modo independente, | |||
Alonzo Church e Alan Turing conseguiram, com um êxito inigualável até então, | |||
uma tese que estabelecesse a extensão e os limites da computação abstrata e | |||
definisse com mais clareza a definição de algoritmo. A tese de Church-Turing | |||
pode ser enunciada como: | |||
''“Todo processo efetivo pode ser efetuado por | |||
uma máquina de Turing”.'' | |||
Segundo Zimbarg (1987), essas máquinas | |||
materializam o arquétipo de um computador ideal. Consiste em uma fita | |||
infinitamente prolongável, dividida em espaços iguais, onde pode ser impressos | |||
ou apagados signos de um alfabeto finito. Com a máquina focalizando apenas um | |||
espaço por vez ela teria a autonomia de imprimir ou apagar, ir para à esquerda | |||
ou à direita do espaço enfocado e mudar instruções de seu funcionamento. Tudo | |||
isso sendo realizado através de um conjunto finito de instruções estabelecido | |||
anteriormente, trazendo à luz o conceito de programação, algoritmos, memória, e | |||
tantos outros conceitos que definem a teoria da Computação contemporânea. | |||
2. | |||
'''Linguagens Formais''' | |||
Como vimos na seção | |||
anterior a ''Tese de Church-Turing'' | |||
estabeleceu os parâmetros e conceitos de termos utilizados hoje em teoria da | |||
Computação. Segundo a tese o algoritmo produz resultados somente em um número | |||
finito de passos, com um conjunto finitos de instruções simples e precisas, e | |||
com um número finito de símbolos. Para que isso se torne prático é essencial | |||
definir quais os símbolos serão utilizados no alfabeto, como os colocar à | |||
disposição, como será a interpretação do conjunto desses símbolos, entre outros | |||
aspectos. O estudo desse ramo da Teoria da Computação é definido como Teoria | |||
das Linguagens Formais e dos Autômatos. A Máquina de Turing é exemplo um | |||
autômato, sendo um interpretador de determinada linguagem e transformando-a em | |||
instrução. | |||
Linguagens Formais são representadas de | |||
maneira finita e precisa. Seu sistema sempre é derivado de um modelo | |||
matemático. Esses modelos são necessários para que se classifique suas | |||
estruturas, características e relacionamentos entre si. Um modelo matemático | |||
conciso para a Teoria das Linguagens Formais deve fundamentar tanto aspectos | |||
teóricos: decidibilidade, complexidade computacional, computabilidades, como | |||
nas próprias aplicações (processamento de linguagens, reconhecimento de | |||
padrões, sistemas, etc). O conjunto de regras que vão produzir e especificar | |||
determinada linguagem dá-se o nome de Gramática. | |||
2.1 Gramática | |||
Como vimos | |||
acima, uma gramática define a representação de determinada linguagem. Em uma | |||
definição formal ela é formada de quatro elementos, a saber; '''G = (Vn, Vt, P, S)'''. | |||
Onde: | |||
'''Vn –''' são | |||
as categorias sintáticas ou gramaticais; | |||
'''Vt –''' são as | |||
palavras utilizadas como símbolos da linguagem; | |||
'''P –''' são as regras | |||
sintáticas (ou gramaticais); | |||
'''S''' - é a | |||
categoria gramatical que sintetiza o que será produzido (gerado) pela gramática. | |||
Formalizando a língua portuguesa teremos: | |||
'''Vn''' = { | |||
<sentença> , <sujeito> , <predicado> , <substantivo> , | |||
<artigo> , <adjetivo> | |||
, <predicado> , <verbo> , <objeto> } | |||
'''Vt''' = { joão, | |||
maria , cachorro, livro , pão, o , a , pequeno, bom , bela , morde , le , olha | |||
} | |||
'''P''' = é o | |||
conjunto das regras gramaticais apresentado | |||
'''S''' = | |||
<sentença> | |||
Em 1956, o linguista estadunidense | |||
Noam Chomsky, em seu trabalho ''Syntatic | |||
Structures,'' classificou as gramáticas formais em 4 níveis, sendo os dois | |||
últimos (níveis 2 e 3) muito utilizados em linguagem de programação. | |||
Os tipos de gramáticas seguindo | |||
a Hierarquia de Chomsky são: | |||
'''''Gramática Tipo 0: (ou gramática sem restrições, ou enumerável)''''' | |||
'''''Gramática Tipo 1: (ou Gramática Sensível ao Contexto – G.S.C.)''''' | |||
'''''Gramática Tipo 2: (ou Gramática Livre de Contexto – G.L.C.)''''' | |||
'''''Gramática Tipo 3: (ou Gramática Regular – G.R.)''''' | |||
A Gramática do tipo 0 não há | |||
restrições. Geram linguagens infinitas que podem ser enumeradas. | |||
2 Linguagens Formais 2.1 Gramáticas | |||
2.1.1 Alfabetos 2.1.2 Palavras ou cadeias 3 Referências | |||
Edição das 02h46min de 6 de junho de 2017
1 Conceito 2 Linguagens Formais 2.1 Gramáticas 2.1.1 Alfabetos 2.1.2 Palavras ou cadeias 3 Referências
1. Conceito
A Teoria da Computação é um ramo de estudo, tanto da computação teórica quanto da matemática, que lida com problemas que possam ser computados. Segundo Sipser (1997. p. 63) “Estudando esse assunto buscamos determinar o que se pode e o que não pode ser computado, quão rapidamente, com quanto de memória, e sobre que tipo de modelo computacional. O assunto tem conexões óbvias com a prática da engenharia, e, como em muitas ciências, ele também tem aspectos puramente filosóficos”.
Seu conceito teve início nos primeiros anos do século XX. Vale ressaltar o trabalho do matemático alemão David Hilbert, que, dentre os 23 problemas propostos por ele em 1900, o décimo buscava uma solução através de processos e um certo número finito de operações. Consensualmente no meio acadêmico, o que Hilbert buscava era uma solução através de um algoritmo.
Mas foi em 1936 que, de modo independente, Alonzo Church e Alan Turing conseguiram, com um êxito inigualável até então, uma tese que estabelecesse a extensão e os limites da computação abstrata e definisse com mais clareza a definição de algoritmo. A tese de Church-Turing pode ser enunciada como:
“Todo processo efetivo pode ser efetuado por uma máquina de Turing”.
Segundo Zimbarg (1987), essas máquinas materializam o arquétipo de um computador ideal. Consiste em uma fita infinitamente prolongável, dividida em espaços iguais, onde pode ser impressos ou apagados signos de um alfabeto finito. Com a máquina focalizando apenas um espaço por vez ela teria a autonomia de imprimir ou apagar, ir para à esquerda ou à direita do espaço enfocado e mudar instruções de seu funcionamento. Tudo isso sendo realizado através de um conjunto finito de instruções estabelecido anteriormente, trazendo à luz o conceito de programação, algoritmos, memória, e tantos outros conceitos que definem a teoria da Computação contemporânea.
2. Linguagens Formais
Como vimos na seção anterior a Tese de Church-Turing estabeleceu os parâmetros e conceitos de termos utilizados hoje em teoria da Computação. Segundo a tese o algoritmo produz resultados somente em um número finito de passos, com um conjunto finitos de instruções simples e precisas, e com um número finito de símbolos. Para que isso se torne prático é essencial definir quais os símbolos serão utilizados no alfabeto, como os colocar à disposição, como será a interpretação do conjunto desses símbolos, entre outros aspectos. O estudo desse ramo da Teoria da Computação é definido como Teoria das Linguagens Formais e dos Autômatos. A Máquina de Turing é exemplo um autômato, sendo um interpretador de determinada linguagem e transformando-a em instrução.
Linguagens Formais são representadas de maneira finita e precisa. Seu sistema sempre é derivado de um modelo matemático. Esses modelos são necessários para que se classifique suas estruturas, características e relacionamentos entre si. Um modelo matemático conciso para a Teoria das Linguagens Formais deve fundamentar tanto aspectos teóricos: decidibilidade, complexidade computacional, computabilidades, como nas próprias aplicações (processamento de linguagens, reconhecimento de padrões, sistemas, etc). O conjunto de regras que vão produzir e especificar determinada linguagem dá-se o nome de Gramática.
2.1 Gramática
Como vimos acima, uma gramática define a representação de determinada linguagem. Em uma definição formal ela é formada de quatro elementos, a saber; G = (Vn, Vt, P, S).
Onde:
Vn – são as categorias sintáticas ou gramaticais;
Vt – são as palavras utilizadas como símbolos da linguagem;
P – são as regras sintáticas (ou gramaticais);
S - é a categoria gramatical que sintetiza o que será produzido (gerado) pela gramática.
Formalizando a língua portuguesa teremos:
Vn = { <sentença> , <sujeito> , <predicado> , <substantivo> ,
<artigo> , <adjetivo> , <predicado> , <verbo> , <objeto> }
Vt = { joão, maria , cachorro, livro , pão, o , a , pequeno, bom , bela , morde , le , olha }
P = é o conjunto das regras gramaticais apresentado
S = <sentença>
Em 1956, o linguista estadunidense Noam Chomsky, em seu trabalho Syntatic Structures, classificou as gramáticas formais em 4 níveis, sendo os dois últimos (níveis 2 e 3) muito utilizados em linguagem de programação.
Os tipos de gramáticas seguindo a Hierarquia de Chomsky são:
Gramática Tipo 0: (ou gramática sem restrições, ou enumerável)
Gramática Tipo 1: (ou Gramática Sensível ao Contexto – G.S.C.)
Gramática Tipo 2: (ou Gramática Livre de Contexto – G.L.C.)
Gramática Tipo 3: (ou Gramática Regular – G.R.)
A Gramática do tipo 0 não há restrições. Geram linguagens infinitas que podem ser enumeradas.
2 Linguagens Formais 2.1 Gramáticas 2.1.1 Alfabetos 2.1.2 Palavras ou cadeias 3 Referências