Uma Teoria da Consciência

Este artigo explica uma teoria da consciência que é nova no meu conhecimento reconhecidamente imperfeito. A ideia central é que a consciência surge de um ciclo de feedback em que a capacidade de uma mente de comunicar externamente uma ideia se conecta internamente com a capacidade da mesma mente de receber ideias dos outros. Eu argumentarei que esse tipo de loop de feedback adiciona valor porque facilita a realização dessas ações com pensamentos incipientes:

· Seja capaz de generalizá-los para outras situações,

· Seja capaz de lembrá-los,

· Ser capaz de agir sobre eles,

· Seja capaz de relacioná-los com ideias anteriores e

· Seja capaz de comunicá-los aos outros.

Não considero as ideias neste artigo como uma teoria completa da consciência, na medida em que muitos detalhes ainda não foram resolvidos. Por exemplo, exatamente quais partes do cérebro executam quais tarefas, e como essas tarefas são executadas? Como podemos escrever um programa que aprende como o cérebro faz? Apesar de não responder estas questões em detalhes, este artigo tenta fornecer uma estrutura conceitual de alto nível que pode facilitar o ataque de problemas neste domínio.

Meus antecedentes nesta área

Eu não sou um especialista na maioria dos campos intimamente relacionados ao estudo da consciência. Estou dolorosamente consciente do fato de que eu posso acidentalmente ser ideias de recuperação que são consideradas antigas dentro desses campos. No entanto, durante toda a minha vida eu me interessei na questão da compreensão da consciência humana e eu li muitas contas que eu acho menos satisfatórias do que as ideias aqui descritas. Isso me faz pensar que as boas ideias não são bem divulgadas, ou talvez haja alguma novidade aqui.

Meu histórico é principalmente no aprendizado de máquinas, que é o estudo de algoritmos que podem melhorar com a experiência. Recentemente, foi feito um grande progresso no que pode ser feito com algoritmos baseados em redes neurais com muitas camadas, muitas vezes associadas à frase aprendizagem profunda. Embora a maioria das pesquisas de aprendizado profundo não tenha como objetivo imitar diretamente o cérebro humano, a inspiração para essas abordagens está enraizada no funcionamento do cérebro.

Por sua vez, alguns dos princípios que se combinam no aprendizado automático da máquina parecem aplicáveis ​​à forma como os humanos aprendem e pensam. Como exemplo, há um sentido matemático preciso no qual a simplificação de uma ideia corresponde a uma melhor compreensão dessa ideia. No mundo dos cérebros humanos, talvez este princípio matemático corresponda à ideia de que: no contexto da aprendizagem mecânica, estou me referindo à ideia de usar a regularização como um tipo de "restrição de simplicidade" em um modelo, o que ajuda a evitar a superposição .

"se você não pode explicar isso para um filho de seis anos, você não entende isso"

Muitas vezes atribuído (em disputa ) a Richard Feynman. Para conectar explicitamente esses princípios, a compressão matemática pode ser vista como uma maneira de representar uma ideia de maneira minimalista, que talvez seja o tipo mais simples de representação disponível - ou seja, uma expressão que seria amigável para as mentes jovens.

Como veremos abaixo, vários princípios intuitivos da aprendizagem por máquinas fornecem evidências de que a teoria deste artigo agrega valor à forma como os cérebros funcionam e poderiam ter evoluído naturalmente.

O que é consciência?

Uma definição clara e precisa da consciência evitaria a necessidade de uma teoria para explicá-la. Infelizmente, essa definição parece ser indescritível. Ao escrever isso, a frase de abertura da Wikipedia na consciência é:

"A consciência é difícil de definir, embora muitas pessoas parecem pensar que 
sabem intuitivamente o que é".

Eu vou declarar, confessando ambiguidade, que:

A consciência é o que é saber o que está acontecendo.

Cada frase componente aqui está fazendo uma quantidade razoável de trabalho. A frase "como é" indica um estado mental interno que experimentamos, mas isso é difícil de compartilhar. A frase "saber" encapsula as dificuldades de compreensão do conhecimento e da percepção. Finalmente, "o que está acontecendo" tem um dever duplo, indicando acontecimentos mundiais relevantes, bem como eventos mentais como o pensamento.

Então chegamos a uma definição difusa: uma que é boa o suficiente para compartilhar a ideia de consciência com outro humano, mas isso não é bastante bom para responder a muitas perguntas sobre isso. Vamos dar uma olhada mais detalhada em algumas das questões-chave que parecem difíceis neste ponto.

Por que a consciência se sente misteriosa

Se você e eu estivéssemos falando sobre uma foto, poderíamos apontar fisicamente para a foto e confiar no fato de que estávamos recebendo uma representação interna similar que poderíamos discutir. Essa capacidade de conectar ideias em mentes transcende o meramente físico; considere ilusões de ótica. Nesta imagem, uma mente humana perceberá círculos escuros distantes nas interseções das linhas de grade:


Podemos apontar para os pontos onde a ilusão aparece. Não estamos apontando para nada que vemos no mundo físico, mas sim para algo que ambos percebemos internamente.

