La "categoria" di macchine di Turing?


16

Disclaimer: so molto poco della teoria della complessità.

Mi dispiace ma non c'è davvero modo di porre questa domanda senza essere (terribilmente) conciso:

Quali dovrebbero essere i morfismi nella "categoria" delle macchine di Turing?

Questo è ovviamente soggettivo e dipende dalla propria interpretazione della teoria, quindi una risposta a questa domanda dovrebbe idealmente fornire alcune prove e ragionamenti a supporto della risposta.

Vorrei sottolineare il punto che sto cercando una categoria di macchine di Turing e non di linguaggi formali per esempio. In particolare, penso che i miei morfismi dovrebbero contenere informazioni più precise, quindi riduzioni o cose del genere (non sono sicuro però).

Ovviamente se c'è già una categoria ben nota e usata in letteratura, vorrei sapere di cosa si tratta.


3
L'hai detto tu stesso - funzioni calcolabili.
Yuval Filmus,

1
@Raphael il fatto è che non definisci mai una struttura finché non la metti in una categoria. Questo è quando le caratteristiche non essenziali della definizione specifica vengono eliminate.
Saal Hardali,

1
@SaalHardali Tieni presente che non tutti sottoscrivono la promessa di salvezza fatta dai teorici della categoria. In effetti, molti alzano gli occhi al cielo.
Raffaello,

2
@JoshuaGrochow Esiste un morfismo etichettato da T 1 a T 2 se f riduce T 2 a T 1 (o forse viceversa), ovvero T 1 ( x ) = T 2 ( f ( x ) ) . Questo è, diciamo, per macchine che su ogni input si fermano o no, ma non hanno ulteriori output. fT1T2fT2T1T1(X)=T2(f(X))
Yuval Filmus,

3
A parte: perché le TM dovrebbero essere oggetti? Potrebbero anche essere morfismi.
Martin Berger,

Risposte:


11

Saal Hardali ha detto che voleva che una categoria di macchine di Turing eseguisse la geometria (o almeno la teoria dell'omotopia). Tuttavia, ci sono molti modi diversi per raggiungere obiettivi simili.

  • Esiste una fortissima analogia tra computabilità e topologia. L'intuizione è che la terminazione / non-termine è come lo spazio di Sierpinski, poiché la terminazione è finitamente osservabile (cioè aperta) e il non-termine non (non aperto). Vedi gli appunti di Martin Escardo Topologia sintetica di tipi di dati e spazi classici per un'introduzione moderatamente delicata ma completa a queste idee.

  • Nel calcolo simultaneo e distribuito, è spesso utile pensare alle possibili esecuzioni di un programma come uno spazio, e quindi vari vincoli di sincronizzazione possono essere espressi come proprietà omotopiche dello spazio. (Il fatto che l'esecuzione abbia un ordine temporale sembra richiedere una teoria dell'omotopia diretta, piuttosto che una normale teoria dell'omotopia.)

    Vedi l'articolo di Eric Goubault Alcune prospettive geometriche sulla teoria della concorrenza per maggiori dettagli. Vedi anche il documento vincitore del premio Goedel di Maurice Herlihy e Nir Shavit, The Topological Structure of Asynchronous Computability , che risolveva alcuni problemi aperti di vecchia data nella teoria della programmazione distribuita.

  • Una terza idea viene dalla teoria dei tipi di omotopia, dalla scoperta che la teoria dei tipi di Martin-Löf è (probabilmente?) Una presentazione sintattica (nel senso di generatori e relazioni) della teoria degli omega-groupoidi - cioè i modelli dell'astratto teoria dell'omotopia. La migliore introduzione a queste idee è il libro di teoria dei tipi di omotopia .

Nota che tutte queste idee sono molto diverse l'una dall'altra, ma tutte usano ancora intuizioni geometriche! E ce ne sono ancora altri, che non conosco, come gli usi che sorgono nella teoria della complessità geometrica e il modo in cui le teorie dei circuiti possono essere descritte in termini di teoria (co) omologica dei grafici .

Fondamentalmente, quando stai facendo CS, la geometria è uno strumento : lo usi per formalizzare le tue intuizioni, in modo da poter ottenere leva attraverso l'enorme corpus di lavoro che è stato fatto su di esso. Ma è un amplificatore di idee, non un sostituto per avere idee!


14

Se i tuoi oggetti sono macchine di Turing, ci sono diverse ragionevoli possibilità di morfismi. Per esempio:

1) Considera le macchine di Turing come gli automi che sono, e considera i soliti morfismi degli automi (mappe tra gli alfabeti e gli stati che sono coerenti tra loro) che preservano anche i movimenti delle testine del nastro, o esattamente al contrario (ad es. ogni volta che la TM di origine va a sinistra, la TM di destinazione va a destra e viceversa).

2a) Considerare simulazioni o bisimulazioni .

