P vs NP vs Quantum
Computational Complexity, Quantum Computing, and effects on Cryptography
Introduction
Peter Fitzgibbons
peter.fitzgibbons@gmail.com
@pjfitzgibbons
gitub/pjfitzgibbons
@pjfitzgibbons
gitub/pjfitzgibbons
Complexity
Complexity Theory
History
Computational Complexity Theory
entscheidungsproblem
David Hilbert - 1928 - Germany
Prove the existence of :
An algorithm
With input any First-Order-Logic statement
Results of "yes" or "no" to the question :
"is this input logic statement
universally valid
"
Decision Problems
A question in some Formal System with a yes-or-no answer.
Formal System includes mathematical proof, grammars, and rulesets.
Function Problems
"given x and y, compute x divided by y".
These problems require mathematical procedures (long division).
There may be a process for transferring Function Problems into Decision Problems
Lambda Calculus
Alonzo Church - 1938
A mathematical grammar to describe and understand Procedural Calculations.
lambda-calculus
Anonymous Functions
Function :
sqsum(x, y) = x * x + y * y
Anonymous Function :
(x,y) -> x * x + y * y
Lambda Calculus
Currying
More properly named "schönfinkeling"
concept introduced by Moses Schönfinkel earlier
documented in 1956 by it's eponymy - Haskell Brooks Curry
Programing Languages:
- Haskell
- Brooks
- Curry
lambda calculus
"lambda"... "currying"... anonymous functions
Programming?
Turing machine
Alan Turing - 1938
An imaginary calculating device, manipulating symbols on an infinitely-long tape, using an internal table of rules.

Universal Turing Machine
Meta-algorithm
A Turing Machine which is sufficiently complex to read the "simulation" of any other Turing Machine and then execute it's functions with various input.
Simulated Testing = xUnit?
Complexity Classes
PSPACE, NP, P, NP-Complete, NP-Hard

Complexity
Formal Notation - Big-O
n = number of elements on input
Polynomial - P
O(n ^ k)
any like : n^100 + 3n^50 + 33n^3 + 2n
Logarithmic / Poly-logarithmic - L
O(ln(n)) / O((ln(n) ^ k)
Exponential - EXPTIME
O( 2 ^ n)
PSPACE
The collection of problems that can be solved in Polynomial Space (memory) to N
NP
Contains P and NP-Complete
Problems verifiable in polynomial time
The complexity of the Functional Algorithm may be polynomial-time or worse - EXPTIME
P
Polynomial-Time Algorithms
- Sorting
- GreatestCommonDivisor
- Validating Primes
NP-Complete
EXPTIME Algorithms
- Factoring
- Factors of 15 are 3, 5
- EXPTIME for numbers > 100 digits
NP-Complete
EXPTIME Algorithms
Travelling Salesman Problem
- Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?
- Thus, it is likely that the worst-case running time for any algorithm for the TSP increases superpolynomially (or perhaps exponentially) with the number of cities.
NP-Complete
Super-polynomial time Algorithms (or worse... EXPTIME)
GraphColoring
- MapColoring
- Scheduling - Jobs with conflicting requirements assigned to a pool of workers
- Sudoku
Some GraphColoring problems are also NP-hard : computing chromatic number (k), 4-color a 3-colorable graph.
Np-Hard
Intuitively, problem A is reducible to problem B if an algorithm for solving problem B efficiently (if it existed) could also be used as a subroutine to solve problem A efficiently. When this is true, solving A cannot be harder than solving B.
- Wikipedia : Reduction_(Complexity)
- Algorithm B is an "oracle" that can be used to produce a polynomial-time algorithm for A, calling alg-B arbitrary times in its solution.
- Thus Problem B is at least as hard as any problem L in NP, ie. any L can be reduced to B in polynomial-time.
- Implication : P = NP
P vs NP
So far, the mathematics/computer-science community only know that P is a subset of NP.
Computer Science and Mathematics want a proof or contrary proof of P = NP.
formal language to practical application
Practical Application - Factoring - Functional Problem
The process of factoring requires a mathematical procedure.
Mapping into Complexity Theory
Translating the Functional Problem into the Decision Problem equivalent, thusly allowing application of the theoretical Universal Turing Machine for Complexity Measurement
Implications of Counter-Proof
- Information! Knowing that P ≠ NP by proof will educate many areas of current research in computing. This has been taken as the defacto result of the P vs NP problem, and many avenues of research in this field have taken guidance from an accepted P ≠ NP result.
- Categorization of problems into (P, NP-Complete) could guide continued research in cryptography and related fields.
Implications of Proof
-
All algorithms
can be reduced by a polynomial-time Reduction Algorithm into P-complexity… we only need to deduce the way!
-
The problems in NP-Complete, and eventually in NP-Hard, can be solved, opening the door to solutions in every area of science, medicine, computing, mathematics. - "Save the NP-Complete, Save the World"
-
Cryptography collapse - current modern cryptography is dependent upon the EXPTIME nature of the NP-Complete problem space (ie Factoring)
Current Day - No Proof
Quantum Computing
A computing device making use of Quantum-Mechanical phenomena, including superposition and entanglement.
Quantum Superposition
- Quantum particles, ie. electrons, theoretically exist in all possible states at any point in time.
- spin-up and spin-down.
- When measured, the particle will exhibit one of it's states, with a certain probability
- The sum of of all possible states should be 1, so:
c0 |0⟩ + c1 |1⟩ = 1
- c0 and c1 are actually complex numbers
- The probability of all states also should be 1, the sum of absolute squares of the states:
- |c0|^2 + |c1| ^2 = 1
Quantum Superposision
States
- c0 and c1 are actually complex numbers
- |c0|^2 + |c1| ^2 = 1

Quantum Entanglement
Various interactions result in entanglement
- subatomic particle decay
- photon spontaneous-parametric-downconversion
The result
Although the particle pair maintains probabilistic superposition,
Once p0 has been measured, the probability = 1 of the measured state p1 being equal to p0.
Qubits
- Recall that measuring quantum-superposition leads to the probability state : |c0|^2 + |c1| ^2 = 1
- For any Qubit, during processing, it holds 2 states (superposition).
- For any N qubits, they hold 2^n states (coefficients).
- For n=3, linear computer would hold 2^3 = 8bits
- for n=100, linear computer would hold 2^100 = 1.2676506e+30 bits !!
Qubit Registers
3-qubit
3-qubit register holds all 8 octet values simultaneously in superposition.
Mathematically, we calculate the probability of each octet value:
A (000) = 0
B (001) = 0
C (010) = 0
and so on
Thus we get this probability vector:
( 0, 0, 0, 0, 0, 0, 0, 0 )
QUBIT REGISTERS
3-QUBIT
So the Quantum Register vector for the value (001) :
( 0, 1, 0, 0, 0, 0, 0, 0 )
Recall that each of these vector values is a probability.
Quantum Error Correction
- Redundancy
- Highly-entangled qbit groups
Quantum Algorithms
Factoring - Shor's Algorithm
Class BQP
bounded error quantum polynomial time
P vs NP
By Peter Fitzgibbons
P vs NP
- 1,608