문제가 VPN 문제인지 어떻게 증명할 수 있나요? 컴퓨터 과학자들이 간단한 방법을 찾았습니다.
P/NP 문제는 계산 복잡성 분야에서 해결되지 않은 문제입니다. 사람들은 "합리적인 시간 내에 모든 컴퓨팅 문제를 효율적으로 해결할 수 있습니까?"라는 질문에 대한 답을 찾으려고 노력해 왔습니다.
합리적인 시간은 무엇입니까? 실제로 우주가 끝나기 전에 해결될 수 있는 문제들은 합리적인 시간 내에 고려된다. 그러나 많은 문제는 합리적인 시간 내에 해결하기 어려워 보이며 이러한 문제의 어려움을 입증하려면 수학이 필요합니다.
2021년 연구는 위 질문에 대한 답변을 통해 다음과 같은 사실을 확인했습니다. 대부분의 문제는 효과적으로 해결하기 어렵습니다.
워싱턴 대학의 Paul Beame은 이 연구에 대해 다음과 같이 논평했습니다. "산을 오르는 것과 마찬가지로 이 연구는 계산 이론 연구로 가는 길의 중단점입니다."
이 연구의 세 연구원: 컴퓨터 과학자 Srikanth Srinivasan(왼쪽), Nutan Limaye(오른쪽 위) 및 Sébastien Tavenas.
이 연구에서는 덧셈과 곱셈만 관련된 문제를 고려했지만 이러한 문제가 특정 방식(덧셈과 곱셈의 특정 교대 패턴)으로 해결되도록 제한되면 문제가 매우 어려워집니다.
놀랍게도 이 연구에서는 새로운 프레임워크나 도구를 사용하지 않았습니다. 대신 저자는 Noam Nisan과 공동으로 프린스턴 고등연구소 수학부 교수인 Wigderson이 설명한 수십 년 간의 작업을 우회했습니다. 예루살렘 히브리 대학교 수학 장애물.
연구원 중 한 명인 덴마크 오르후스 대학의 Srikanth Srinivasan은 다음과 같이 말했습니다. "우리는 이 장애물을 피할 수 있는 매우 간단한 방법이 있다는 것을 깨달았습니다. 그리고 그러한 간단한 방법을 사용하여 우리가 불가능하다고 생각했던 일을 할 수 있다면
중요한 질문
컴퓨터가 출현한 후 과학자들은 컴퓨터 알고리즘이 많은 문제를 해결할 수 있다는 사실을 발견했지만 때로는 이러한 알고리즘이 실제 계산 시간보다 너무 오래 걸리는 경우도 있습니다. .
그들은 문제가 크든 작든 어떤 문제는 본질적으로 해결하기가 너무 어렵다고 의심하기 시작합니다. 예를 들어, 그래프에서 중요한 문제는 해밀턴 경로가 있는지, 즉 각 꼭지점을 정확히 한 번씩 통과하는 경로가 있는지 확인하는 것입니다. 정점(및 가장자리)의 수를 늘리면 그러한 경로가 존재하는지 확인하는 데 시간이 더 오래 걸리겠지만, 최고의 알고리즘이라도 그래프 크기가 증가하면 기하급수적으로 더 오랜 시간이 걸리므로 이 문제를 해결하는 것이 비현실적이 됩니다.
컴퓨터 과학자들은 어떤 방식으로든 특정 유형의 어려운 문제를 효과적으로 해결할 수 있는 알고리즘이 다른 유사한 어려운 문제의 해결책으로 변환될 수 있음을 증명하려고 노력합니다. 그들은 이러한 유형의 문제를 NP 문제라고 부릅니다.
물론, 어려워 보이지 않고 해결하는 데 시간이 많이 걸리지 않는 문제도 많이 있습니다. 이러한 문제 중 다수는 어떤 의미에서는 동일하며 이러한 문제를 P 문제라고 합니다. 그들은 NP 문제가 실제로 P 문제보다 더 어렵고 NP 문제는 결코 효율적으로 해결될 수 없다고 주장합니다. 하지만 증거가 없다면 이 생각은 틀릴 수도 있습니다.
그래서 컴퓨터 과학자들은 NP 문제가 실제로 더 어렵다는 것을 증명할 방법을 찾기 시작했습니다. 이를 위해서는 NP 문제를 해결하는 데 기하급수적인 시간이 걸린다는 것을 증명해야 했지만 이를 증명하는 것은 쉽지 않습니다.
"어려움"은 얼마나 어려운가요?
덧셈과 곱셈만 필요한 특정 문제 세트를 상상해 보세요. 예를 들어, 점 집합이 주어지면 점에 대한 데이터를 사용하여 덧셈과 곱셈만으로 가능한 모든 해밀턴 경로(존재하는 경우)를 계산할 수 있습니다.
문제 크기가 커지면 일부 산술 문제(예: 해밀턴 경로 계산)에는 시간이 더 걸립니다. 1979년에 하버드 대학교의 레슬리 발리언트(Leslie Valiant)는 많은 산술 문제가 난이도 측면에서 동일하고 다른 산술 문제는 난이도가 없다는 측면에서 동일하다는 것을 보여주었습니다. 컴퓨터 과학자들은 나중에 그의 이름을 따서 이 두 가지 유형의 문제를 각각 VNP와 VP라고 명명했습니다.
그리고 P NP 문제와 마찬가지로 VNP 문제는 후자에 기반을 두고 있기 때문에 VNP 문제보다 어렵다는 것만 알 수 있습니다. 경로가 존재합니다.
“NP보다 어렵기 때문에 어렵다는 것을 보여주기가 더 쉬울 것입니다.”라고 Shpilka는 말했습니다.
다음 수십 년 동안 컴퓨터 과학자들은 P 대 NP 문제보다 VP 대 VNP 문제에서 훨씬 더 큰 진전을 이루었지만 대부분은 Valiant가 만든 대수적 복잡성 하위 필드로 제한되었습니다. Limaye, Srinivasan 및 Tavenas의 최근 작업 이전에는 일반적인 의미에서 산술에 문제가 있는지 여부를 말하기가 여전히 어려웠습니다.
다항식 조정
이 새로운 작업은 컴퓨터 과학자들이 덧셈과 곱셈 문제에 대해 생각하는 방식을 탐구하는 데 도움이 됩니다. 수학적으로 이러한 문제는 더해지고 곱해지는 변수로 구성된 다항식(예: x^2 + 5y + 6)으로 작성될 수 있습니다.
해밀턴 경로 계산과 같은 특정 문제의 경우 이를 나타내는 다항식을 구성할 수 있습니다. 예를 들어 변수를 사용하여 각 점과 모서리를 나타낼 수 있으므로 더 많은 점과 모서리가 추가되면 더 많은 변수가 다항식에 추가될 수 있습니다.
해밀턴 경로 계산과 같은 산술 문제가 어렵다는 것을 보여주기 위해서는 더 많은 점과 모서리가 추가될수록 해당 다항식을 지수 시간 내에 해결하려면 더 많은 연산이 필요하다는 것을 보여야 합니다. 예를 들어 x^2에는 하나의 작업(x * x)이 필요하고 x^2 + y에는 두 개의 작업(x * x, + y)이 필요합니다. 연산의 수를 다항식의 크기라고 합니다.
하지만 다항식의 크기를 결정하는 것은 어렵습니다. 예를 들어 다항식 x^2 + 2x + 1입니다. 크기가 4(두 개의 곱셈과 두 개의 덧셈)인 것처럼 보이지만 다항식은 두 개의 합계(x + 1)(x + 1)의 곱으로 다시 작성할 수 있습니다. 이는 더 적은 수의 피연산자(덧셈 두 개, 곱셈 한 개)를 갖습니다. 종종 문제의 크기가 커지고 더 많은 변수가 다항식에 추가됨에 따라 수학적 변환이 문제의 크기를 단순화하고 줄이는 데 도움이 될 수 있습니다.
Valiant의 연구 후 몇 년 후, 컴퓨터 과학자들은 문제의 규모를 더 쉽게 분석할 수 있는 방법을 찾았습니다. 이를 위해 그들은 다항식이 합계와 곱을 전환하거나 번갈아 바꾸는 횟수를 지정하는 "깊이"라는 속성을 제안했습니다. 예를 들어, 다항식 x^2 + 2x + 1은 곱의 합(예: x^2 및 2x)이기 때문에 깊이가 2입니다. 반면 (x + 1)(x + 1) 표현식은 곱의 합으로 계산된 0 + (x + 1)(x + 1)과 깊이가 같기 때문에 깊이가 3입니다.
다항식을 단순화하기 위해 컴퓨터 과학자들은 문제가 커져도 합계와 곱의 패턴이 변하지 않는 "일정 깊이"라는 속성을 사용하여 다항식을 고정된 형식으로 제한합니다. 이로 인해 다항식의 크기가 깊이가 증가함에 따라 감소하면서 크기가 더욱 고정됩니다. 일정한 깊이에 대한 표현식을 공식이라고 합니다. 일정한 깊이를 사용하면 다항식 연구를 더 많이 진행할 수 있습니다.
마법의 "깊이"
1996년 Nisan과 Wigderson의 논문은 행렬 곱셈 문제를 해결하는 데 중점을 두었습니다. 그들은 이 문제를 두 가지 방법으로 단순화했습니다. 첫째, 그들은 일정한 깊이, 즉 깊이 3에 대한 공식을 사용하여 표현합니다. 둘째, 그들은 각 변수의 최대 지수가 1인 간단한 구조의 공식만 고려했는데, 이는 원래 문제를 "다중 선형" 문제로 만듭니다.
컴퓨터 과학자들은 다항식 크기가 기하급수적으로 증가하는 대신(지수 증가율과 비교하여) 특정 문제가 상대적으로 단순한 집합 다중 선형 구조로 변환될 수 있음을 발견했습니다.
Nisan과 Wigderson은 나중에 행렬 곱셈 문제를 행렬이 커짐에 따라 해결하는 데 기하급수적인 시간이 걸린다는 사실을 보여주었습니다. 즉, 중요한 문제는 어렵다는 것을 보여주고, 어떤 종류의 문제는 어렵다는 것을 보여주려고 노력한다. 그러나 그 결과는 단순하고 집합적인 다중 선형 구조를 갖는 공식에만 적용됩니다.
Leslie Valiant
다항식의 깊이를 늘리면 크기가 감소하는 경향이 있습니다. 시간이 지남에 따라 컴퓨터 과학자들은 이 두 속성 간의 균형을 더욱 정확하게 만들었습니다. 그들은 깊이 3에 두 가지 깊이 수준을 추가하면 앙상블 다중선형 다항식이 앙상블 다중선형 구조의 크기 이득의 균형을 맞출 수 있음을 보여줍니다. 깊이 5의 구조화된 수식에 기하급수적인 시간이 걸리면 일반적이고 구조화되지 않은 특성의 깊이 3 수식도 마찬가지입니다.
Srikanth Srinivasan et al.의 새로운 연구에서는 행렬 곱셈 문제의 심층 5세트 다중선형 공식이 실제로 기하급수적인 속도로 증가한다는 것을 보여줍니다. 이는 일반적인 깊이 3 공식에도 기하급수적인 시간이 걸린다는 것을 의미합니다. 그런 다음 그들은 유사한 패턴이 모든 깊이(단지 3과 5가 아님)에 적용된다는 것을 보여주었습니다. 이 관계를 통해 그들은 동일한 문제에 대한 모든 깊이의 일반 공식의 크기가 문제의 크기에 따라 기하급수적으로 증가한다는 것을 보여주었습니다.
또한 깊이가 무엇이든 일정한 깊이를 갖는 공식으로 행렬 곱셈을 표현하는 것이 어렵다는 것을 보여줍니다.
이 연구의 결과는 산술 문제가 "어려운" 경우, 즉 상수 심도 공식으로 표현될 수 없는 경우에 대한 최초의 일반적인 이해를 제공합니다. 행렬 곱셈의 특정 문제는 VP 문제로 알려져 있습니다. 그리고 VP 문제는 일정한 깊이에 국한되지 않으면 상대적으로 쉬운 것으로 알려져 있는데, 일정한 깊이가 문제의 '난이도'의 원인인 것으로 밝혀졌다.
VNP 문제는 VP 문제보다 어렵나요? 새로운 결과는 이를 직접적으로 보여주지 않고 단지 일정한 깊이 공식이 어렵다는 것을 보여줍니다. 그러나 이는 VNP 문제가 VP 문제와 동일할 수 없음을 입증하는 데 있어 여전히 중요한 이정표입니다.
더 큰 P 대 NP 문제의 경우 언젠가 답을 찾을 수 있을 것이라는 점을 이제 더 낙관할 수 있습니다. 결국 어려운 문제를 해결하기 위해서는 먼저 어느 방향이 절망적인지 알아야 한다.
위 내용은 문제가 VPN 문제인지 어떻게 증명할 수 있나요? 컴퓨터 과학자들이 간단한 방법을 찾았습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