Discutir a consciência pode sentir-se semelhante na medida em que ambos experimentamos, mas não há nada de óbvio no mundo físico a ser apontado. Na verdade, a consciência é mais desafiadora para estudar porque os estados mentais pessoais são menos deterministas do que ilusões de ótica. Por exemplo, se eu leio uma história curta e depois lhe peço que leia, não há garantia de que teremos as mesmas reações internas na leitura dessa história.

Imagine que cada um tem um seguro bloqueado. De alguma forma, só você pode ver o conteúdo do seu cofre, e só posso ver o que está no meu cofre. Dentro de cada um é um objeto com uma nova cor nunca antes pré-recebida por nenhum de nós. Eu chamo minha cor "blurple", e tente descrevê-lo para você. Você descreve a cor que você vê no seu cofre. Podemos adivinhar que percebemos a mesma cor nova, mas não podemos realmente saber. Se nossas descrições diferissem, seria difícil interpretar essas diferenças.

Esta mesma dificuldade de comunicação surge para a consciência. Estamos falando de estados mentais internos que aparentemente são extremamente difíceis de reproduzir em todas as mentes. A natureza escondida e individualizada do nosso sujeito torna mais difícil saber se a minha consciência me sente do mesmo modo que a sua consciência sente para você. Uma série de perguntas interessantes surgem, tudo difícil:
  • Pode haver graus de consciência e, em caso afirmativo, como podemos medir?
  • Como podemos medir a consciência de outra espécie?
  • Um programa de computador pode ter consciência?
  • Em caso afirmativo, como isso funcionaria?
Não responderei diretamente a essas perguntas, mas espero que algumas delas se sintam mais acessíveis até o final do artigo. Por exemplo, se queremos medir graus de consciência em animais e compreendemos as peças que compõem a consciência, então poderemos perguntar qual das peças que o animal possui e até que ponto suas habilidades comparadas às do cérebro humano.

A teoria

Uma motivação para esta teoria é o fato de que muitos pensamentos tomam a forma de um diálogo interno. A partir disso, podemos adivinhar que a consciência pode ser como falar consigo mesmo, exceto que sua mente leva um atalho para evitar dizer nada em voz alta.

Vamos fazer essa ideia mais precisa.

Podemos modelar o cérebro como executando um ciclo que escolha repetidamente um objetivo e, em seguida, age com um protocolo em direção a esse objetivo. Uma parte do cérebro é responsável por escolher metas, enquanto outra leva ação sobre esses objetivos. Alguns objetivos, como explorar a curiosidade, destacam-se por sentir-se menos dirigidos do que outros. No entanto, esses objetivos ainda podem se enquadrar nesse modelo. No caso da curiosidade, o objetivo pode ser dado como satisfazendo um desejo de nível inferior para alcançar o conhecimento, talvez semelhante a uma espécie de fome mental.

Em espécies simples, essa relação entre objetivos e ações é mais fácil de analisar. Neutrófilos são um tipo de glóbulo branco que pode atacar infecções bacterianas. Sem atribuir consciência a essas células, ainda podemos considerá-las como meta: destruir certas células bacterianas; e uma sequência de ações para alcançar esse objetivo: essencialmente, ingerindo as células ofendidas. Tomando alguns passos na escada evolutiva, o comportamento das formigas também pode ser entendido em termos simples, como buscar comida, transportar alimentos ou defender a colônia.

À medida que os animais se tornam sociais, algumas de suas ações disponíveis se concentram em expressar uma ideia para outro membro de suas espécies. No final de recepção dessa expressão é a capacidade de internalizar e reagir à ideia comunicada. Para simplificar, há saída social e insumos; dando e recebendo.

Como essas habilidades podem ser internalizadas? Talvez haja um tipo de fórum na mente - um lugar onde os diferentes componentes especializados do pensamento se juntam para integrar suas funções. Quando subimos as escadas, recebemos percepções visuais, táteis e relacionadas ao equilíbrio sobre as escadas, e usamos aqueles para guiar o movimento de nossas pernas e pés para continuar para cima. Quando conversamos, ouvimos falar, filtramos o ruído, pensamos nas ideias que estão sendo discutidas, escolhemos uma resposta, traduzimos essa resposta em palavras e falamos essas palavras em voz alta.

E se existe tal fórum, então este é um lugar onde um componente do cérebro, como aquele que ouve discurso, é reutilizado para ouvir uma voz interna. Na verdade, não há necessidade de a percepção interal se basear na fala. Poderia ser baseado em informações visuais, táteis ou qualquer outro tipo de entrada que conhecemos.

Suponhamos que a consciência use esse loop de feedback. Então, isso explicaria porque o pensamento pode assumir a forma de falar em sua cabeça, ou desenhar uma imagem mental, ouvir internamente uma música ou imaginar relações espaciais, como as de um mapa.

Até agora, sugeri um ciclo de feedback que pode explicar alguns atributos da consciência. Uma série de perguntas imediatamente surgem. Eu vou me concentrar nos dois que eu acho mais interessantes.

