Você está na página 1de 40

INTRODUÇÃO ÀS

LINGUAGENS FORMAIS

DANIELA REIS
Sumário
INTRODUÇÃO������������������������������������������������� 3

AS LINGUAGENS FORMAIS��������������������������� 4

CONJUNTOS, RELAÇÕES E FUNÇÕES��������� 14

GRAMÁTICA DE CHOMSKY������������������������� 27

CONSIDERAÇÕES FINAIS���������������������������� 36

REFERÊNCIAS BIBLIOGRÁFICAS &


CONSULTADAS�������������������������������������������� 38

2
INTRODUÇÃO
Neste e-book, estudaremos os conceitos funda-
mentais sobre as linguagens formais.

Conheceremos os fundamentos necessários para


entender sobre as linguagens formais, apresentando
o contexto formado pelas linguagens formais, a
hierarquia de Chomsky, além de outras definições
preliminares e exemplos.

Analisaremos também os conjuntos, relações e


funções, por meio de definições e exemplos dos
temas abordados.

Bons estudos!

3
AS LINGUAGENS FORMAIS
Em nosso processo de comunicação, somos capa-
zes de realizar trocas de conhecimentos, crenças,
opiniões e informações de diversas outras nature-
zas. Nossas expressões faciais e corporais podem
representar diversos sentimentos, dependendo da
situação na qual nos encontramos. Assim, podemos
considerar a linguagem como nosso sistema de
comunicação mais básico.

O primeiro passo para compreendermos nossa


linguagem é considerarmos que se trata de um
sistema de comunicação baseado em palavras e
na combinação de palavras em frases, que apren-
demos desde crianças com nossas famílias e na
escola, por exemplo.

A comunicação que se dá por meio dessa linguagem


pode ser chamada de comunicação linguística.
Outras formas de comunicação, como por meio
de gestos, sorrisos, e até mesmo gritos, são con-
siderados tipos de comunicação não linguística.

Uma língua pode ser entendida como um siste-


ma adequado para expressar ideias, conceitos e
fatos. Tendo em vista a formalização da noção de
linguagem, devemos cobrir todas as variedades de
linguagens, como as linguagens naturais (as dos

4
seres humanos) e as linguagens de programação
(as usadas para interação com máquinas).

Assim, ao considerarmos uma língua como um


roteiro, podemos observar que uma palavra é uma
sequência de símbolos de um alfabeto que emite
um significado.

Quando tratamos da aprendizagem formal de uma


língua, podemos considerar, de modo simplificado,
que ela ocorre em três etapas: aprender o alfabeto,
aprender as palavras e aprender como formar frases
com as palavras. Dessas três etapas, a terceira é
considerada a mais difícil.

As duas primeiras etapas, que consistem no


aprendizado de símbolos do alfabeto e nas pala-
vras formadas com eles, mostram que uma frase
ou uma palavra pode ser usada de forma inter-
cambiável para uma sequência de símbolos de
um alfabeto, que é formado pelas letras de uma
língua, dispostas na ordem fixada pelo costume. O
princípio básico da escrita alfabética é representar
um som, ou fonema, de uma língua falada por um
símbolo, a letra.

É com esta ideia inicial que podemos ter noções


básicas de alfabetos, abrindo caminho formalmente
para uma noção mais avançada de linguagem.

5
Em suma, qualquer linguagem é um meio estruturado
de comunicação, seja uma linguagem natural falada
ou escrita, uma linguagem de sinais ou codificada,
ou uma linguagem de programação formal.

As línguas são caracterizadas por dois elementos


básicos, que são sintaxe, as regras gramaticais, e
semântica, o significado. Em algumas línguas, o
significado pode variar dependendo de um terceiro
fator, o contexto de uso.

Além do uso para comunicação que damos às


linguagens, também podemos observar sua apli-
cação para interação com computadores. Este tipo
de interação se dá por meio do uso de um teclado
e obedece a uma sintaxe particular.

O tipo de linguagem que usamos para nos comu-


nicarmos com computadores são as chamadas
linguagens formais e fazemos uso delas sem nem
mesmo notarmos.

É mais fácil de identificarmos o uso de uma lingua-


gem quando estamos programando em Python,
em C++, ou até mesmo quando estamos criando
uma página na web. Porém, ao utilizarmos os sites
de buscas, o processo de autenticação em algum
site de compras ou quando digitamos um endereço
na barra do navegador, também estamos fazendo
uso de linguagens formais.

6
O assunto linguagens formais consiste na forma
padrão de lidar com a definição, caracterização e
validação da comunicação baseada em texto entre
humano e computador, bem como, somente entre
computadores.

As linguagens formais estão presentes em diver-


sos aspectos da ciência da computação teórica
e abre portas para as gramáticas formais, teoria
dos autômatos e complexidade computacional.
Portanto, é necessário entendermos a terminologia
fundamental relacionada às linguagens naturais e
formais. Diferenciá-las é essencial.

Por exemplo: uma linguagem natural falada é o


português, idioma que falamos no Brasil e em
outros países colonizados por Portugal. Enquanto
que JavaScript, PHP, CSS, entre outras são consi-
deradas linguagens formais.