T1T2fT1(X)=T2(f(X))X

3) Considera il grafico di transizione della macchina di Turing (ogni vertice è una descrizione completa dello stato della macchina e dei nastri, con i bordi diretti corrispondenti alle transizioni che la TM farebbe) e considera i morfismi dei grafici. Per le TM questa è una relazione molto approssimativa, poiché essenzialmente ignora la natura locale del calcolo (ignora, ad esempio, quali sono i contenuti dei nastri).

Penso che la vera domanda sia: cosa vuoi sapere sulle TM o farne ? In mancanza di ciò, è difficile fornire argomenti per una definizione rispetto a un'altra, al di là della naturalezza (nel solito senso della parola, non nel senso categorico).


Sono molto nuovo in questo tipo di matematica. Ho letto in passato sulla teoria della complessità, ma solo recentemente l'ho ripreso dopo aver visto qualcuno su Internet affermare che in qualche modo le tecniche coomologiche sarebbero entrate nella teoria della complessità nel secolo successivo e mi ha interessato. Dopo alcune letture mi sono reso conto che al di là di una comprensione superficiale della definizione di una macchina da turismo non ho praticamente idea di cosa codifichi esattamente. È così che sono arrivato alla domanda. Quindi potresti dire che a livello molto rudimentale sto cercando di immaginare come la coomologia possa entrare nella teoria della complessità.
Saal Hardali,

Mi rendo conto che questo è estremamente prematuro per qualcuno come me che capisce molto poco su questo argomento, ma ho voluto giocare un po 'con questa idea nella mia testa di "fare la teoria dell'omotopia sulla categoria delle macchine di turing". La tua risposta è buona e ho certamente l'obiettivo di leggere di più su di esso. Grazie.
Saal Hardali,

@SaalHardali: Sono curioso di sapere dove leggi che la coomologia entrerà nella teoria della complessità? Posso pensare a due modi, ma non vedo ancora un percorso attraverso la teoria dei tipi di omotopia (forse perché non ho ancora capito abbastanza bene HoTT). I due modi in cui posso vedere: (1) nel calcolo distribuito questo è già successo, vale a dire. Herlihy e Rajsbaum e (2) tramite la teoria della complessità geometrica.
Joshua Grochow,

Con la teoria dell'omotopia mi riferivo all'idea generale di studiare categorie con equivalenze deboli e non tanto HoTT. L'ho letto in un sondaggio su P =? NP non è difficile da trovare, penso che fosse collegato a una delle domande su questo sito. Immagino che la mia prima ipotesi (come un estraneo) sia stata che forse esiste una sorta di interessante debole equivalenza su una categoria di un modello di calcolo che corrisponde in qualche modo a classi di complessità e quindi studiare i funzioni invarianti sotto quella debole equivalenza costituirà ciò che chiamo un " teoria dell'omotopia "questo è probabilmente molto ingenuo e totale mancanza.
Saal Hardali,

Nel caso in cui il tuo interesse sia la teoria della complessità piuttosto che la teoria della calcolabilità, forse questa risposta ti è utile: cstheory.stackexchange.com/a/3422/4896
Nikolov,

13

Potrebbero interessarti le categorie di Turing di Robin Cockett e Pieter Hofstra. Dal punto di vista della teoria delle categorie, la domanda "qual è la categoria delle macchine di Turing" è meno interessante di "qual è la struttura categorica alla base del calcolo". Pertanto, Robin e Pieter identificano un tipo generale di categoria adatto allo sviluppo della teoria della calcolabilità. Quindi, ci sono diverse possibilità per definire una tale categoria a partire dalle macchine di Turing. Perché avere una categoria quando puoi averne un'intera categoria?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.