GEMM(일반 행렬 곱셈)은 많은 응용 프로그램과 알고리즘의 중요한 부분이며 컴퓨터 하드웨어 성능을 평가하는 중요한 지표 중 하나이기도 합니다. GEMM 구현에 대한 심층적인 연구와 최적화는 고성능 컴퓨팅과 소프트웨어와 하드웨어 시스템 간의 관계를 더 잘 이해하는 데 도움이 될 수 있습니다. 컴퓨터 과학에서 GEMM의 효과적인 최적화는 컴퓨팅 속도를 높이고 리소스를 절약할 수 있으며, 이는 컴퓨터 시스템의 전반적인 성능을 향상시키는 데 중요합니다. GEMM의 작동 원리와 최적화 방법에 대한 심층적인 이해는 현대 컴퓨팅 하드웨어의 잠재력을 더 잘 활용하고 다양하고 복잡한 컴퓨팅 작업에 대한 보다 효율적인 솔루션을 제공하는 데 도움이 될 것입니다. GEMM의 성능을 최적화하여

WORD는 워드를 사용하여 다양한 텍스트를 편집할 수 있는 강력한 워드 프로세서입니다. Excel 표에서는 덧셈, 뺄셈, 승수 계산 방법을 익혔습니다. 따라서 Word 표에서 숫자의 덧셈을 계산해야 한다면, 승수를 빼는 방법은 계산기로만 계산할 수 있나요? 대답은 물론 '아니요'입니다. WORD도 그렇게 할 수 있습니다. 오늘은 Word 문서에서 수식을 사용하여 표의 덧셈, 뺄셈, 곱셈, 나눗셈 등의 기본 연산을 계산하는 방법을 함께 배워보겠습니다. 그럼 오늘은 WORD 문서에서 덧셈, 뺄셈, 곱셈, 나눗셈을 계산하는 방법을 자세히 보여드리겠습니다. 1단계: WORD를 열고 툴바의 [삽입] 아래 [표]를 클릭한 후 드롭다운 메뉴에 표를 삽입합니다.