Embora os dois tipos de linguagem sejam diferentes


em diversos aspectos, há, porém, similaridades que
permitem a comparação entre as duas, terminolo-
gicamente falando.

Algumas das características da linguagem natural


são a alta expressividade, o fato de não oferecer
aprendizado extra, a possibilidade de ambiguidade, a
imprecisão, o estilo longo e a consistência difícil de
analisar. Enquanto que a linguagem formal apresenta
sintaxe bem definida, semântica inequívoca, pode

7
ser processada por um computador, proporciona
a solução de grandes problemas, apresenta alto
esforço de aprendizado, demonstra expressividade
limitada, além de ter baixa aceitação.

Considerando tais aspectos, é preciso termos cla-


ro que a sintaxe refere-se ao conjunto de regras,
princípios e processos que governam a estrutura
das sentenças em uma linguagem. Uma descri-
ção básica da sintaxe em uma linguagem natural
é como palavras com funções diferentes, como
sujeito, verbos, substantivos, entre outros, são
organizados em uma frase.

Portanto, sintaxe deve ser considerada o conjun-


to de regras que permite a estruturação de uma
língua. Ou seja, o modo no qual palavras e frases
são organizadas para criar sentenças é chamado
de sintaxe. Por exemplo:

O gato dorme no sofá.

A sentença apresentada pode ser decomposta


em elementos distintos, como palavras e sinais
de pontuação. Cada elemento exerce uma função
específica na frase: “O” é um artigo definido, “gato”
é um substantivo, e “dorme” é um verbo. Além deste
tipo de categorização, com base na gramática do
idioma, é possível aplicarmos níveis mais comple-
xos de análises, quando categorizamos “o gato”
como sujeito e “no sofá” como objeto.

8
Agora, observemos um exemplo de como uma
frase pode ser reorganizada, considerando uma
sintaxe variada:

O menino correu alegremente.

Alegremente, o menino correu.

Ao reorganizar apenas uma palavra na frase,


forma-se outra estrutura, sendo que, no exemplo
apresentado, cada um é uma forma gramatical-
mente correta e aceitável da língua portuguesa.

Assim compreendemos que ao utilizarmos uma


língua, haverá variações da sintaxe de uma frase
para tornar o que se pretende expressar mais in-
teressante ou para enfatizar um ponto específico.
Entretanto, apesar das alterações, palavras e frases
devem seguir as regras de determinado idioma
para um arranjo correto e frases coerentes.

Outra parte do estudo da linguagem é entendermos


os muitos significados de palavras individuais.
Depois de dominar as próprias palavras, o contex-
to entra em jogo. A mesma palavra pode ser dita
para duas pessoas, que podem interpretá-las de
modos diferentes.

Assim, começamos a considerar a semântica em


nossas análises. Ela é o estudo dos significados
da linguagem, examinando uma única palavra, si-
nais ou grupo de texto. A semântica também é um

9
ramo da linguística que estuda como o significado
é construído, comunicado e como o significado
muda com o tempo ou lugar. Na linguística, exis-
tem três tipos de semântica: a semântica formal,
a semântica lexical e a semântica conceitual.

Com a semântica formal, as palavras e o significado


são examinados de um ponto de vista filosófico ou
matemático. Este ramo da semântica desenvolve
modelos para ajudar a determinar a verdade por
trás das palavras, em vez de apenas examinar
exemplos do mundo real.

A semântica lexical é o tipo de semântica mais


comumente conhecido. Este ramo procura o sig-
nificado de palavras individuais considerando o
contexto e o texto que as cerca.

Com a semântica conceitual, a definição do dicio-


nário da palavra é examinada antes que qualquer
contexto seja aplicado. Depois de examinar a de-
finição, o contexto é examinado procurando pala-
vras de conexão, como o significado é atribuído e
como o significado pode mudar com o tempo. Se
a palavra transmite contexto, ela pode ser referida
como um signo na semântica conceitual.

Assim, consideremos a seguir um exemplo de


como a semântica de diferentes palavras pode ser
interpretada pela forma como são usadas.

10
A palavra manga pode ter significados diferentes.
Por exemplo, a frase, “pegue aquela manga da ár-
vore”, descreve uma pessoa solicitando que outra
pegue uma fruta que cresceu e está em uma árvore.
Porém, na sentença “a manga da minha camiseta
está manchada” significa que um pedaço de tecido
que compõe a uma camiseta está manchado, não
se referindo a uma fruta.

Assim, fica claro que compreendermos os conceitos


de sintaxe e semântica na linguística é importante
para entendermos a lógica que existe nas lingua-
gens de programação. Seguindo este caminho de
aprendizado, vamos conhecer um pouco sobre a
hierarquia Chomsky e como ela se relaciona com
as linguagens formais e gramáticas.

Dependendo das restrições e complexidades pre-


sentes na gramática, as línguas encontram um lugar
na hierarquia das línguas formais. Noam Chomsky,
um linguista americano e cientista cognitivo, definiu
essa hierarquia em 1956, que, portanto, é chamada
de Hierarquia Chomsky.

Embora seu conceito seja bastante antigo, há um


