把问题表示和问题求解区分开是有意义的。这类似于把数据结构和程序设计语言区分开来。程序设计语言是问题求解;数据结构是问题表示。一般来讲,常用的问题表示方法有状态空间表示法和问题归约表示法两种。
在状态空间表示法中,把问题表示为状态空间图,状态空间的节点代表状态,即问题求解过程中的不同阶段,比如逻辑推理的结果或者棋盘的不同格局。状态空间图中连接两节点的有向弧线代表问题求解过程中的状态转移。
问题归约表示法是从已知问题的描述出发,通过一系列变换或分解将问题分解为若干子问题,节点间的有向弧线表示问题归约,并形成问题归约空间。问题归约表示由一个初始问题描述,一套把问题变换为子问题的操作符和一套本原问题描述组成。问题归约的实质是从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把初始问题归约为一个平凡的本原问题集合。
此外还有定理证明法和博弈问题表示法。定理证明法包括基于归结的定理证明方法,基于表的推演方法,基于公理的系统,相继式演算方法,自然演绎法和扩展规则方法等。基于归结的定理证明方法一直是应用最为广泛的方法之一。博弈问题表示法常用对策树(或称博弈树)来表示,同一般与或树的主要差异表现为对策树既要反映两个问题求解者的共同行动,又只能从两个问题求解者的一方的立场对问题加以描述。