12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { SatSolverA } from '../../../core/kursblockung/satsolver/SatSolverA';
- export declare class SatSolver3 extends SatSolverA {
- private static readonly MAX_LEARNED_CLAUSE_SIZE;
- private heap;
- private vSize;
- private vArrayPos;
- private vArrayNeg;
- private cSize;
- private learnClauseMin;
- /**
- * Konstruktor.
- */
- constructor();
- isVarTrue(pVar: number): boolean;
- createNewVar(): number;
- addClause(pVars: Array<number>): void;
- /**
- * Fügt der Datenstruktur eine 1-CNF-Klausel hinzu.
- *
- * @param x Das 1. Literal (Variablennummer) der Klausel.
- */
- private addClause1;
- /**
- * Fügt der Datenstruktur eine 2-CNF-Klausel hinzu.
- *
- * @param x Das 1. Literal (Variablennummer) der Klausel.
- * @param y Das 2. Literal (Variablennummer) der Klausel.
- */
- private addClause2;
- /**
- * Fügt der Datenstruktur eine 3-CNF-Klausel hinzu.
- *
- * @param x Das 1. Literal (Variablennummer) der Klausel.
- * @param y Das 2. Literal (Variablennummer) der Klausel.
- * @param z Das 3. Literal (Variablennummer) der Klausel.
- */
- private addClause3;
- getVarCount(): number;
- getClauseCount(): number;
- solve(pMaxTimeMillis: number): number;
- private learnClause;
- private simplify;
- private static fill;
- /**
- * Setzt die Variable {@code varP} auf TRUE und aktualisiert die gesamte Datenstruktur entsprechend.
- *
- * @param varP Die Variable, die auf TRUE gesetzt wird.
- */
- private unitpropagation;
- /**
- * Setzt die Variable {@code varP} von TRUE auf FREI und aktualisiert die gesamte Datenstruktur entsprechend.
- *
- * @param varP Die Variable, die von TRUE auf FREI gesetzt wird.
- */
- private unitpropagation_undo;
- /**
- * Eine Hilsmethode, die alle Klauseln der Liste aktualisiert.
- *
- * @param clauses Alle zu informmierenden Klausel.
- * @param pDeltaSat Die Veränderung der erfüllten Klauseln, relativ zum 1. Index im 2D-Array
- * {@link Variable#statSatFree}.
- * @param pDeltaFree Die Veränderung der freien Variablen, relativ zum 2. Index im 2D-Array
- * {@link Variable#statSatFree}.
- */
- private unitpropagationHelper;
- /**
- * Liefert das zugehörige Variablenobjekt.
- *
- * @param pNr Der Variablennummer.
- *
- * @return Das zugehörige Variablenobjekt.
- */
- private getVarOf;
- isTranspiledInstanceOf(name: string): boolean;
- }
- export declare function cast_de_nrw_schule_svws_core_kursblockung_satsolver_SatSolver3(obj: unknown): SatSolver3;
|