interesse renovado por causa de sua relevância
para o Processamento de Linguagem Natural - PLN.

11
SAIBA MAIS

Para saber mais sobre o Processamento de Linguagem


Natural – PLN, assista aos vídeos a seguir:

- O que é Processamento de Linguagem Natural


(NLP)?, disponível em: https://www.youtube.com/
watch?v=Kaz-osMcdxk;

- Processamento de linguagem natural (PLN), disponível


em:

https://youtu.be/Dt2DRQN6uwg.

Em setembro de 1956, Noam Chomsky publicou


três modelos para a descrição da linguagem em
um artigo. No artigo em que foram publicados os
modelos, Chomsky introduziu dois conceitos-cha-
ve, sendo o primeiro a hierarquia de Chomsky de
formas sintáticas, que foi amplamente aplicada na
construção de linguagens de computador artificiais.

A hierarquia de Chomsky coloca as linguagens


regulares (ou lineares) como um subconjunto das
linguagens livres de contexto, que por sua vez estão
embutidas no conjunto de linguagens sensíveis ao
contexto também residindo finalmente no conjunto
de linguagens com estrutura de frase, irrestritas
ou recursivamente enumeráveis, como podemos
observar na figura a seguir:

12
Figura 1: Hierarquia de Chomsky

linguagens com
estrutura de frase

linguagens sensíveis
ao contexto

linguagens livres
de contexto

Linguagens regulares

Fonte: Elaborado pela autora com base em: wikimedia.org

Ao definir a sintaxe como o conjunto de regras que


estabelece relações espaciais entre os símbolos de
uma linguagem, vários níveis da linguagem também
podem ser descritos como unidimensionais (que
são regulares ou lineares), bidimensionais (sem
contexto), tridimensionais (sensível ao contexto)
e relacionamentos multidimensionais (sem restri-
ções). A partir desses primórdios, Chomsky pode
ser tido como o pai das linguagens formais.
O segundo conceito que Chomsky apresentou foi
sua teoria da gramática gerativa transformacional,
que tentou definir regras que podem gerar o número
infinito de sentenças gramaticais (bem formadas)
possíveis em uma linguagem e procura identificar
transformações. Além disso, o linguista tentou
mostrar que tais regem as relações entre partes
de uma frase, na suposição de que sob aspectos
como a ordem das palavras existe uma estrutura
profunda e fundamental.

13
CONJUNTOS, RELAÇÕES E
FUNÇÕES
Conjuntos, relações e funções são conceitos que
integram a teoria dos conjuntos e são ferramen-
tas que auxiliam na realização de operações de
conjuntos lógicos e matemáticos em entidades
matemáticas e do mundo real. Os conjuntos são
responsáveis por distinguir os grupos de certos
tipos de objetos, enquanto as relações e funções
definem um mapa entre dois conjuntos.

Toda a matemática pode ser entendida como o


estudo das relações entre coleções de objetos
por meio de argumentos racionais rigorosos. Na
maioria das vezes, os padrões nessas coleções
e suas relações são mais importantes do que a
natureza dos próprios objetos.

O poder da matemática tem muito a ver com trazer


padrões para o primeiro plano e abstrair a natureza
real dos objetos. Em matemática, as coleções são
geralmente chamadas de conjuntos e os objetos
são chamados de elementos do conjunto.

As funções são o tipo mais comum de relação


entre os conjuntos e seus elementos e os princi-
pais objetos de estudo em análise são as funções
que têm a ver com o conjunto dos números reais.
Portanto, é importante desenvolvermos uma boa

14
compreensão de conjuntos e funções e conhecer-
mos o vocabulário usado para definir conjuntos e
funções ao discutirmos suas propriedades.

A teoria dos conjuntos é a base da matemática


moderna e as noções da teoria dos conjuntos são
usadas em todas as descrições formais. A noção
de conjunto é tomada como indefinida, primitiva
ou básica, assim não definimos o que é um con-
junto, mas podemos dar uma descrição informal
e destacando propriedades importantes deles.
Todas as outras noções de matemática podem
ser construídas com base na noção de conjunto.

Desse modo, um conjunto é uma coleção de obje-


tos que são chamados de membros ou elementos
desse conjunto, ou seja, os conjuntos consistem em
seus elementos. Se temos um conjunto, afirmamos
que alguns objetos pertencem ou não pertencem
a esse conjunto, estão ou não estão no conjunto.

FIQUE ATENTO

Outras palavras semelhantes para conjuntos são: cole-


ção, grupo, agregado.

Podemos considerar alguns exemplos como o


conjunto de alunos em uma sala, nosso alfabeto
pode ser visto como o conjunto de letras utilizados

15
na língua portuguesa, o conjunto dos números
naturais, entre outros.

Assim, notamos que os conjuntos podem consistir


em elementos de várias naturezas, como pessoas,
objetos físicos, números, sinais, etc. Um conjunto é
um objeto abstrato e seus membros não precisam
ser reunidos fisicamente para que constituam um
conjunto.

Os critérios de conjunto devem, em princípio, ser


