IDNI Blog

  • La nueva Tau

    Ohad Asor Publicado el 30/12/2017, 3:27 PM

    Estamos interesados en un proceso en el cual un grupo pequeño o muy grande de personas alcance y siga repetidamente los acuerdos. Nos referimos a procesos tales como la elección social. Identificamos cinco aspectos que surgen de ellos: lenguaje, conocimiento, discusión, colaboración y elección sobre la elección. Proponemos un mecanismo de elección social mediante una cuidadosa consideración de estos aspectos.

    Algunos de los principales problemas con la toma de decisiones de forma conjunta tienen que ver con escalas y límites que afectan el flujo y el procesamiento de la información. Se cree que esos límites son inherentes a la realidad, de tal manera que, en general, no se los considera superados. Por ejemplo, consideremos el caso en el que todos tienen derecho a votar, pero ¿qué pasa con el caso en el que todos tienen el mismo derecho a proponer qué votar?

    En grupos pequeños y en el día a día, generalmente no votamos, sino que expresamos nuestras opiniones, a veces las discutimos, y el resultado final ya sea acuerdo o desacuerdo u opiniones surge de la propia situación. Pero en comunidades grandes, como en un país, es normal pensar que todos tengan derecho a votar un número limitado de propuestas. Llegamos a esas pocas propuestas utilizando procesos jerárquicos (más bien descentralizados), en el mejor de los casos, dónde todos tienen derecho a proponer, pero cuyas opiniones fluyen a través de ciertos canales y alcanzan la fase de votación casi vacías, debido a la vasta información recopilada en el proceso. Sin embargo, ni siquiera nos atrevemos a imaginar que exista un derecho que consista en poder proponer qué votar de la misma manera que existe el derecho de voto, pensando siempre que pueda funcionar. De hecho, ¿cómo puede funcionar eso?, ¿cómo puede un votante superar un millón de propuestas cada día?

    Todos los métodos conocidos de discusión hasta ahora sufren de escalas muy pobres. Dos veces más participantes rara vez duplican la ganancia de información, y cuando el grupo es demasiado grande (incluso algunas docenas), el doble de participantes puede incluso reducir la ganancia total a la mitad o menos, y no mejorarla dos veces.

    Resulta que bajo ciertas suposiciones podemos alcanzar discusiones de escalado y flujo de información verdaderamente eficientes, donde 10,000 personas son 100 veces más efectivas que 100 personas, en términos de toma de decisiones colaborativas y formación de teoría colaborativa. Pero para esto necesitaremos la ayuda de las máquinas, y también necesitaremos ayudarlas para que puedan ayudarnos.

    Específicamente, no hay otro remedio que usar ciertos lenguajes, que pueden evolucionar con el tiempo y, por ende, permitir que las computadoras puedan entender de qué hablamos, para comprender las cosas dichas durante las discusiones. Como nadie sabe cómo hacer que las computadoras entiendan los lenguajes naturales, tendremos que dar un paso hacia las máquinas y usar lenguajes comprensibles para las máquinas. Vamos a detallar más sobre este punto, pero antes vamos a hablar un poco acerca de la auto-enmienda.

    Describimos una red informática descentralizada, Tau Chain, y como tal, ¿qué decisiones sociales puede apoyar? Lo máximo que las computadoras pueden hacer es ejecutar programas. Sobre Tau Chain podemos reunir conocimiento y estar de acuerdo o en desacuerdo sobre él, y también podemos generar algo y realizar acciones según surja de la discusión sobre la plataforma. Esas acciones, no son más que programas de computadora. Y el programa más importante en nuestro alcance es la plataforma en sí misma.

    Las principales elecciones en colaboración se realizan sobre el sistema, son sobre el sistema en sí. Tau, es una discusión sobre Tau. O en una definición un poco más elaborada pero sucinta:

    Considere un proceso, denotado por X, de personas, formando y siguiendo otro proceso denotado por Y. Tau es el caso donde X = Y.

    Eso es el Tau. No importa lo que sea Tau, lo que importa es que puede transformarse en lo que queremos que sea. Además, Tau es un programa de computadora, por lo que nos referimos a un programa que se adapta a las opiniones y decisiones colaborativas de sus usuarios.

    Cabe señalar que no permitimos que Tau adivine la opinión de la gente, ni siquiera que realice conjeturas como en el aprendizaje automático, y esa, quizás sea la razón principal por la que utilizamos la lógica. Las cosas que se dicen sobre la plataforma son tan formales y definidas como los programas de computadora, ya que solo tratan con conocimiento genérico y no con instrucciones de la máquina.

    Al tener eso, un programa de autorreferencia en colaboración, puede transformarse virtualmente en cualquier programa que queramos, o incluso, en muchos programas a la vez. De hecho, Tau no solo habla de sí mismo, sino que está abierto a la creación de cualquier otra actividad individual o en colaboración, de modo que los grupos pequeños y grandes puedan debatir, compartir y organizar el conocimiento, detectar el consenso y los desacuerdos, y coordinar acciones en forma de programas.

    Los cinco aspectos sociales mencionados al principio corresponden a la hoja de ruta de Tau. Aquí hay un breve resumen que se enfatizará más en el resto de esta publicación: La implementación de TML y el Internet de lenguajes es el primer paso. Luego viene el Alfa, que es una plataforma de discusión. Luego, la versión Beta, que trata de seguir procesos de forma colaborativa (no solo definirlos), específicamente, se trata no solo de conocimiento sino también de programas. Alfa y Beta no están totalmente descentralizados en su infraestructura como en Bitcoin. Posteriormente, y con la ayuda de Alfa y Beta, llega Tau, que es una plataforma descentralizada de elección social auto-enmendada. Además de eso, tendremos un mercado de conocimiento que es uno de los tres componentes de Agoras (los otros dos son: los mercados de recursos computacionales como Zennet y una economía de nuevo diseño que ofrece características como interés sin riesgo sin necesidad de imprimir dinero nuevo, implementando un mercado de derivados).

    Para que las máquinas potencien nuestra capacidad de discusión y colaboración, deben tener acceso al significado de lo que decimos. Las máquinas usan ciertos tipos de lenguajes mientras que los humanos usan diferentes tipos. Hacer que las máquinas utilicen lenguajes humanos, es algo que nadie sabe cómo hacer y, para los seres humanos, utilizar directamente lenguajes de máquina es un inconveniente en la medida en que simplemente no se ajusta a la comunicación humana común de intercambio de conocimiento: los lenguajes de máquina están hechos de instrucciones de la máquina, mientras que la representación del conocimiento es de una naturaleza diferente. En otras palabras, las máquinas esperan información operacional, mientras que los humanos hacen un gran uso del lenguaje declarativo. De hecho, uno de los objetivos de Tau es dejar que podamos centrarnos en el "saber-qué" y dejar que las máquinas descubran el "saber-cómo".

    Por lo tanto, presentamos una posición ampliamente sugerida anteriormente (por ejemplo, el artículo "Representación del conocimiento y lógica clásica" de Lifschitz et al) que se coloca en el medio entre los lenguajes humanos y el de la máquina, que es la lógica. La lógica formal es en gran medida natural para los humanos y es algo con lo que las máquinas pueden trabajar. Pero, aún así, la "lógica formal" no es nada particular, ya que no apunta a ningún lenguaje, sino que es una vaga descripción de una familia de lenguajes.

    Postulamos que no debe y no puede haber un solo lenguaje universal. No hay ninguna razón para que un lenguaje sea óptimo (o incluso adecuado) para todas las necesidades. Por lo tanto, se nos ocurre un metalenguaje que es capaz de definir nuevos lenguajes, pero, esto sería volver al principio con un [meta-]lenguaje universal. Por lo tanto, necesitamos que el metalenguaje se redefina y cambie, al igual que puede definir otros lenguajes. Con esto, obtenemos no solo muchos lenguajes, sino también un lenguaje que se modifica a sí mismo, que es una parte importante de un sistema de auto-enmienda.

    Resulta que las lógicas que pueden definirse a sí mismas y tener buenas propiedades lógicas, como la decidibilidad, no son muy comunes. Tenemos máquinas universales de Turing, pero un lenguaje menos expresivo y más informativo (por ejemplo, decidible) no es fácil de encontrar. Adoptamos la lógica PFP cuya expresividad es PSPACE-completa, como se conoce en los libros de teoría de modelos finitos, y se demostró que es capaz de definirse en el libro de Imhof, 1999 "Lógicas que definen su propia semántica".

    Desde aquí continuamos a Internet de lenguajes. Usando el metalenguaje que llamamos TML (Tau Meta-Lenguaje, puede obtener información del trabajo continuo en github), los usuarios definen nuevos lenguajes especificando fórmulas lógicas para describir lo que significa que dos documentos en diferentes lenguajes tengan el mismo significado. En otras palabras, para definir un nuevo lenguaje, uno necesita definir cómo se genera una traducción que preserva la semántica en un lenguaje existente. La semántica, en nuestro alcance, es ontológica (objetos y relaciones), y no semántica operacional como en los lenguajes de programación. Con esto obtenemos un Internet de lenguajes de representación del conocimiento que hace que la elección del lenguaje no importe. Un documento en un lenguaje se puede transformar (usando programas TML) a diferentes lenguajes.

    No nos referimos a la traducción como del francés al chino, ya que ya hemos insistido en que no tratamos con los lenguajes naturales. Por supuesto, teóricamente, podría darse el caso de que algún día alguien programe sobre TML algo que pueda entender completamente el lenguaje natural, pero no contamos con tal evento. De hecho, hay muchos formalismos de lenguaje natural que son bastante cercanos al lenguaje completo y con los que los humanos pueden trabajar (lo que llamamos "inglés lo suficientemente simple que hasta las máquinas lo pueden entender"), por lo que podemos esperar que TML procese lenguajes comprensibles para el ser humano hasta cierto punto. Pero TML está destinado también para lenguajes de máquina únicamente. Por ejemplo, uno podría querer convertir un documento a un formato HTML o en un Wiki, o convertir un programa en algún lenguaje de alto nivel a código de máquina, o también sintetizar el código de la lógica.

    De manera más general, TML pretende ser un compilador-compilador. Para ser tan eficiente y no tener que considerar la lógica de los lenguajes una y otra vez con cada compilación de documentos escritos en ella, adoptamos el enfoque de evaluación parcial, que da lugar a características adicionales muy deseables para un compilador-compilador, en forma de proyecciones de Futamura.

    Ahora que podemos expresar conocimiento y opiniones en varios lenguajes (precisamente aquellos lenguajes que los usuarios definen a través del Internet de lenguajes a lo largo del tiempo), podemos comunicarnos usando esos lenguajes. Consideramos la comunicación Humano-Humano, o más específicamente la comunicación Humano-Máquina-Humano. La máquina no es una parte igual en la conversación, es solo una máquina, solo organiza lo que decimos y, puede hacerlo, ya que codificamos nuestra información de una manera accesible para ella. Un usuario puede transmitir una idea a otro usuario, y en este estrecho ámbito de transmisión de una idea entre dos personas, ya podemos disfrutar de tres beneficios: fácil explicación, fácil comprensión y formalización del conocimiento como un subproducto.

    Específicamente, quien expone no necesita hacer que el otro usuario lo entienda, solo necesitan que la máquina lo entienda. Esta tarea puede ser más simple en algunos aspectos y más compleja en otros, aún y así las máquinas están ciertamente menos ligadas a la organización y la escala que los humanos. Habiendo logrado una idea formalizada en un lenguaje comprensible por la máquina, el segundo usuario ahora no solo puede traducirlo a otros lenguajes de representación del conocimiento u organizarlo como lo considere conveniente o compararlo con otras ideas formalizadas, sino que también puede formularle preguntas a la máquina. Dado que la máquina entendió completamente el tema, y por entendido, nos referimos a la capacidad teórica de responder todas las preguntas (la decidibilidad surge nuevamente aquí), puede ayudar al usuario a entender por la misma definición de comprensión, ya que puede responder todas las preguntas del usuario, sin la necesidad de remitir la pregunta al autor de la idea original.

    Pero Alfa va más allá de ese caso. Alfa es sobre discusiones de cualquier escala. Está estructurado como discusiones al igual que en foros o redes sociales, con publicaciones y comentarios, que pueden aparecer en un equipo o un perfil. Un perfil (o identidad) es un lugar donde las personas suelen publicar sus opiniones personales, y podrán compartirlas con otros perfiles con los que están conectados. Un equipo es un grupo de identidades, creado y configurado por algún usuario, y destinado a tratar un tema determinado. Por ejemplo, un equipo podría desarrollar colaborativamente un producto de software, o redactar una ley o contrato acordado, o simplemente cualquier idea científica / filosófica / social / sin sentido.

    Hasta ahora suena como cualquier otra plataforma de discusión, pero aquí podemos tener muchas más características gracias al uso de lenguajes comprensibles por la máquina. Para enumerar algunos: detectar automáticamente los argumentos repetidos por la misma persona, o recopilar lo que cada persona dijo durante la discusión y mapear todos los puntos de acuerdo y desacuerdo, o enumerar todas las opiniones y luego quién está de acuerdo con ellas (personas por opinión en lugar de opiniones por persona), o para organizar la información puesta en la discusión de forma más organizada y legibles como una wiki. Incluso puede hacer comentarios automáticamente: supongamos que ve una publicación de alguien que expresa una opinión, pero ya ha expresado en profundidad su opinión sobre el tema en el pasado. Luego puede hacer clic en "auto-comentar" y el sistema expresará automáticamente su opinión, en función de la información exacta que proporcionó en el pasado y en relación con la publicación que está auto-comentando. O, lo que quizás es más importante, para calcular el conjunto de declaraciones acordadas por todos sin excepción, en algún ámbito, puede ser de toda la red, por equipo, o por perfiles conectados a mi perfil, por discusión, etc. Recuerde, esto no es una magia en absoluto, una vez que todo está escrito en lógica (o dado que tenemos una lógica que puede traducirlo a la lógica, es decir, las definiciones TML de los lenguajes de los documentos).

    Sobre Alfa, le enseñamos a la red mucho conocimiento, intencionalmente o como un subproducto de las discusiones. También formamos teorías en las que estamos de acuerdo y todos contribuimos. ¿Qué podemos hacer con este conocimiento? En última instancia, en el mundo de la informática, todo lo que podemos hacer es ejecutar programas de computadora. En Beta podremos analizar programas y luego ejecutarlos. En Tau, tendremos un equipo especial llamado Tau, de modo que cada vez que el grupo acepte una nueva decisión, el código de Tau se modifique automáticamente. Sobre la versión Beta podremos hacer realidad esas cosas que acordamos como deseables en Alfa, en nuestras discusiones. Una vez que un equipo acuerda o modifica su acuerdo sobre una especificación de algún programa, no es necesario escribir ni reescribir ningún código, ya que puede hacerse de manera automática, ya que todo está disponible en un lenguaje comprensible para la máquina. Sintetizar el código a partir de las especificaciones es otra traducción del lenguaje que se realizará a través de Internet de lenguajes, pero, por supuesto, se deben desarrollar transformadores de lenguaje adecuados para permitirlo. Este es un buen ejemplo de cosas que son más fáciles de decir que de hacer, y los detalles son altamente técnicos. Es suficiente mencionar que las capacidades de síntesis de vanguardia aparecen en el mundo MSO + λY.

    La elección sobre la elección es elegir cómo elegir. Poder cambiar el mecanismo de elección en sí mismo, o, en otras palabras, las normas para cambiar las normas, o lo que es lo mismo, para cambiar el código de Tau con el tiempo. Esto en sí mismo plantea paradojas y limitaciones a las lógicas posibles. Si las reglas pueden cambiar por sí mismas, inevitablemente se contradicen a sí mismas cuando intentan decir algo más. ¿Cómo podemos formalizar tal proceso de una manera libre de paradojas? Uno puede ser engañado a identificar normas sobre normas y decisiones sobre decisiones con una lógica de orden superior, pero esto no es suficiente. Considere, por ejemplo, la norma "todas las normas, incluido esta, pueden modificarse solo por mayoría". Como esta norma también opera sobre sí misma, no tiene un orden finito. Por lo tanto, necesitamos la recurrencia para tratar las normas que cambian las normas. Este es un aspecto importante involucrado en la elección de la lógica de punto fijo para TML y el cálculo λY en la Beta (a propósito, Bauer mostró en "Sobre los auto-interpretadores para el sistema T y otros tipos de cálculos λ) que un lenguaje puede auto-interpretarse si tiene un punto fijo, lo que excluye el total de lenguajes de programación).

    Un enfoque para el cambio de normas que se consideró en el viejo Tau es el enfoque de Nomic. Para explicar el enfoque de Nomic y el nuevo enfoque de Tau, utilizaremos un ejemplo. Considere la posibilidad de que dos abogados representen cada uno de los dos lados de un trato e intenten converger en un contrato en el que ambos abogados estén de acuerdo. Una forma sería la siguiente. El primer abogado sugiere una cláusula en el contrato, y el segundo abogado puede estar de acuerdo o no. Si se acuerda, entonces la cláusula se adjunta, de lo contrario, no. Entonces, es el turno del segundo abogado para proponer una cláusula, etc. Esta sería la forma Nomic. El equivalente para Tau es aplicar parches de código sucesivos con el tiempo. Al hacer eso, planteamos una asimetría entre las opiniones que llegaron primero. Hay mucho que decir sobre esta asimetría y cómo Tau logra evitarla casi por completo, pero por ahora, considere el caso en el que una cláusula recientemente propuesta contradice una antigua cláusula. Si no queremos dar prioridad a lo que vino primero, entonces hay que modificar la cláusula nueva o la antigua o incluso tener que modificar otras cláusulas, y no eliminar por defecto la cláusula antigua.

    Otra forma, sería que, en cada turno, cada abogado envíe un borrador completo del contrato, y el otro abogado pueda aceptarlo o proponer un borrador diferente. Al requerir que cada borrador sea lógicamente consistente, nunca tendremos que lidiar con las contradicciones entre el pasado y el futuro. Elimina por completo la necesidad de mirar hacia atrás. Pero todavía no puede escalar. ¿Qué pasaría si tuviéramos un millón de abogados, leerían un millón de borradores?

    Sobre Tau podemos tomar todos esos millones de borradores de contrato, que corresponden a las propuestas del siguiente código completo de Tau, y de una manera bastante directa (gracias al formalismo lógico de los documentos) calcular el núcleo preciso en el que todos están de acuerdo, y enumerar los puntos a resolver No necesitamos votar, lo hacemos como en pequeños grupos en la vida real: simplemente hablamos, y el mapa de opiniones surge de la conversación para cualquier oyente inteligente.

    Hay mucho más que decir, y se mencionará en más publicaciones del blog y otras publicaciones, pero eso es todo por ahora. Estaré más que feliz por leer sus opiniones y enfoques con respecto a los temas mencionados, especialmente la elección social práctica y cómo hacer escalar las discusiones.