Pergunta 1: Por que esse ciclo de feedback será útil?

É aqui que as coisas se relacionam com o aprendizado automático. Quando pensamos em ideias, parece que temos uma memória de trabalho imediata relativamente grande. O ato de forçar a traduzir esse pensamento em fala corresponde a uma conversão de um tipo geral de dados em um tipo de dados simplificado, construído com conceitos familiares. Na terminologia de aprendizagem mecânica, eu diria que um pensamento de trabalho em bruto é um vetor de alta dimensão, enquanto um pensamento processado por fala foi reduzido a um modelo simplificado - talvez considerado como um vetor esparso.

Ao simplificar o modelo usado para representar esse pensamento, torna-se mais fácil lembrar ou se comunicar. Uma vez que o resultado da tradução força a nova ideia no contexto dos conceitos previamente aprendidos, também permite que a nova ideia seja relacionada a esses conceitos. Isso nos dá provadores para recordar e usar a nova ideia. Finalmente, argumento que uma versão simplificada de uma ideia é mais provável que generalize em aplicativos. Este último pensamento é semelhante ao uso da navalha da Occam para escolher uma boa explicação, ou escolher um modelo de aprendizado de máquina com poucos parâmetros para reduzir o risco de superação de dados.

Pergunta 2: Para que essa idéia funcione, é necessário pensar em palavras?

Até agora, vós ilustrai o loop de feedback em termos de discurso interno. Mas o mecanismo fundamental não precisa confiar em palavras. Em vez disso, podemos supor que a parte da tradução do loop de feedback baseia-se em conceitos familiares que podem ou não assumir a forma de linguagem tradicional.

Um modelo do cérebro dá-lhe um centro de idiomas que é capaz de aprender a falar, ouvir e escrever um idioma. Alguns pensadores postularam que o pensamento é limitado pelo idioma que falamos. Na verdade, Ludwig Wittgenstein disse uma vez: o processamento da linguagem agora é entendido para ocorrer em várias áreas do cérebro que realizam várias sub tarefas especializadas.

"Os limites do meu idioma significam os limites do meu mundo".

Mas não estou convencido de que este seja todo o quadro de linguagem e pensamento.

Em particular, os animais são perfeitamente capazes de escolher ações antes de aprenderem uma língua. Eles têm claramente conceitos que são aprendidos ao longo do tempo, como um macaco que prefere um certo tipo de alimento, ou um bebê que coo quando reconhece um dos pais dela. Sugiro que esses conceitos, verbais ou não, possam ser armazenados internamente em uma mente da mesma maneira que as palavras são.

O loop de feedback descrito aqui não é baseado em palavras, tanto quanto se baseia em conceitos familiares, que, alternativamente, podemos pensar como palavras abstratas.

Isso deixa espaço para muitos tipos de pensadores - pessoas surdas que pensam em linguagem gestual, músicos que pensam em canções, matemáticos que pensam em gráficos, ou qualquer um pensa em ideias que conhecem bem, mas não tem palavras.

O surgimento da autoconsciência

Uma consequência interessante desta teoria é uma maneira pela qual podemos nos conscientizar sem ações externas, como olhar no espelho. Quando você ou eu conversamos com outra pessoa, há uma parte do nosso cérebro que vê onde eles estão, reconhece quem eles são, lembra o que sabemos deles e, em geral, reúne um quadro interno de personalidade para eles.

Muitos dos sinais baseados externamente que desencadeiam essa imagem de personalidade estão faltando quando se considera o eu. Sem um espelho, não me vejo do jeito que vejo outras pessoas. Por padrão, não costumo ouvir meu discurso dirigido a mim mesmo. No entanto, o loop de feedback mental pode me dar algum reconhecimento do eu que eu não teria de outra forma. As mesmas partes do meu cérebro que atualizam uma imagem de personalidade para os outros podem de repente perceber o mesmo para mim. Da mesma forma, outras ideias, como imagens mentais, podem ser internamente percebidas, ativando algumas das mesmas partes do cérebro que reconhecem seus análogos externos; Em outras palavras, eu posso estar ciente de meu próprio processo de pensamento, da mesma forma que estou ciente do que percebo do mundo externo.

Alguns detalhes possíveis

Esta teoria inclui a ideia de que a forma como pensamos sobre as palavras sobrepõe-se fortemente com a forma como pensamos em ações familiares. Ou seja, as palavras podem ser consideradas como um tipo especial de bloco de construção de ação. Um resultado final construído de palavras é muitas vezes criado através do ato de fala ou de digitação.

Isso dá um caminho de investigação: primeiro perguntamos sobre a consciência; Em seguida, consideramos um circuito interno de feedback baseado na tradução de novas ideias em um quadro de palavras abstratas; Finalmente, vemos palavras abstratas como os blocos de construção das ações que realizamos. Para amarrar tudo de volta, as ações que tenho em mente aqui são exatamente os protocolos mencionados anteriormente no modelo de comportamento animal como um ciclo de metas e protocolos.