bem definidos e não vagos. Se temos um conjunto
e um objeto, é possível que não saibamos se esse
objeto pertence ou não ao conjunto, por falta de
informação ou conhecimento. Por exemplo, na afir-
mação “o conjunto de funcionários desta empresa
com mais de 31 anos” consiste em um conjunto
bem definido, mas não fica claro quem está nele.

A informação sobre o que compõem um conjunto


pode ser desconhecida, mas não deve ser vaga.
Se a resposta for vaga para alguma coleção, não
podemos considerar essa coleção como um
conjunto. Se tivermos um conjunto, então, para
quaisquer dois elementos dele, x e y, não deve ser
vago se x=y ou se são diferentes.

Se forem idênticos, então não são realmente dois


elementos dele, o problema realmente surge quando
temos duas descrições de elementos e queremos

16
saber se essas descrições descrevem o mesmo
elemento ou dois elementos diferentes.

Por exemplo, a letra q (minúscula) é a mesma


coisa que a letra Q (maiúscula)? Bem, depende do
conjunto que estamos considerando. Se tomarmos
o conjunto das 26 letras do alfabeto, então q (mi-
núsculo) e Q (maiúsculo) são o mesmo elemento.
Se tomarmos o conjunto de 52 letras, com as
variações maiúsculas e minúsculas do alfabeto,
então q e Q são dois elementos distintos.

Ambos são possíveis, mas temos que deixar claro


de que conjunto estamos tratando para que pos-
samos saber se 𝑞𝑞 = 𝑄𝑄 ou não.

Os conjuntos podem ser finitos ou infinitos, vazios


ou nulos, que não possui nenhum elemento. Além
disso, podem ser vagos, como seria o conjunto de
todos os objetos azuis do mundo ou um conjunto
com apenas um elemento, que é chamado de
unitário.

SAIBA MAIS

Sobre notações de conjuntos, sugerimos os vídeos a


seguir como material complementar a nossa discussão:

- Introdução à Teoria dos Conjuntos, disponível em:


https://www.youtube.com/watch?v=2g0o0lzQin8;

17
- Conjuntos – Matemática, disponível em: https://www.
youtube.com/watch?v=cfKeJhvPDLU;

- União e intersecção de conjuntos – Matemática, dis-


ponível em:

https://www.youtube.com/watch?v=d5CehFUezyQ.

Existem três maneiras principais de especificar


um conjunto. A primeira delas seria listar todos os
seus membros, a notação de lista. A segunda seria
declarando uma propriedade de seus elementos,
a notação predicada. E a terceira seria definindo
um conjunto de regras que gera e define seus
membros, as regras recursivas.

Na notação de lista, a primeira forma é adequada


apenas para conjuntos finitos. Neste caso, lista-
mos os nomes dos elementos de um conjunto,
separando-os por vírgulas e colocando-os entre
chaves. Observemos alguns exemplos a seguir:
y {3, 15, 49}, {Elza Soares, Gal Costa}, {a,c,e,g};
y Com abreviação de três pontos: {1,3, ..., 200};
y O exemplo a seguir não é uma notação de
lista real, não é uma lista finita, mas é uma prática
comum desde que a continuação seja clara: {10,
20, 30, 40, …};
y Às vezes, não é necessário nos preocuparmos
com a ordem dos elementos da lista, pois eles
também podem ser listados várias vezes;

18
y São representações diferentes do mesmo
conjunto: {1, 13, 45}, {13, 1, 45,1} e {45, 13, 45,1}.

Em relação à notação predicada, observemos os


exemplos a seguir:
y {x|x é um número natural e x < 8}. A leitura
desta notação seria: o conjunto de todo x tal que
x é um número natural e é menor que 8;
y {x|x é uma letra do alfabeto japonês};
y {y|y é um estudante da FAM e y tem mais de
35 anos}.

A forma geral dessa notação é: , onde P é algum


predicado, uma condição ou propriedade.

A linguagem para descrever esses predicados


geralmente não é fixada de maneira estrita, mas a
linguagem irrestrita pode resultar em paradoxos.
Além disso, nem tudo o que parece na superfície
como um predicado pode realmente ser conside-
rado uma boa condição definidora de um conjunto.

Em relação às regras recursivas temos, no exemplo


de um conjunto E de números pares maiores que 3:
4 ∈ E
a)

b) se x ∈ E , então x + 2 ∈ E

c) nada mais pertence a E.

19
A primeira regra é a base de recursão, a segunda
gera novos elementos a partir dos elementos de-
finidos anteriormente e a terceira regra restringe
o conjunto definido aos elementos gerados pelas
regras a e b. A terceira regra deve estar sempre
presente. Às vezes, na prática, ela é implícita, mas
é aconselhável, que os iniciantes a mantenham
explícita.

Em relação à identidade e cardinalidade, dois


conjuntos são idênticos se, e somente se, ambos
tiverem exatamente os mesmos elementos.

Então A = B se para cada x, x ∈ A ⇔ x ∈ B . Por exemplo:

{0, 2, 4} = {x|x é um número natural par menor que 5}

Da definição de identidade segue-se que existe


apenas um conjunto de sua identidade que é total-
mente determinada pela ausência de elementos.