대규모 언어 모델(LLM)은 자연어 이해, 언어 생성, 복잡한 추론을 비롯한 여러 중요한 작업에서 강력한 기능을 입증했으며 사회에 지대한 영향을 미쳤습니다. 그러나 이러한 뛰어난 기능을 사용하려면 상당한 교육 리소스(왼쪽 참조)와 긴 추론 시간(오른쪽 참조)이 필요합니다. 따라서 연구자들은 효율성 문제를 해결하기 위한 효과적인 기술적 수단을 개발해야 합니다. 또한 그림의 오른쪽에서 볼 수 있듯이 Mistral-7B와 같은 일부 효율적인 LLM(LanguageModel)이 LLM의 설계 및 배포에 성공적으로 사용되었습니다. 이러한 효율적인 LLM은 LLaMA1-33B와 유사한 정확도를 유지하면서 추론 메모리를 크게 줄일 수 있습니다.

Python의 count() 함수를 사용하여 목록의 요소 수를 계산하려면 특정 코드 예제가 필요합니다. 강력하고 배우기 쉬운 프로그래밍 언어인 Python은 다양한 데이터 구조를 처리하기 위한 많은 내장 함수를 제공합니다. 그 중 하나는 목록의 요소 수를 계산하는 데 사용할 수 있는 count() 함수입니다. 이번 글에서는 count() 함수의 사용법을 자세히 설명하고 구체적인 코드 예시를 제공하겠습니다. count() 함수는 Python의 내장 함수로, 특정 값을 계산하는 데 사용됩니다.