Se quisermos simular a funcionalidade linguística abstrata do cérebro, um bom ponto de partida seria trabalhar em um sistema que pudesse aprender e adaptar protocolos baseados em ação para novas situações. Como esse sistema representaria o seu alfabeto cada vez maior de blocos de ação? Como aprenderia? Como isso realizaria pesquisas de ações apropriadas? Como se adaptaria a novas situações?

Talvez as ações sejam como funções em uma linguagem de programação. Parece ser capaz de sequenciar blocos de construção de ação em conjunto, bem como repetir ações semelhantes, possivelmente com entradas variáveis. Quando eu escrevo, meus movimentos de dedos são todos semelhantes, e podemos avaliar a ideia de qual letra está sendo pressionada. No mais alto nível, estou pensando nas idéias que quero expressar. Abaixo está uma quebra em palavras específicas. Mais perto dos meus dedos, eu suspeito que existe uma memória muscular associada a palavras comuns como a ou de. Quando eu escrevo uma palavra pouco frequente, como discombobulated, eu acho que tenho que considerá-la momentaneamente por letra como eu a escrevo. Para mim, isso significa que eu tenho funções internas que encapsulam a digitação do ou de, enquanto eu não tenho essa função para discombobulated , embora essa função esteja se formando enquanto escrevo este artigo!

A ideia de funções nos permite considerar as ações mais conhecidas como meras receitas ou listas de ações mais finas. Os programadores, no entanto, serão rápidos em perceber que muitos comportamentos não podem ser universalmente alcançados sem adicionar habilidades como loop ou execução condicional. Quando penso em comportamentos condicionais nas mentes humanas, penso que os condicionais geralmente são configurados como reações baseadas em disparos. Ou seja, o cérebro humano parece ser principalmente assíncrono em que muitas coisas acontecem em paralelo, e nossos pensamentos podem ser interrompidos por sinais recebidos que sugerem que algo mais importante pode estar acontecendo. Por exemplo, se eu estiver trabalhando por muitas horas seguidas, não paro a cada 10 minutos para perguntar, devo comer agora? Em vez disso, a fome ocorre espontaneamente e se intromete em meus pensamentos, conforme necessário.

Uma vez que muitas ações requerem auto ajuste, também pode haver uma parte do cérebro que é capaz de assistir uma ação se desenrolar e fornecer feedback imediato sobre como as coisas estão acontecendo. Este tipo de consciência de ação não só faz as ações mais robustas, mas também podem nos permitir aprender um novo tipo de ação, observando que outra pessoa a execute. Este mecanismo poderia ser a base da tradução de novas ideias em conceitos familiares.

Para resumir a linha de pensamento aqui, estes são alguns pensamentos específicos sobre como a linguagem abstrata pode funcionar no cérebro humano:

  • As palavras abstratas são armazenadas como programas compostos de sequências e loops incondicionais.
  • O comportamento condicional é alcançado pelo uso de pontos de gatilho assíncronos.
  • O auto ajuste e a aprendizagem são alcançados por um componente que pode realizar pesquisas inversas de palavras abstratas com base em assistir a uma ação externa, ou interna, mas representada-como-extensiva.
  • Novas palavras abstratas são formadas pela repetida execução de um novo comportamento.
Uma das consequências dessas ideias é que nós realmente entendemos verdadeiramente algo ao fazê-lo, embora os conceitos abstratos possam ser executados puramente internamente, como resolver um problema de matemática simplesmente pensando nisso. Isso corresponde ao provador chinês:

Eu ouço e esqueço. Eu vejo e lembro. Eu faço e entendo.

Por que essa teoria faz sentido

Aqui estão várias maneiras principais de avaliar uma teoria da consciência:
  • Procure diferenças observáveis ​​entre teorias alternativas.
  • Verifique se uma teoria corresponde a patologias observadas em pacientes com condições anormais do cérebro.
  • Verifique se uma teoria corresponde às observações do comportamento cerebral interno.
  • Tentativa de criar inteligência de máquina com base em idéias sobre como funciona o cérebro humano.
  • Veja se uma teoria da consciência corresponde à nossa experiência pessoal de consciência.
  • Verifique se uma teoria da consciência poderia evoluir naturalmente com as espécies.

Ao longo do resto desta seção, considerarei cada um dos pontos acima em ordem.

Embora valha a pena, não vou considerar outras explicações sobre a consciência aqui, nem diferenças observacionais com elas.

Vejamos os estados patológicos do cérebro. Penso nisso como uma espécie de engenharia inversa externa no sentido de que estamos descobrindo pistas sobre como as coisas funcionam sem se separar.

Considere o fenômeno da memória eidética, que é a variante cuidadosamente estudada do que é popularmente conhecido como memória fotográfica. Uma fração de crianças pequenas possui uma habilidade impressionante para lembrar detalhes de algo que eles viram por um período muito curto de tempo. Geralmente, essa habilidade desaparece aos 13 anos. Vejo dois pontos interessantes aqui. Em primeiro lugar, em casos que tenham sido cuidadosamente documentados, essas memórias não durarão para sempre; Ou seja, eles podem ser chamados de memórias de médio prazo do que de longo prazo. Em segundo lugar, há uma escassez relativa de memória eidética bem documentada em adultos; A evidência sugere que o mecanismo que permite a memória eidética em crianças tende a deixar de funcionar pela idade adulta.