FIQUE ATENTO

Geralmente, a notação de lista vazia { } não é usada


para o conjuntos vazio, temos um símbolo especial
para isso: Ø.

O número de elementos em um conjunto A é


chamado de cardinalidade de A, escrito |A|. A
cardinalidade de um conjunto finito é um número

20
natural. Porém, ainda que conjuntos infinitos tam-
bém possuam cardinalidades, os números não são
números naturais.

Agora que sabemos sobre os conjuntos e outros


conceitos relacionados a eles, é preciso debater-
mos sobre as relações e funções.

A relação é sempre estudada entre dois conjuntos.


Se tivermos dois conjuntos não nulos (nulos/va-
zios) A e B, então a relação R do conjunto A para
o conjunto B é representada por aRb, onde a é o
conjunto de elementos pertencentes ao conjunto
A, enquanto b pertence ao conjunto B.

A relação de um conjunto A para um conjunto B


é o subconjunto do produto cartesiano de A e B,
ou seja, subconjunto de A x B. A relação de outra
forma também pode ser definida como uma cole-
ção de pares ordenados (a, b), em que a pertence
aos elementos do conjunto A e b do conjunto B e
a relação é de A para B, mas não vice-versa. Ana-
lisemos um exemplo:

Consideremos um conjunto A contendo elementos


como {1, 2, 3} e o conjunto B contendo elementos
como {2, 4, 6}. Então a relação entre o Conjunto A
e B de A para B será definida a partir de quaisquer
combinações do Conjunto A para o conjunto B.

21
Analisemos também a figura a seguir com outro
exemplo de relações:

Figura 2: Relações
X Y

Dani Batata

Miguel Sanduíche

Luíz Atum

Rebeca Sorvete

Fonte: Adaptado de wikimedia.org

No diagrama apresentado, verificamos que a relação


de X para Y, ou seja, R (relação) será definida como
{(Dani, Batata), (Miguel, Batata), (Luíz, Atum), (Re-
beca, Sanduíche)}. Esta relação é um subconjunto
do produto cartesiano de dois conjuntos X e Y.

SAIBA MAIS

Para conhecer outros aspectos sobre relações, assista


aos vídeos a seguir:

- Domínio e imagem de uma relação – Matemática,


disponível em:

https://www.youtube.com/watch?v=bG4qZp-k08o;

- Relações e funções – Matemática, disponível em:

https://www.youtube.com/watch?v=Ixb7DMy01_A&t=31s.

22
Relações também podem ser definidas como
operações lineares entre os elementos de dois
conjuntos, de acordo com alguma regra definida
de relação:

R= {(a, b) | (a, b) ∈ A x B e a R b}
Por exemplo:

A é {2, 3, 5}

B é {1, 4, 9, 25, 30}


𝑺𝑺𝑺𝑺 𝒂𝒂 𝑹𝑹 𝒃𝒃 → 𝒃𝒃 é 𝒐𝒐 𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒𝒒 𝒅𝒅𝒅𝒅 𝒂𝒂

Assim, os elementos discretos da relação são {(2,


4), (3, 9). (5, 25)}.

A partir de tais análises, podemos discutir sobre


as funções.

Funções são a classe especial de relação ou po-


demos dizer que tipos especiais de relações são
chamados de funções.

A função é um dos conceitos mais importantes da


matemática, pois todas as situações da vida real
são resolvidas e analisadas primeiro escrevendo
sua equação ou função matemática.

Uma função é como uma máquina que fornece uma


saída única para cada entrada que é alimentada
nela, considerando que toda máquina é projetada
para certas entradas definidas, como uma máquina

23
de lavar é projetada para lavar roupas e não para
lavar louças.

As funções, então, são definidas para certas entra-


das que são chamadas de f como seu domínio e as
saídas correspondentes são chamadas de Range.

Sejam A e B dois conjuntos e haja uma regra,


maneira ou correspondência f que associa cada
elemento de A em um único elemento em B, então
f é chamado de Função ou Mapeamento de A para
B. Isso é denotado da seguinte maneira:
𝑓𝑓 = 𝐴𝐴, 𝐵𝐵 𝑜𝑜𝑜𝑜 𝑓𝑓 = 𝐴𝐴 → 𝐵𝐵 𝑜𝑜𝑜𝑜 𝐴𝐴 → 𝐵𝐵

Assim lemos que f é uma função de A para B ou f


mapeia A para B.

Se um elemento a ∈ A está associado a um elemen-


to b ∈ B, então b é chamado de “a imagem f de a”
ou “imagem de a sob f” ou “o valor da função f em
a”. Também a é chamado de pré-imagem de b ou
argumento de b sob a função f. Nós escrevemos
desta forma:
𝑓𝑓 = 𝑎𝑎, 𝑏𝑏 𝑜𝑜𝑜𝑜 𝑓𝑓 = 𝑎𝑎 → 𝑏𝑏 𝑜𝑜𝑜𝑜 𝑏𝑏 = 𝑓𝑓(𝑎𝑎)

24
Figura 3: Relações e funções

Relações

Funções

Fonte: Adaptado de https://www.allmathwords.org.

