목록 업데이트 문제

List update problem

List Update 또는 List Access 문제온라인 알고리즘의 경쟁 분석 연구에 사용되는 단순한 모델입니다.항목 액세스 비용이 목록 선두와의 거리에 비례하는 일련의 항목(예: Linked List 및 액세스 요청 순서)을 고려할 때, 문제는 전체 액세스 비용을 최소화하도록 목록을 재정렬하는 전략을 고안하는 것이다.재주문은 언제든지 가능하지만 비용이 발생합니다.표준 모델에는 다음 두 가지 정렬 작업이 포함됩니다.

  • 현재 위치보다 이전 위치에 있는 항목에 대한 무료 이전.
  • 리스트내의 인접하는 2개의 아이템을 교환하기 위한 단위 코스트의 유상 이동.알고리즘의 성능은 다양한 적대적 모델 하에서의 공격자에 의한 요청 시퀀스의 구성에 따라 달라집니다.

이 문제의 온라인 알고리즘은 이전에 요청된 항목의 지식만을 바탕으로 요소를 재정렬하고 요구를 처리해야 합니다.따라서 그 전략은 첫 번째 요구를 처리하기 전에 요구 시퀀스 전체를 확인하고 완전한 전략을 고안하는 오프라인 알고리즘에 비해 최적의 비용이 들지 않을 수 있습니다.

이 문제는 본래의 용도와 함께 Burrows에 따른 글로벌 컨텍스트 및 압축성 개선 문제와 매우 유사하다고 제안되어 왔다.휠러 트랜스폼이 변환에 따라 파일은 로컬로 높은 빈도를 갖는 큰 영역을 갖는 경향이 있으며, 자주 발생하는 문자가 0으로 이동하거나 "목록"의 앞부분으로 이동하는 기술을 통해 압축 효율이 크게 향상됩니다.따라서 압축성을 개선하기 위해 Move-to-Front 및 주파수 카운트의 방법 및 변형은 종종 BWT 알고리즘을 따릅니다.

대항 모델

상대는 알고리즘 ALG의 요구 시퀀스 선택하는 엔티티입니다.ALG의 전략에 따라 \ 변경할 수 있는지 여부에 따라 적에게 다양한 파워를 부여하여 ALG의 성능을 평가합니다.

무감각한 상대는 ALG를 실행하기 전에 요청 시퀀스 구축해야 하며, OPT와 비교한 최적의 오프라인 가격 지불해야 합니다.

적응형 온라인 상대는 온라인 알고리즘의 이전 결과에 따라 다음 요청을 할 수 있지만, 요구에 대해 최적으로 온라인으로 지불합니다.

적응형 오프라인 상대는 온라인 알고리즘의 이전 결과에 따라 다음 요청을 할 수 있지만 최적의 오프라인 비용을 지불합니다.

오프라인 알고리즘

Optimal Offline Algorithm(OPT)의 정확한 성질에 대한 구체적인 지식 없이 많은 목록 업데이트 문제에 대한 경쟁 분석을 수행했습니다.O(n2l(l-1)!) 시간 및 O(l!) 공간에서 실행되는 알고리즘이 있습니다.n은 요청 시퀀스의 길이, l은 [1]목록의 길이입니다.요청 시퀀스 길이에 따라 가장 잘 알려진 최적의 오프라인 알고리즘은 2014년 [2]Dr. Srikrishnan Divakaran에 의해 발표된 O(l^2(l-1)!n) 시간에 실행됩니다.

일반적으로 최적의 알고리즘을 위해 유료 전환이 필요하다.a가 목록의 선두에 있는 리스트(a, b, c)와 요구 시퀀스 c, b, c, b를 검토합니다.무료 교환만 사용하는 최적의 오프라인 알고리즘은 9(3+3+2+1)의 비용이 드는 반면 유료 교환만 사용하는 최적의 오프라인 알고리즘은 8의 비용이 듭니다.따라서 우리는 최적의 오프라인 알고리즘을 위해 무료 트랜지션을 사용하는 것만으로 벗어날 수 없습니다.