Em termos de consciência como um loop de feedback baseado na tradução em conceitos, faz sentido que memórias altamente detalhadas se correspondam com uma percepção que tenha sido capturada mas não processada. Sua representação interna não é esparsa e, portanto, não seria armazenada facilmente. Parece razoável adivinhar que as imagens detalhadas geralmente não são usadas muito. Como as imagens não são armazenadas por muito tempo, isso também corresponde à ideia de que as palavras abstratas são formadas ou solidificadas com o uso. Finalmente, também faz sentido que imagens mentais detalhadas e não processadas acabem por deixar de ser armazenadas em memórias adultas, pois são substituídas por traduções para as palavras abstratas de componentes mais úteis.

Eu imagino que existem outras patologias que deram mais luz sobre essa linha de pensamento, mas vou passar para a engenharia reversa interna, pelo que quero dizer, entender como funciona o cérebro, observando diferentes elementos dentro dela. Isso pode ser conseguido, por exemplo, ao examinar imagens de cérebros baseadas em FMRI executando certas ações. Eu não tenho os meios para realizar experimentos FMRI no momento, mas tais experimentos podem ser projetados para testar a hipótese de que algumas partes do cérebro ativo durante a fala também podem estar ativas durante a fala interna, além de serem ativos durante o período não - execução do protocolo verbal, como quando tenta ensinar uma ação - como andar de bicicleta - para outra pessoa.

A próxima consideração é a criação da inteligência da máquina. Poderíamos tentar construir uma espécie de inteligência geral artificial que se baseie em ações de ligação e palavras abstratas. Este trabalho poderia tentar criar um sistema de aprendizagem que representasse ideias como funções semelhantes a programas, incluindo a capacidade de traduzir de novos protocolos para funções familiares, além de executar essas funções dentro de um ciclo de feedback auto ajustável. Alguns progressos recentes foram feitos no mundo da aprendizagem de reforço, permitindo que os algoritmos aprendam a jogar videogames com muito pouco conhecimento inicial. Este trabalho coincide com o artigo atual em que a aprendizagem de reforço se encaixa bem no modelo de comportamento como um ciclo de protocolo de metas, embora uma análise mais detalhada seja necessária para verificar detalhes de suporte de grãos mais finos.

Em termos de minha experiência pessoal, essa teoria corresponde bem. Às vezes penso em palavras faladas internamente, às vezes em imagens ou sons. Eu penso ocasionalmente em palavras abstratas não-verbais, especialmente quando penso em um conceito em matemática que é mais facilmente compreendido através de uma visualização ou estrutura de exemplo. Quando eu analiso meus próprios protocolos de ação, eles se sentem como programas hierárquicos que geralmente são assíncronos - eu geralmente não paro para verificar os condicionais - e composto de loops, composições de programas menores e envolvendo variáveis ​​para torná-los adaptáveis ​​a novas situações. Não consigo falar com suas experiências pessoais de consciência, mas convido você a fazer comparações semelhantes.

Finalmente, há a questão da evolução. Parece natural para mim que as espécies simples tenham metas e ações correspondentes para trabalhar em direção a esses objetivos. Em seguida, vem a capacidade de aprender ações, observando outras as desempenhando, talvez desencadeadas por um mecanismo interno projetado para dar feedback auto ajustável com base na percepção de seus próprios movimentos em andamento. Depois disso - ou talvez evoluindo em paralelo - é a capacidade de ensinar explicitamente ideias aos outros. Quando todas essas peças estão no lugar, uma mente já está em posição de se tornar mais inteligente, experimentando em um fórum mental, em vez de apenas na realidade. Parece natural que o fórum mental - o nexo entre os protocolos de percepção e ação - já exista. A última peça a cair no lugar seria o uso desses componentes para fechar o loop de feedback interno.

Fechar o loop

Vou resumir as ideias-chave.

A consciência é o que é saber o que está acontecendo. É uma experiência interna que todos temos, mas não podemos compartilhar detalhes. Seus detalhes são altamente individuais, efêmeros e não são facilmente capturados exatamente em palavras. Tanto quanto eu sei, não há uma explicação detalhada e amplamente aceita de como a consciência funciona.

A ideia apresentada aqui é que a consciência surge de um processo em que uma nova ideia ocorre, é traduzida em conceitos familiares, e esses conceitos familiares são percebidos de forma semelhante à percepção de estímulos externos, como a fala. Esses conceitos familiares podem assumir a forma de palavras faladas, ideias visuais conhecidas ou outras ideias previamente compreendidas. As próprias ideias são uma internalização de ações; Essas ações são usadas para nos mover para alcançar nossos objetivos.

As palavras abstratas assumem a forma de funções de programação com variáveis, sequências e a capacidade de chamar outras funções. Os condicionais são baseados em disparadores assíncronos para realizar ações de ramificação.