Assim, considerando a figura apresentada, com-


preendemos que as análises das funções estão
dentro das relações de conjunto, sendo que uma
relação f de um conjunto A para um conjunto B
é chamada de função se satisfizer as seguintes
condições:
Todos os elementos de A devem ser mapeados
com os elementos de B. Ou seja, não deve haver
nenhum elemento em A que não esteja sendo

25
mapeado com B. Assim, ∀ a, (a, f(a)) ∈ f , em que a é
elemento do conjunto A

Os elementos do conjunto A devem ser mapeados


exclusivamente com os elementos do conjunto B.
Ou seja:
se (a, b) ∈ f & (a, c) ∈ f, ⇒ b = c

Assim, os pares ordenados de f devem satisfazer


a propriedade de que cada elemento de A apare-
ce em algum par ordenado e não há dois pares
ordenados com os mesmos primeiros elementos.

SAIBA MAIS

Para saber mais sobre funções, assista aos vídeos a


seguir:

- Função 01: O que é função?, disponível em:

https://www.youtube.com/watch?v=qbafCJrDCDw;

- Função 02: Conceito de Função, disponível em: https://


www.youtube.com/watch?v=OkgwaatIDMU;

- Função 03: Determinando se um gráfico é função, disponível


em: https://www.youtube.com/watch?v=ESGGtbZI_uw.

Por fim, destacamos que toda função é uma re-


lação, mas nem toda relação é necessariamente
uma função.

26
GRAMÁTICA DE CHOMSKY
Durante a primeira metade do século 20, os linguis-
tas que teorizaram sobre a capacidade humana de
falar o fizeram a partir da perspectiva behaviorista,
que era a qual prevalecia na época.

Eles sustentavam que o aprendizado de línguas,


como qualquer outro tipo de aprendizado, poderia
ser explicado por uma sucessão de tentativas, erros
e recompensas pelo sucesso. Ou seja, as crianças
aprendiam a língua materna por simples imitação,
ouvindo e repetindo o que os adultos diziam.

No entanto, essa visão foi questionada pelo lin-


guista americano Noam Chomsky. Para Chomsky,
a aquisição da linguagem não pode ser reduzida
ao simples desenvolvimento de um inventário de
respostas a estímulos, porque cada frase que al-
guém produz pode ser uma combinação totalmente
nova de palavras.

Quando nos comunicamos, combinamos um


número finito de elementos, que dão estrutura às
palavras, que são usadas para criar um número
infinito de estruturas maiores, as frases.

Além disso, a linguagem é regida por um grande


número de regras e princípios, principalmente os
da sintaxe, que determinam a função das palavras
nas frases. Mesmo antes dos 5 anos de idade, as

27
crianças podem, sem ter recebido nenhuma instru-
ção formal, produzir e interpretar consistentemente
frases que nunca encontraram antes.

É essa habilidade extraordinária de usar a lingua-


gem, apesar de ter tido apenas uma exposição
muito parcial às variantes sintáticas permitidas,
que levou Chomsky a formular seu argumento da
pobreza ou falta do estímulo, que foi a base para
a nova abordagem que ele propôs no início dos
anos 1960.

Na visão de Chomsky, a razão pela qual as crian-


ças dominam com tanta facilidade as operações
complexas da linguagem é que elas têm conheci-
mento inato de certos princípios que as orientam
no desenvolvimento da gramática de sua língua.

Em outras palavras, a teoria de Chomsky é que


o aprendizado de línguas é facilitado por uma
predisposição que nosso cérebro tem para certas
estruturas de linguagem.

Mas a qual língua o teórico se refere? Para que a


teoria de Chomsky seja verdadeira, todas as línguas
do mundo devem compartilhar certas propriedades
estruturais. E, de fato, Chomsky e outros linguistas
generativos como ele, mostraram que as 5 mil a 6
mil línguas do mundo, apesar de suas gramáticas
muito diferentes, compartilham de um conjunto de
regras e princípios sintáticos.

28
Esses linguistas acreditam que essa gramática
universal é inata e está inserida em algum lugar
do circuito neuronal do cérebro humano e seria por
isso que as crianças podem selecionar, de todas
as frases que lhes vêm à mente, apenas aquelas
que se ajustam a uma estrutura considerada mais
profunda, codificada nos circuitos cerebrais

A gramática universal, então, consiste em um con-


junto de restrições inconscientes que nos permitem
decidir se uma frase está corretamente formada.
Essa gramática mental não é necessariamente a
mesma para todas as línguas, porém, de acordo
com os teóricos de Chomsky, o processo pelo
qual, em qualquer língua, certas sentenças são
percebidas como corretas enquanto outras não
são, é universal e independente do significado.

Assim, percebemos imediatamente que a frase


“Daniela livro o lê” não é o português correto, em-
bora tenhamos uma boa ideia do que isso significa.
Por outro lado, reconhecemos que uma frase como
“Ideias azuis insipidas correm furiosamente” é o
português gramaticalmente correto, mesmo que
não faça sentido algum.

Um dado, por exemplo, oferece uma metáfora útil


para explicar o que Chomsky quer dizer quando se
refere à gramática universal como um conjunto de
restrições. Antes de lançarmos o dado, sabemos

