Gruppi ciclici e permutazioni

Gruppi ciclici e permutazioni Il gruppo ciclico Definizione gruppo ciclico Abbiamo definito in Gruppi per la prima volta il significato di gruppo ciclico generato da un elemento del gruppo, questo insieme si è poi dimostrato essere un sottogruppo del gruppo $$ G = \left\{ a^{n} \mid n \in \mathbb{Z} \right\} $$ Dove a è chiamato elemento generatore. $$ ord(G) = \lvert \langle a \rangle \rvert $$Criterio $a^{i} = a^{j}$ Probabilmente ha qualche relazione con Teorema di Lagrange. note sull’enunciato entrambe le frecce $\impliedby$ sono abbastanza ovvie. ...

April 30, 2022 · Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang

Cook-Levin and Savitch

Cook Levin theorem is important because says that in 1971 if $SAT \in P$ then $NP = P$. We will start with this idea to define the concept of NP-completeness. Let’s start with the basics. Poly-reduction Def: poly-reduction $$ x \in L' \iff f(x) \in L $$ This is very similar to the Halting Theorem and Reducibility#Mapping reducibility. The difference is that it needs to be polynomially-bounded, so to say, it is efficient function. ...

May 25, 2024 · Reading Time: 4 minutes ·  By Xuanqiang Angelo Huang

La macchina di Turing

Introduzione Note filosofiche (non impo) Bisogna in primo momento cercare di definire cosa è la computazione e cosa è un computer. Aristotele faceva la distinzione fra proprietà essenziali e accidentali. Quelle essenziali sono proprie dell’oggetto. Una sedia può essere fatta di legno o di metallo, ma questa proprietà è accidentale, ovvero, essa rimane una sedia indipendentemente dal materiale di cui è fatta. Solitamente in matematica si prova ad astrarre (vedi Astrazione sul controllo per nota generale sull’astrazione). Però in questo campo si sono trovati molte concezioni equivalenti. Fino ad arrivare a concepire la tesi di Church-Turing. Il prof. nota che questo è strano, perché in altre discipline si converge in unico modello, mentre qui molte cose sono indifferenti. Questo è importante per capire come la concezione di Computer Science si è evoluta (Denning 2010). ...

May 21, 2024 · Reading Time: 9 minutes ·  By Xuanqiang Angelo Huang

Halting Theorem and Reducibility

Halting theorem Questo è un problema fondamentale, che abbiamo trattato anche in Fondamenti teorica#Halting problem, ma qui lo ritrattiamo, perché così lo rifacciamo per bene. In parte è stato trattato anche al corso di Logica. Enunciato Halting theorem $$ HALT = \left\{ \langle x, y \rangle \in \Sigma^{*} \times \Sigma^{*}: x = code(M),M \text{ si ferma su } x\right\} $$Dimostrazione Halting theorem La parte del sì è facile perché basta eseguirlo e vedere che si ferma (quindi abbiamo una La macchina di Turing#La macchina di Turing universale. Se si ferma appartiene al linguaggio, altrimenti è la parte in cui diverge. ...

May 20, 2024 · Reading Time: 5 minutes ·  By Xuanqiang Angelo Huang

Common problems in Theoretical CS

This note is useful to gather in a single place the description of some common problems in CS and their theoretical implications explained in other notes. The Clique problem Description of the problem This problem is in NP, find all sub-graphs where all nodes are connected (this set of nodes forms a complete graph). We can prove that the problem is in NP because there is an easy non-deterministic algorithm that computes it. See Time and Space Complexity#Clique problem for details of this proof. ...

May 15, 2024 · Reading Time: 7 minutes ·  By Xuanqiang Angelo Huang

Teorema di Rice

Introduction to the Rice Theorem Ci sono molti teoremi che non possono essere decisi, vedere Halting Theorem and Reducibility. Qui andiamo a chiederci quale sia l’insieme dei problemi decidibili. Proprietà dei linguaggi TM $$ L_{\mathcal{M}} = \left\{ x \in \Sigma^{*}: \mathcal{M} \text{ accetta } x \right\} $$$$ L_{\mathcal{M}} = L_{\mathcal{M}'} \implies P(\mathcal{M}) = P(\mathcal{M}') $$ Definiamo questa non triviale se esiste una macchina per cui è 0, e una per cui è 1 (ossia non è costante). Practically this definition is useful when we need to have a difference between the language and the Turing machine that decides that language. ...

May 10, 2024 · Reading Time: 2 minutes ·  By Xuanqiang Angelo Huang

Complexity Hierarchies

Intractable problems are solvable in principle, but in reality they require so much time or space that there no physical computers that can solve them in reasonable time. We would like to define a clear hierarchy of these set of problems. Space Hierarchies Def: Space constructible We say that a function $f: \mathbb{N} \to \mathbb{N}$ such that $f(n) \geq O(\log n)$ is space constructible if there exists a function from $1^{n} \to \langle f(n) \rangle$ is $O(f(n))$ space complexity. ...

April 18, 2024 · Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Fn Ordine superiore

Questa parte è strettamente collegata conl a parte di Astrazione sul controllo. Si parla di passare le funzioni come dati. e quindi possono essere passati come se fossero dei parametri. un linguaggio di programmazione è di ordine superiore qualora ammetta funzioni sia come parametro che come risultato di altre funzioni. La parte molto simile alla precedente è il fatto di valutare la funzione nell’ambiente iniziale, quindi bisogna utilizzare un sistema simile a quello del passaggio per nome. ...

Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang

Probabilistic Turing Machines

Introduction to the probabilistic Turing Machine Most of real phenomena are better comprehended by a probabilistic view. This pushes to build a formal model that takes probability into account Def: Probabilistic TM $$ \mathbb{P}(b) = 2^{-k} $$ Where $k$ is the length of the branch. Then the probability of accepting the word is given by this: $$ \mathbb{P}(\mathcal{M} \text{ accepts } \omega) = \sum_{b \text{ is an accepting branch}} \mathbb{P}(b) $$ Note that this is very similar to the Algorithmic probability defined in Kolmogorov complexity. ...

May 8, 2024 · Reading Time: 1 minute ·  By Xuanqiang Angelo Huang

Compression Algorithms

Lempel-Ziv-Welch Algorithm Introduzione sul funzionamento Primo scan con un dizionario indexato dei singoli caratteri Poi viene cercato di raggruppare caratteri a coppie. Se una coppia è già presente nel dizionario, allora aggiungo al dizionario una cosa più lunga e metto un code diverso Esempio di sopra. La cosa carina è che il dizionario si può ricostruire in fase di decoding. ...

February 24, 2024 · Reading Time: 3 minutes ·  By Xuanqiang Angelo Huang