O processo de traduzir novas ideias em conceitos familiares é útil porque simplifica o modelo da ideia, relaciona-a com ideias anteriores e adiciona pontos de gatilho para lembrar a nova ideia. Modelos simplificados suportam memória, generalização para novas aplicações e a capacidade de comunicar a ideia aos outros. Essas justificativas da ideia de tradução também podem ser vistas como uma explicação para o que o ensino nos, ajuda, a aprender, ou porque explicar um problema para um público silencioso ainda pode nos ajudar a progredir nesse problema.

Essas ideias podem explicar a autoconsciência: o mesmo componente cerebral que constrói uma imagem de personalidade de outros pode construir uma imagem de personalidade de nós mesmos, percebendo nossos conceitos internos, como a fala interna, como se tivesse sido observado externamente como vindo de outra pessoa.

Eu não tentei apoiar cuidadosamente esta teoria em termos de outras teorias, nem em termos de experiências, embora eu pense que isso valeria a pena. Eu discuti em favor dessas ideias com base em qualidades de minhas experiências pessoais de consciência, que eu acho que podem ser compartilhadas por outros humanos. Eu também listei algumas ideias baseadas em neurologia patológica e evolução que apoiam as ideias deste artigo.

Eu ficaria curioso para aprender sobre outras teorias detalhadas da consciência, bem como sobre outras formas de evidência que possam apoiar essa teoria, ou fornecer dicas sobre como essas ideias poderiam ser melhoradas.

Fonte: http://tylerneylon.com/ tradução adaptativa para o português.



Share:

Aprenda Lua em 15 minutos