29
que o resultado será um número de 1 a 6, mas
ninguém apostaria que seria 569.

Da mesma forma, um bebê recém-nascido tem o


potencial de falar qualquer um de vários idiomas,
dependendo do país em que nasceu, mas não os
falará apenas da maneira que quiser. Este bebê
adotará certas estruturas inatas preferidas.

Uma maneira de descrever essas estruturas seria


que elas não são coisas que bebês e crianças
aprendem, mas sim coisas que acontecem com
eles. Assim como os bebês naturalmente desen-
volvem braços e não asas enquanto ainda estão
no útero, uma vez que nascem, eles aprendem
naturalmente a falar, e não a piar ou relinchar.

Até Chomsky propor sua teoria da gramática uni-


versal na década de 1960, a escola empirista que
havia dominado o pensamento sobre a linguagem
desde o Iluminismo sustentava que, quando as
crianças vinham ao mundo, suas mentes eram
como uma lousa em branco. A teoria de Chomsky
teve o impacto gigantesco no empirismo antes
amplamente aceito.

A pesquisa subsequente, nas ciências cognitivas,


que combinou as ferramentas da psicologia, lin-
guística, ciência da computação e filosofia, logo
deu mais apoio à teoria da gramática universal.
Por exemplo, os pesquisadores descobriram que

30
bebês com apenas alguns dias de idade podiam
distinguir os fonemas de qualquer idioma e pare-
ciam ter um mecanismo inato para processar os
sons da voz humana.

Assim, desde o nascimento, as crianças parecem ter


certas habilidades linguísticas que as predispõem
não apenas a adquirir uma linguagem complexa,
mas até mesmo a criar uma linguagem completa,
se a situação assim o exigir.

Chomsky, não compreende nossas faculdades


linguísticas como originadas de qualquer pressão
seletiva particular, mas sim como uma espécie
de acidente fortuito. Ele baseia essa visão, entre
outras coisas, em estudos que descobriram que a
recursividade, ou a capacidade de incorporar uma
cláusula dentro de outra, pode ser o único com-
ponente especificamente humano da linguagem.

De acordo com os autores desses estudos, a


recursividade originalmente se desenvolveu não
para nos ajudar a comunicar, mas sim para nos
ajudar a resolver outros problemas relacionados.
Por exemplo, com a quantificação numérica ou
relações sociais, os humanos não se tornaram
capazes de desenvolver uma linguagem complexa
até que a recursividade fosse ligada com as outras
habilidades motoras e perceptivas necessárias
para esse fim.

31
De acordo com Chomsky e seus colegas, não há
nada que indique que essa ligação foi alcançada
por meio da seleção natural. Eles acreditam que
pode ser simplesmente o resultado de algum outro
tipo de reorganização neuronal.

Na década de 1990, a pesquisa de Chomsky se


concentrou no que ele chamou de programa mi-
nimalista, que tentou demonstrar que as faculda-
des de linguagem do cérebro são as faculdades
mínimas que se poderia esperar, dadas certas
condições externas que nos são impostas de modo
independente.

Em outras palavras, Chomsky começou a colocar


menos ênfase em algo como uma gramática uni-
versal embutida no cérebro humano e mais ênfa-
se em um grande número de circuitos cerebrais
plásticos, que traria uma infinidade de conceitos.

O cérebro passaria então a associar sons e conceitos


e as regras gramaticais que observamos seriam,
na verdade, apenas as consequências, ou efeitos
colaterais, do modo como a linguagem funciona.

Chomsky, portanto, continua a acreditar que a


linguagem é pré-organizada de uma maneira ou
de outra dentro da estrutura neuronal do cérebro
humano e que o ambiente apenas molda os con-
tornos dessa rede em uma linguagem particular.

32
Por fim, mesmo entre os autores que adotam a
gramática universal de Chomsky, existem várias
posições conflitantes, em particular sobre como
essa gramática universal pode ter surgido.

Desse modo, entendemos até agora o ponto de vista


da teoria da gramática universal de Chomsky, mas
como ela se relaciona com as linguagens formais?

Chomsky criou a classificação de gramáticas, que


consiste em quatro tipos de gramáticas, incluindo
o tipo 0, o tipo 1, o tipo 2 e o tipo 3. Verifiquemos
cada um desses tipo na tabela a seguir:

Tabela 1: Classificação dos quatro tipos de gramáticas na


visão de Chomsky
TIPO DE GRAMÁTICA LINGUAGEM AUTÔMATO
GRAMÁTICA ACEITA ACEITA
TIPO 0 Gramática Linguagem re- Máquina de
irrestrita cursivamente Turing
enumerável
TIPO 1 Gramática Linguagem Autômato
sensível ao sensível ao linearmente
contexto contexto limitado
TIPO 2 Gramáti- Linguagem Autômato
ca livre de sem contexto com pilha
contexto
TIPO 3 Gramática Linguagem Autômato fini-
regular regular to ou máqui-
na de estados
finitos

Fonte: Adaptado de: https://www.lkouniv.ac.in/site/


