Best practices for managing content change requests?

Hi all!

I'm trying to improve our content change request process. We have 1,000+ pieces of content and a small writing staff. We're having challenges keeping up with demand. Essentially, we've created a tool that allows users to request changes to an article, a ticket is created, and then routed to our writing team.

We receive a change request when:

  • there's a product update
  • if a user, either an internal CS agent or customer, leaves feedback
  • an image becomes outdated
  • a…

Best practices for managing content change requests?

Principal variation search: how to keep track of the best move

I have a Java implementation of the Principal Variation Search algorithm, and it looks like that:

public final class PrincipalVariationSearchGameEngine          <S extends AbstractState<S, P>,          P extends Enum<P>>             extends AbstractGameEngine<S, P> {      public PrincipalVariationSearchGameEngine(             EvaluatorFunction<S> evaluatorFunction,             int depth) {         super(evaluatorFunction, depth, Integer.MAX_VALUE);     }      @Override     public S makePly(S state,                       P minimizingPlayer,                       P maximizingPlayer,                       P initialPlayer) {         state.setDepth(depth);          return makePlyImplTopmost(state,                                   depth,                                   Double.NEGATIVE_INFINITY,                                   Double.POSITIVE_INFINITY,                                   initialPlayer == minimizingPlayer ? -1 : 1);     }      /**      * Performs the search directly under the root node denoted by       * {@code state].      *       * @param state the root state of the game tree to search.      * @param depth the total depth of the search.      * @param alpha the alpha cutoff value.      * @param beta  the beta cutoff value.      * @param color the color. -1 for minimizing player, +1 for maximizing      *              player.      * @return the game board after optimal move from {@code state}.      */     private S makePlyImplTopmost(S state,                                  int depth,                                  double alpha,                                  double beta,                                  int color) {         boolean firstChild = true;         S bestState = null;         double tentativeScore = color == -1 ?                                 Double.POSITIVE_INFINITY :                                 Double.NEGATIVE_INFINITY;          for (S child : state.children()) {             double score;              if (firstChild) {                 firstChild = false;                 score = -makePlyImpl(child,                                       depth - 1,                                       -beta,                                       -alpha,                                      -color);                 bestState = child;                 tentativeScore = score;             } else {                 score = -makePlyImpl(child,                                       depth - 1,                                       -alpha - 1.0,                                       -alpha,                                      -color);                  if (color == -1) {                     if (tentativeScore > score) {                         tentativeScore = score;                         bestState = child;                     }                 } else {                     if (tentativeScore < score) {                         tentativeScore = score;                         bestState = child;                     }                 }                  if (alpha < score && score < beta) {                     score = -makePlyImpl(child,                                           depth - 1,                                          -beta,                                          -score,                                          -color);                      if (color == -1) {                         if (tentativeScore > score) {                             tentativeScore = score;                             bestState = child;                         }                     } else {                         if (tentativeScore < score) {                             tentativeScore = score;                             bestState = child;                         }                     }                 }             }              if (alpha < score) {                 alpha = score;             }              if (alpha >= beta) {                 break;             }         }          return bestState;     }      private double makePlyImpl(S state,                                int depth,                                double alpha,                                double beta,                                int color) {         if (state.getDepth() == 0                  || state.checkVictory() != null                 || state.isTerminal()) {             return color * evaluatorFunction.evaluate(state);         }          boolean firstChild = true;          for (S child : state.children()) {             double score;              if (firstChild) {                 firstChild = false;                 score = -makePlyImpl(child,                                       depth - 1,                                       -beta,                                       -alpha,                                      -color);             } else {                 score = -makePlyImpl(child,                                       depth - 1,                                       -alpha - 1.0,                                       -alpha,                                      -color);                  if (alpha < score && score < beta) {                     score = -makePlyImpl(child,                                           depth - 1,                                          -beta,                                          -score,                                          -color);                 }             }              alpha = Math.max(alpha, score);              if (alpha >= beta) {                 break;             }         }          return alpha;     } } 

This, however, does not work since it returns suboptimal (next) moves. I believe that the culprit is this if statement:

if (color == -1) {     if (tentativeScore > score) {         tentativeScore = score;         bestState = child;     } } else {     if (tentativeScore < score) {         tentativeScore = score;         bestState = child;     } } 

Looking for the best Auction script (Itechbids, Phpprobid,??)

I really need an auction script that can handle up to say 1mil users per day, and has 0 security holes.
I have been thinking between itechbids and phpprobid but I want to know if there is anything better?
I want to know that I could built an enterprise auction with this script and it will hold up perfectly fine.

Please give me all comments about auction scripts.
Thanks

Best tools to research youtube keywords?

Hey guys.

Sorry for the noob question, but what keyword tools do you suggest for researching yt keywords? Preferably free if they are good.

I've done some searches on google and yt but they all come up with paid tools which I'm not sure are that good anyway. I've seen one which is free but I'm not sure about it.

Oh and another question…what exactly does the ''competition'' number displayed mean? I don't understand it. I see keywords with hundreds of thousands of searches per month have…

Best tools to research youtube keywords?