Les problèmes de réseau sont une bonne source de candidats. Étant donné une base pour un réseau dans R n , on peut rechercher un vecteur réseau non nul dont la norme ( ℓ 2 ) est la plus petite possible; c'est le «problème de vecteur le plus court» (SVP). Aussi, étant donné une base pour L et un point t ∈ R n , on peut demander un vecteur de réseau aussi proche que possible de t ; c'est le «problème de vecteur le plus proche» (CVP).LRnℓ2Lt∈Rnt
Les deux problèmes sont difficiles à résoudre avec NP. Aharonov et Regev ont montré que dans (NP coNP), on peut les résoudre à l'intérieur d'un O ( √∩facteur:O(n−−√)
http://portal.acm.org/citation.cfm?id=1089025
J'ai lu le document et je ne pense pas que leur travail laisse entendre que l'on peut faire cela dans UP coUP, sans parler de UP ∩ coUP. ∪∩
Une technicité: comme indiqué, ce sont des problèmes de recherche, donc à strictement parler, nous devons faire attention à ce que nous voulons dire lorsque nous disons qu'ils sont dans une classe de complexité. En utilisant une variante décisionnelle du problème d'approximation, le problème de décision candidat que nous obtenons est un problème de promesse : étant donné un réseau , distinguer les deux cas suivants:L
Cas I: a un vecteur non nul de norme ≤ 1 ;L≤1
Cas II: n'a pas de vecteur non nul de norme ≤ C √L . (pour une constanteC>0)≤Cn−−√C>0
Ce problème se trouve dans Promise-NP Promise-coNP et peut ne pas être dans Promise-UP ou Promise-coUP. Mais supposons pour le moment que ce n'est pas dans Promise-UP; cela ne semble pas donner d'exemple de problème dans (NP ∩ coNP) ∖ UP. La difficulté vient du fait que NP ∩ coNP est une classe sémantique. (En revanche, si nous avons identifié un problème dans Promise-NP ∖ Promise-P, nous pourrions conclure P ≠ NP. En effet, toute machine NP résolvant un problème de promesse Π définit également un langage NP L qui n'est pas plus facile que Π . )∩∩∖∩∖≠ΠLΠ