-- Dois traços começam um comentário de uma linha. --[[ Adicionando dois ['s e ]'s torna um comentário em várias linhas. --]] ---------------------------------------------------- -- 1. Variáveis e controle de fluxo. ---------------------------------------------------- num = 42 -- Todos os números são duplos. -- Não freak out, 64-bit duplos têm 52 bits -- para armazenamento de valores int exatos; -- a precisão da máquina não é um problema -- para as pessoas que precisam < 52 bits. s = 'walternate' -- Strings imutáveis como no Python. t = "Aspas duplas também são boas" u = [[ Colchetes duplos Começar e terminar strings de várias linhas. ]] t = nil -- Indefinido t; Em LUA é uma garbage collection. -- Os blocos são denotados com palavras-chave como -- fazer/terminar (do/end): while num < 50 do num = num + 1 -- Não ++ ou += operadores de tipo. end -- Cláusulas em If : if num > 40 then print('Acima de 40') elseif s ~= 'walternate' then -- ~= não é igual. -- A verificação da igualdade é == como no Python; -- ok para strings. io.write('Não é mais de 40\n') -- Padrão para stdout. else -- As variáveis são globais por padrão. thisIsGlobal = 5 -- Camelcase é comum. -- Como fazer uma variável local: local line = io.read() -- Lê a próxima linha de stdin. -- A concatenação de string usa o operador '..' : print('O inverno está chegando, ' .. line) end -- Variáveis indefinidas retornam nil. -- isso não é um erro: foo = anUnknownVariable -- Agora, foo = nil. aBoolValue = false -- Apenas nil e falsas são falsas; 0 e '' são verdadeiras! if not aBoolValue then print('é falso') end -- 'or' e 'and' estão em curto-circuito (short-circuited). -- Isso é semelhante ao a?b:c operador em C/JS: ans = aBoolValue and 'yes' or 'no' --> 'no' -- O intervalo inclui ambas as extremidades. karlSum = 0 for i = 1, 100 do karlSum = karlSum + i end -- Usar "100, 1, -1" como o intervalo para -- contar para baixo: fredSum = 0 for j = 100, 1, -1 do fredSum = fredSum + j end -- Em geral, o alcance é begin, end[, step]. -- Outra construção de loop: repeat print('Asterisk o Futuro da Telefonia') num = num - 1 until num == 0 ---------------------------------------------------- -- 2. Funções (Functions). ---------------------------------------------------- function fib(n) if n < 2 then return 1 end return fib(n - 2) + fib(n - 1) end -- Fechamentos e funções anônimas estão ok: function adder(x) -- A função retornada é criada quando o somador é -- chamado e lembra o valor de x: return function (y) return x + y end end a1 = adder(9) a2 = adder(36) print(a1(16)) --> 25 print(a2(64)) --> 100 -- Retorno, funcões de chamadas e atribuições, -- todos funcionam com listas que podem ser -- incompatíveis. Os receptores incomparáveis -- são nulos (nil); remetentes incomparáveis -- são descartados. x, y, z = 1, 2, 3, 4 -- Agora, x = 1, y = 2, z = 3, e 4 é jogado fora. function bar(a, b, c) print(a, b, c) return 4, 8, 15, 16, 23, 42 end x, y = bar('zaphod') --> imprime "zaphod nil nil" -- Agora, x = 4, y = 8, valores 15..42 são descartados. -- As funções são de primeira classe, podem ser -- locais/globais. Estes são os mesmos (same): function f(x) return x * x end f = function (x) return x * x end -- E assim são estes: local function g(x) return math.sin(x) end local g; g = function (x) return math.sin(x) end -- O declaração 'local g' faz referência a -- g-self-references ok. -- As funções Trig funcionam em radianos, a propósito. -- As chamadas com uma string de parametro, não precisam -- de parentes: print 'Eu voltarei!' -- Funciona bem. ---------------------------------------------------- -- 3. Tabelas. ---------------------------------------------------- -- Tables = Lua's only compound data structure; -- they are associative arrays. -- Similar to php arrays or js objects, they are -- hash-lookup dicts that can also be used as lists. -- Using tables as dictionaries / maps: -- Dict literals have string keys by default: t = {key1 = 'value1', key2 = false} -- String keys can use js-like dot notation: print(t.key1) -- Prints 'value1'. t.newKey = {} -- Adds a new key/value pair. t.key2 = nil -- Removes key2 from the table. -- Literal notation for any (non-nil) value as key: u = {['@!#'] = 'qbert', [{}] = 1729, [6.28] = 'tau'} print(u[6.28]) -- prints "tau" -- Key matching is basically by value for numbers -- and strings, but by identity for tables. a = u['@!#'] -- Now a = 'qbert'. b = u[{}] -- We might expect 1729, but it's nil: -- b = nil since the lookup fails. It fails -- because the key we used is not the same object -- as the one used to store the original value. So -- strings & numbers are more portable keys. -- A one-table-param function call needs no parens: function h(x) print(x.key1) end h{key1 = 'Sonmi~451'} -- Prints 'Sonmi~451'. for key, val in pairs(u) do -- Table iteration. print(key, val) end -- _G is a special table of all globals. print(_G['_G'] == _G) -- Prints 'true'. -- Using tables as lists / arrays: -- List literals implicitly set up int keys: v = {'value1', 'value2', 1.21, 'gigawatts'} for i = 1, #v do -- #v is the size of v for lists. print(v[i]) -- Indices start at 1 !! SO CRAZY! end -- A 'list' is not a real type. v is just a table -- with consecutive integer keys, treated as a list. ---------------------------------------------------- -- 3.1 Metatables and metamethods. ---------------------------------------------------- -- A table can have a metatable that gives the table -- operator-overloadish behavior. Later we'll see -- how metatables support js-prototypey behavior. f1 = {a = 1, b = 2} -- Represents the fraction a/b. f2 = {a = 2, b = 3} -- This would fail: -- s = f1 + f2 metafraction = {} function metafraction.__add(f1, f2) sum = {} sum.b = f1.b * f2.b sum.a = f1.a * f2.b + f2.a * f1.b return sum end setmetatable(f1, metafraction) setmetatable(f2, metafraction) s = f1 + f2 -- call __add(f1, f2) on f1's metatable -- f1, f2 have no key for their metatable, unlike -- prototypes in js, so you must retrieve it as in -- getmetatable(f1). The metatable is a normal table -- with keys that Lua knows about, like __add. -- But the next line fails since s has no metatable: -- t = s + s -- Class-like patterns given below would fix this. -- An __index on a metatable overloads dot lookups: defaultFavs = {animal = 'gru', food = 'donuts'} myFavs = {food = 'pizza'} setmetatable(myFavs, {__index = defaultFavs}) eatenBy = myFavs.animal -- works! thanks, metatable -- Direct table lookups that fail will retry using -- the metatable's __index value, and this recurses. -- An __index value can also be a function(tbl, key) -- for more customized lookups. -- Values of __index,add, .. are called metamethods. -- Full list. Here a is a table with the metamethod. -- __add(a, b) for a + b -- __sub(a, b) for a - b -- __mul(a, b) for a * b -- __div(a, b) for a / b -- __mod(a, b) for a % b -- __pow(a, b) for a ^ b -- __unm(a) for -a -- __concat(a, b) for a .. b -- __len(a) for #a -- __eq(a, b) for a == b -- __lt(a, b) for a < b -- __le(a, b) for a <= b -- __index(a, b) for a.b -- __newindex(a, b, c) for a.b = c -- __call(a, ...) for a(...) ---------------------------------------------------- -- 3.2 Class-like tables and inheritance. ---------------------------------------------------- -- Classes aren't built in; there are different ways -- to make them using tables and metatables. -- Explanation for this example is below it. Dog = {} -- 1. function Dog:new() -- 2. newObj = {sound = 'woof'} -- 3. self.__index = self -- 4. return setmetatable(newObj, self) -- 5. end function Dog:makeSound() -- 6. print('I say ' .. self.sound) end mrDog = Dog:new() -- 7. mrDog:makeSound() -- 'I say woof' -- 8. -- 1. Dog acts like a class; it's really a table. -- 2. function tablename:fn(...) is the same as -- function tablename.fn(self, ...) -- The : just adds a first arg called self. -- Read 7 & 8 below for how self gets its value. -- 3. newObj will be an instance of class Dog. -- 4. self = the class being instantiated. Often -- self = Dog, but inheritance can change it. -- newObj gets self's functions when we set both -- newObj's metatable and self's __index to self. -- 5. Reminder: setmetatable returns its first arg. -- 6. The : works as in 2, but this time we expect -- self to be an instance instead of a class. -- 7. Same as Dog.new(Dog), so self = Dog in new(). -- 8. Same as mrDog.makeSound(mrDog); self = mrDog. ---------------------------------------------------- -- Inheritance example: LoudDog = Dog:new() -- 1. function LoudDog:makeSound() s = self.sound .. ' ' -- 2. print(s .. s .. s) end seymour = LoudDog:new() -- 3. seymour:makeSound() -- 'woof woof woof' -- 4. -- 1. LoudDog gets Dog's methods and variables. -- 2. self has a 'sound' key from new(), see 3. -- 3. Same as LoudDog.new(LoudDog), and converted to -- Dog.new(LoudDog) as LoudDog has no 'new' key, -- but does have __index = Dog on its metatable. -- Result: seymour's metatable is LoudDog, and -- LoudDog.__index = LoudDog. So seymour.key will -- = seymour.key, LoudDog.key, Dog.key, whichever -- table is the first with the given key. -- 4. The 'makeSound' key is found in LoudDog; this -- is the same as LoudDog.makeSound(seymour). -- If needed, a subclass's new() is like the base's: function LoudDog:new() newObj = {} -- set up newObj self.__index = self return setmetatable(newObj, self) end ---------------------------------------------------- -- 4. Modules. ---------------------------------------------------- --[[ I'm commenting out this section so the rest of -- this script remains runnable. -- Suppose the file mod.lua looks like this: local M = {} local function sayMyName() print('Hrunkner') end function M.sayHello() print('Why hello there') sayMyName() end return M -- Another file can use mod.lua's functionality: local mod = require('mod') -- Run the file mod.lua. -- require is the standard way to include modules. -- require acts like: (if not cached; see below) local mod = (function () end)() -- It's like mod.lua is a function body, so that -- locals inside mod.lua are invisible outside it. -- This works because mod here = M in mod.lua: mod.sayHello() -- Says hello to Hrunkner. -- This is wrong; sayMyName only exists in mod.lua: mod.sayMyName() -- error -- require's return values are cached so a file is -- run at most once, even when require'd many times. -- Suppose mod2.lua contains "print('Hi!')". local a = require('mod2') -- Prints Hi! local b = require('mod2') -- Doesn't print; a=b. -- dofile is like require without caching: dofile('mod2.lua') --> Hi! dofile('mod2.lua') --> Hi! (runs it again) -- loadfile loads a lua file but doesn't run it yet. f = loadfile('mod2.lua') -- Call f() to run it. -- loadstring is loadfile for strings. g = loadstring('print(343)') -- Returns a function. g() -- Prints out 343; nothing printed before now. --]] ---------------------------------------------------- -- 5. Referências. ---------------------------------------------------- --[[ Eu estava ansioso para aprender Lua para que eu pudesse fazer jogos como Löve 2D game engine. Esse é o porquê. Comecei com BlackBulletIV's Lua for programmers. Em seguida li o oficial Programming in Lua book. É assim que é os caminhos das pedras. Pode ser útil verificar o Lua short referência em lua-users.org. Os principais tópicos não abordados são bibliotecas padrão: * string library * table library * math library * io library * os library Por sinal, este arquivo completo é válido Lua; Salve isso Como learn.lua e execute com "lua learn.lua" ! Isto foi escrito pela primeira vez para tylerneylon.com. Também está disponível como um github gist. Tutoriais para outras línguas, no mesmo estilo que este, estão aqui: http://learnxinyminutes.com/ Divirta-se com LUA! --]]
Share:

Aviso importante!

Não realizamos upload dos ficheiros, apenas reportamos os links que encontramos na própria Internet. Assim, toda e qualquer responsabilidade não caberá ao administrador deste blog. Este blog não tem como objetivo reproduzir as obras, apenas divulgar o que foi encontrado na Internet. Os filmes aqui informados são de cunho científico assim como as séries, as quais são produzidas para exibição em TV aberta. Uma vez que a série não tenha sido ripada de um DVD, ou seja, a mesma foi gravada do sinal de TV aberta com o respectivo selo da emissora. Não é caracterizado crime, pois a mesma foi produzida para exibição pública. Será crime quando for realizado venda desta série ou filme. Quem efetuar download de qualquer ficheiro deste blog, que não tenha seu conteúdo de base Open Source (Código Aberto), ou FOSS (Free Open Source Software), deverá estar ciente que terá 24 horas para eliminar os ficheiros que baixou. Após assistir e gostar do filme ou série, adquira o original via lojas especializadas. Se algo contido no blog lhe causa dano ou prejuízo, entre em contato que iremos retirar o ficheiro ou post o mais rápido possível. Se encontrou algum post que considere de sua autoria, favor enviar e-mail para suporte@delphini.com.br informando o post e comprovando sua veracidade. Muito obrigado a todos que fizeram deste blog um sucesso.

Creative CommonsEsta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra.Você não pode criar obras derivadas.

Google+ Followers

Nossos 10 Posts Mais Populares