writereaddata/siteContent/202005252115396430pankaj-
-Chomsky%20Classification%20of%20Grammars.pdf.

33
A tabela apresenta está diretamente relacionada
à hierarquia de Chomsky. As gramáticas do tipo 0
geram linguagens recursivamente enumeráveis.
As produções não têm restrições. As gramáticas
do tipo 0 são qualquer gramática de estrutura de
fase que gera linguagens recursivamente enumerá-
veis. Já as gramáticas do tipo 1 geram linguagens
sensíveis ao contexto. Enquanto, as gramáticas do
tipo 2 geram linguagens livres de contexto.

Por fim, as gramáticas do tipo 3 geram linguagens


regulares. Elas devem ter um único não-terminal
no lado esquerdo e um lado direito que gere lin-
guagens regulares. As gramáticas do tipo 3 devem
ter um único não terminal no lado esquerdo e um
lado direito consistindo em um único terminal ou
único terminal seguido por um único não terminal.

Assim, é preciso termos claro que a hierarquia de


Chomsky é importante na ciência cognitiva, por-
que a complexidade de uma gramática nela pode
ser usada para avaliar, no nível computacional, as
propostas teóricas dentro da ciência cognitiva.

SAIBA MAIS

Para exemplos e demonstrações práticas relacionadas


aos estudos sobre a gramática de Chomsky, sugerimos
os seguintes vídeos:

Linguagens formais:

34
https://youtu.be/PUH75TipSTU

https://youtu.be/9O8TiMQreZg

Conjuntos, Relações e Funções:

https://youtu.be/RtUf2pukbW8

https://youtu.be/Ixb7DMy01_A

Gramática de Chomsky:

https://youtu.be/ATq4ut2bO9Y

https://youtu.be/dpJMH6EVHx4

35
CONSIDERAÇÕES FINAIS
Neste e-book, discutimos os conceitos fundamen-
tais sobre as linguagens formais.

Compreendemos que, além do uso para comunica-


ção que damos às linguagens, também podemos
aplica-las na interação com computadores. As
linguagens formais estão presentes em diversos
aspectos da ciência da computação teórica, bem
como, abre portas para as gramáticas formais, teo-
ria dos autômatos e complexidade computacional.
Por isso, entendermos sobre sintaxe e semântica
é essencial para estudar as linguagens formais.
Assim, delineamos aqui o conceito de hierarquia
de Chomsky e sua gramática.

Também tratamos sobre os conceitos de conjun-


tos, relações e funções, destacando que a teoria
dos conjuntos é a base da matemática moderna
e as noções da teoria dos conjuntos são usadas
em todas as descrições formais. Todas as outras
noções de matemática podem ser construídas
com base na noção de conjunto.

Compreendemos que as funções são o tipo mais


comum de relação entre os conjuntos e seus
elementos, e os principais objetos de estudo em
análise são as funções, que estão relacionadas
com o conjunto dos números reais. Dessa forma,

36
buscamos desenvolver uma boa compreensão de
conjuntos e funções, e conhecer o vocabulário e
notações usadas para definir conjuntos, funções e
suas propriedades. Assim, destacamos que toda
função é uma relação, mas nem toda relação é
necessariamente uma função.

Por fim, discutimos aspectos e conceitos da


gramática de Chomsky e a gramática universal,
compreendendo que, em suma, a hierarquia de
Chomsky é crucial nas ciências cognitivas, pois a
complexidade de uma gramática em sua hierarquia
pode ser usada na avaliação do nível computacional
dentro da ciência cognitiva.

37
Referências Bibliográficas
& Consultadas
DIVERIO, T. A; MENEZES, P. B. Teoria
da computação: máquinas universais e
computabilidade. Editora Grupo A, 2009. [Minha
Biblioteca]

JÄGER, G.; ROGERS, J. Formal language theory:


refining the Chomsky hierarchy. Philosophical
transactions of the royal society B: Biological
sciences, [S.L.], v. 367, n. 1598, 19 jul. 2012.
Disponível em: https://www.ncbi.nlm.nih.gov/
pmc/articles/PMC3367686/. Acesso em: 04 abr.
2023

MELO, A. V. Princípios de linguagem de


programação. 3 ed. Editora Blucher, 2014.
[Biblioteca Virtual]

MENEZES, P. B. Linguagens formais e


autômatos. v.3, 6 ed. Bookman, 2010. [Minha
Biblioteca]

SANTOS, P. R. Compiladores: da teoria à prática.


Editora Grupo GEN. 2018. [Minha Biblioteca]

SEBESTA, R. Conceitos de linguagens de


programação. 11 ed. Editora Grupo A, 2018.
[Minha Biblioteca]
SILVA, F. S. C.; MELO, A. C. V. Modelos clássicos
de computação. 1 ed. Editora Cengage Learning
Brasil, 2006. [Minha Biblioteca]

SIPSER, M. Introdução à teoria da computação.


2 ed. Editora Cengage Learning Brasil, 2007.
[Biblioteca Virtual]

SOUSA, C. E. B. et al. Linguagens formais e


autômatos. Editora Grupo A, 2021. [Minha
Biblioteca]

Você também pode gostar