최적의 목록 업데이트 문제는 (Ambühl ) 오류: target: CITRE 2000 (도움말에 의해 NP-hard로 입증되었다.

온라인 알고리즘

온라인 알고리즘 ALG는 어떤 입력에서도 OPT보다 적어도 c배 이상 성능이 나쁘면 경쟁률 c를 .즉, 모든 유한길이 요구 시퀀스\ G - . OPT 온라인 알고리즘은 결정론적이거나 랜덤화할 수 있으며, 이 경우 랜덤화가 무감각한 적에 대해 진정으로 도움이 된다는 것이 되었습니다.

결정론

대부분의 결정론적 알고리즘은 다음 3가지 알고리즘의 변형입니다.

MTF(앞으로 이동)
항목에 액세스한 후 다른 항목의 순서를 변경하지 않고 목록 맨 앞으로 이동합니다.
TRANS(트랜스포즈)
항목에 액세스한 후 직전 항목으로 바꿉니다.
FC(주파수)
각 항목에 대해 해당 항목에 대한 액세스 횟수의 빈도 카운트를 유지합니다. 요소에 액세스할 때 해당 빈도 카운트를 늘리고 빈도 내림차순으로 목록을 재정렬합니다.

이 모든 것이 자유 이행만을 사용하는 것에 주의해 주세요.TRANS와 FC는 모두 경쟁력이 없는 것으로 나타났습니다.잠재력 분석(Sleator & Tarjan 1985)을 사용한 고전적인 결과에서 MTF가 2-경쟁력임을 입증했다.증명에는 OPT에 대한 명확한 지식이 필요하지 않지만, 반대로 MTF와 OPT 목록에 있는 요소의 역순으로 발생하는 역전의 수가 계산된다.

모든 결정론적 알고리즘은 길이 l의 리스트에 대해 2- l +의 하한을 가집니다({}{l MTF는 실제로 최적의 결정론적 리스트 갱신 알고리즘입니다.결정론적 알고리즘의 경우 상대방이 스스로 결정론적 알고리즘의 복사본을 실행하여 가장 비참한 시퀀스를 미리 계산할 수 있기 때문에 상대편의 유형은 중요하지 않습니다.

랜덤화

다음의 간단한 랜덤화 알고리즘을 검토합니다.

조금
목록의 모든 항목에 대해 조금씩 유지합니다.모든 비트를 0 또는 1로 균일하고 랜덤하게 초기화합니다.항목에 액세스할 때 비트를 뒤집고 1인 경우 앞으로 이동하고, 그렇지 않은 경우 앞으로 이동하지 마십시오.

이 알고리즘은 거의 랜덤하지 않습니다. 모든 랜덤 선택은 실행 중이 아니라 초반에 이루어집니다.BIT는 결정론적 경계를 깨는 것으로 판명되었습니다.- 망각한 적에 대해서는 MTF보다 낫습니다.7/4 경쟁사입니다.BIT보다 성능이 뛰어난 랜덤화 알고리즘이 COMB 등 있습니다.Boris Teia는 임의의 랜덤 리스트 갱신 [3]알고리즘에 대해 1.5의 하한을 증명했습니다.

관련 문제

요소가 삽입 및 삭제될 수 있는 리스트업데이트 문제를 다이내믹리스트 업데이트 문제라고 부릅니다.이 문제는 리스트 요소에 대한 접근만 허용되는 스태틱리스트 업데이트 문제와는 다릅니다.2- l + 은 동적 모델에도 적용됩니다.

다른 비용 모델도 있습니다.통상적인 풀코스트 모델에서는 i 위치에 있는 요소에 대한 접근은 i 비용이 들지만, 마지막 비교는 어떤 알고리즘에서도 불가피하다. i-1 요소가 i를 가로막고 있다.부분 비용 모델에서는 요청 시퀀스 내의 요소 수에 합산된 이러한 최종 비교 비용은 무시됩니다.단일성 이외의 유료 트랜지션 비용은 Pd 모델을 사용합니다.

「 」를 참조해 주세요.

메모들

  1. ^ N. 라인골드와 J.웨스트브룩.목록 업데이트 및 페이징 규칙을 위한 최적의 오프라인 알고리즘입니다.테크니컬 리포트: 예일/DcS/TR-805, 예일 대학교, 뉴헤이븐, Conn, 1990년 8월
  2. ^ Divakaran, Srikrishnan (2014-04-30). "An Optimal Offline Algorithm for List Update". arXiv:1404.7638 [cs.DS].
  3. ^ Teia, Boris, 랜덤 리스트 갱신 알고리즘의 하한, Inf.과정.Let. (1993), 5-9페이지

레퍼런스

  • Ambühl, C. (2000), Offline list update is np-hard, Springer, pp. 42–51