소개 행렬식을 이용하여 삼각형의 면적을 계산하는 자바 프로그램은 세 꼭지점의 좌표를 주어 삼각형의 면적을 계산할 수 있는 간결하고 효율적인 프로그램이다. 이 프로그램은 Java에서 기본 산술 및 대수 계산을 사용하는 방법과 Scanner 클래스를 사용하여 사용자 입력을 읽는 방법을 보여주기 때문에 기하학을 배우거나 작업하는 모든 사람에게 유용합니다. 프로그램은 사용자에게 삼각형의 세 점 좌표를 묻는 메시지를 표시하고 이를 읽어 좌표 행렬의 행렬식을 계산하는 데 사용합니다. 행렬식의 절대값을 사용하여 면적이 항상 양수인지 확인한 다음 공식을 사용하여 삼각형의 면적을 계산하여 사용자에게 표시합니다. 이 프로그램은 다양한 형식의 입력을 받아들이거나 추가 계산을 수행하도록 쉽게 수정할 수 있으므로 기하학적 계산을 위한 다용도 도구가 됩니다. 행렬식의 순위

3nm 공정, H100을 능가하는 성능! 최근 외신 디지타임스는 엔비디아가 차세대 GPU인 B100(코드명 '블랙웰')을 인공지능(AI)과 고성능컴퓨팅(HPC) 애플리케이션용 제품으로 개발 중이라는 소식을 전했다. B100은 TSMC의 3nm 공정 공정과 더욱 복잡한 MCM(멀티 칩 모듈) 설계를 사용하며 2024년 4분기에 출시될 예정입니다. 인공지능 GPU 시장의 80% 이상을 독점하고 있는 엔비디아의 경우, B100을 이용해 철이 뜨거울 때 공격할 수 있고, 이번 AI 배치 물결에서 AMD, 인텔 등 도전자들을 더욱 공격할 수 있다. NVIDIA 추정에 따르면, 2027년까지 이 분야의 출력 가치는 대략적으로 도달할 것으로 예상됩니다.

두 개의 문자열 str_1과 str_2가 주어졌습니다. 목표는 재귀 프로시저를 사용하여 문자열 str1에서 하위 문자열 str2의 발생 횟수를 계산하는 것입니다. 재귀 함수는 정의 내에서 자신을 호출하는 함수입니다. str1이 "Iknowthatyouknowthatiknow"이고 str2가 "know"인 경우 발생 횟수는 -3입니다. 예를 들어 str1="TPisTPareTPamTP", str2="TP"를 입력하면 Countofoccurrencesofasubstringrecursi가 출력됩니다.

C#에는 많은 수학 함수가 포함된 Math 클래스 라이브러리가 있습니다. 여기에는 지정된 숫자의 거듭제곱을 계산하는 데 도움이 되는 거듭제곱을 계산하는 Math.Pow 함수가 포함됩니다. Math.Pow 함수의 사용법은 매우 간단합니다. 밑수와 지수만 지정하면 됩니다. 구문은 다음과 같습니다. Math.Pow(base,expont); 여기서 base는 밑수를 나타내고 지수는 지수를 나타냅니다. 이 함수는 double형 결과, 즉 거듭제곱 계산 결과를 반환합니다. 하자
